VS code 使用记录
Windows 机器配置 VS code + Remote Development 使用远程 linux 服务器
疫情在家里,需要使用远程的服务器,之前一直使用 putty, 但比较麻烦,后来 hangc 推荐使用 Xshell, 好用了一点。
目前 windows 下也有自带的 power shell 可以使用,比 cmd 要好不少。
lis 推荐了 VS code 的远程连接。去年九月份尝试过一直没成功,看别人的博客,发现不太对。
这次重新试了下,使用 Remote Development 插件,一共包含三个,比较全。
碰到的问题:vs code remote development 过程试图写入的管道不存在
一直卡在这个问题,后来又试了几次,VS code 下载了一个 vs-code-server.tar.gz 包,然后远程传上到服务器,然后安装,然后就成功了。
2020.12.15 换了新的电脑 HUAWEI MateBook14 重新调整使用 VS code 远程功能:
- 打开 windows setting 可选功能,发现 openssh 已经存在
- 注意远程服务器可能需要连接外网自动下载一下软件包,然后在 VS code 里面连接就成功了。
- 这一次没有自己手动下载 vs-code-server.tar.gz, 可能是上次已经安装过了。
- 换用组里的 8卡P40, 使用 vs-coder 连接,发现会自动下载安装 vs-code-server.tar.gz
下面是一些使用事项记录。
VS code 的一些功能
-
TODO list (高亮 TODO list) https://blog.csdn.net/Redase/article/details/82146264
-
VS code 注释的快捷键:“Ctrl + /”和“Alt+Shift+A”。 https://www.php.cn/tool/vscode/460457.html
- 单行注释,使用 “Ctrl + /”,或者先按“CTRL+K”,再按“CTRL+U”;
- 块注释,使用“Alt+Shift+A”。
-
VS code 设置代码选中高亮
File >Preferences> settings
在search settings中输入 workbench.colorCustomizations, 打开编辑文件{ "workbench.colorCustomizations": { "editor.selectionHighlightBackground": "#00aeff" } }
- 还有另外一种方案:使用 highlight-icemode 插件,安装好后,重启即可 http://www.bubuko.com/infodetail-3271565.html
如何让 Visual Studio Code 打开文件始终在新标签页打开
https://blog.csdn.net/s_lisheng/article/details/80513811
-
有一个默认设定,单击一个右侧侧边栏的文件是预览模式,如果不输入任何任何文本就始终保持预览模式。
-
预览模式是打开一个新文件,然后再打开一个新文件,第二个就会占用第一个窗口。详细信息可以查看:https://code.visualstudio.com/docs/getstarted/userinterface#_preview-mode
-
在设置文件里设置 workbench.editor.enablePreview 为 false 即可。
VS Code 对比 Spyder
-
用 VS code 写 python 能像在 spyder一样在 ipython 中交互么?
解决办法:VS code 也可以安装 ipython 插件来实现 交互式操作 https://www.zhihu.com/question/317776923
-
VS code 代码检查的错误提示不够明显, 没有 Spyder 明显。
比如有时候,打错了变量名,未定义的变量,居然不提示,有时候运算符敲错了也不提示,或者只有一个小红色下划线,不够明显。
解决办法:安装 Error Lens 以及 Error Gutters 插件 https://segmentfault.com/q/1010000022452765
![](https://img2020.cnblogs.com/blog/1296703/202011/1296703-20201124214424996-141549084.png)
变得非常明显!
- VS code python 交互式界面 https://blog.csdn.net/haoran_yang/article/details/102591072
VS code 查找和替换字符串功能
-
Ctrl + F 后点一下向下的箭头,变为替换功能 https://www.php.cn/tool/vscode/438405.html
-
光标左击选中某个变量,然后CTRL+Shift+L 选中所有的目标变量,同时编辑多处。https://blog.csdn.net/woshidamimi0/article/details/84560982
有点类似 matlab 同时替换所有对应的变量名
VS code 对比两个文件 (diff 功能) https://www.jianshu.com/p/a428d6efd1fb
- 直接在文件树上右键compare file就好了。
VS code python 语言下的 Debug Console 具有非常强大的功能
+ 断点调试 -- 这个技能后续要学 https://www.zhihu.com/question/392235410/answer/1200733174
VS code 当连接远程服务器时,语法检查用的是 pylinter,发现居然报如下错误:
似乎有一个快捷键,可以逐条跳转到报语法错误的地方,然后上下翻动,逐条修改。不知道此快捷键是啥
刚开始还以为是 pytorch 版本换了,把这些函数接口都换掉了,后来才发现是 pylinter 不支持 pytorch 导致的结果
https://blog.csdn.net/weixin_40304882/article/details/105135535
https://www.jianshu.com/p/5ddeacb62296
https://github.com/microsoft/vscode-python/issues/5635 按照此指示切换为 flake8, 但提示我在远程服务器上安装 flake8,
conda install --name Pytorch1.3 flake8 -y
非常奇怪,我还以为是调用本地的 flake8? 但最后没有安装成功 flake8。。
但我之前跑 GCN 的代码居然没有发现这一个问题,奇怪!
VS code 远程使用时,需要在远程也安装一下 python extension 插件,以便使得 VScode 支持 python 语言,然后再选择 python 解释器。
切换文件夹或者工程目录后,这一个过程又需要重新来一遍。 注意到 pylint 语法检查也是用的远程的 python extension, 因为 vs code 连接上远程后,打开的都是远程的东西。
https://blog.csdn.net/hhy_csdn/article/details/110309288
VS code 断开远程连接后,修改了本地的 vs code 缓存的文件,发现无法保存,而且居然也无法进行重新连接。
这种情况下,先把修改的文件保存到本地的 txt 中,然后重新打开 vs code, 然后连接远程服务器,然后再把文件粘贴回来。
VS code 的 Jupyter
文档:
- https://cloud.tencent.com/developer/article/1527151
- https://code.visualstudio.com/docs/python/jupyter-support
功能:
- 交互式 ipython 的功能,非常不错,感觉挺好用的,还可以切换到浏览器进行运行。
- 可以用来进行画图,以及进行 debug.
当使用 SSH 连接远程服务器之后,Jupyter Server: local 这里的 "local" 其实指代的当前远程的服务器的 "local",并不是这个笔记本电脑,例如从下面可见。
当前的这个笔记本电脑反倒成了"远程的"。
(base) ➜ 2020.12.16noisy_label jupyter notebook list
Currently running servers:
http://localhost:8889/?token=93bc3fd2971ab9cbed114f038b37a437a63fe05f2f286cbc :: /home/xxx/2020.12.16noisy_label
http://localhost:8888/?token=7b8645f4b11dd3fd42708a3ad997483c977d5ab491f9f391 :: /home/xxx/2020.12.16noisy_label
这个在 P40 上运行的的 Jupyter 也可以在当前的笔记本电脑的浏览器中打开,VS code 会有提示说可以在浏览器中打开。
使用 Ctrl + shift + P 输入 Jupyter: Specify local or remote Jupyter server for connections 可以选择服务器:
VS code 内部自动连接 jupyter notebook 太难用了,动不动就连不上,断联。以后还是用浏览器打开 jupyter notebook。
先用命令行终端,cd 到某一个位置(不一定是整个项目的位置,可以是子目录的位置),然后 jupyter notebook 打开一个 jupyter notebook kernel, 然后点击链接,用浏览器打开。
而不要在 VS code 里面打开这个 jupyter notebook, 然后再打开特定的 .ipynb 文件。
jupyter notebook list # 显示正在运行的 notebook 的 token
刚刚在用 VS Code中 jupyter 编辑一段代码,运行后错误提示里显示行号,但在段落里没有。
原来有个简单的方法就可以解决在 VS Code 中使用Jupyter Notebook遇到报错后无法显示行号问题。
可使用点击ESC进入命令模式,再按 L键 显示行号。https://blog.csdn.net/m0_46497042/article/details/106302872
VS code 主题设置 https://www.v2ex.com/amp/t/672954
VS code 快捷键:
- https://www.cnblogs.com/simadi/p/11970540.html ctrl +B, ctrl + `
- https://www.cnblogs.com/schut/p/10461840.html
- 官方指南:https://code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf
- https://www.jianshu.com/p/512dde9376da
- 快速跳转到某一行: Ctrl G
VS code 免密登录
参考
- https://blog.csdn.net/qq_41554005/article/details/103103443
- https://www.pianshen.com/article/12941229948/
VS code 修改运行文件的工作目录
不同于 Spyder 在每一次点击运行按钮来运行新文件时都会弹出提示框,VS code 默认使用选中的整个目录作为工作目录,就有可能会导致抱错,提示脚本中所要调用的文件找不到。
这时候需要用 CTRL +` 打开终端后,手动使用 cd 命令切换到对应的目录,然后进行运行。