VS code 使用记录

Windows 机器配置 VS code + Remote Development 使用远程 linux 服务器

疫情在家里,需要使用远程的服务器,之前一直使用 putty, 但比较麻烦,后来 hangc 推荐使用 Xshell, 好用了一点。
目前 windows 下也有自带的 power shell 可以使用,比 cmd 要好不少。

lis 推荐了 VS code 的远程连接。去年九月份尝试过一直没成功,看别人的博客,发现不太对。
这次重新试了下,使用 Remote Development 插件,一共包含三个,比较全。

主要参考 博客-VScode Remote 远程开发与调试

碰到的问题:vs code remote development 过程试图写入的管道不存在

一直卡在这个问题,后来又试了几次,VS code 下载了一个 vs-code-server.tar.gz 包,然后远程传上到服务器,然后安装,然后就成功了。


2020.12.15 换了新的电脑 HUAWEI MateBook14 重新调整使用 VS code 远程功能:

  1. 打开 windows setting 可选功能,发现 openssh 已经存在
  2. 注意远程服务器可能需要连接外网自动下载一下软件包,然后在 VS code 里面连接就成功了。
  3. 这一次没有自己手动下载 vs-code-server.tar.gz, 可能是上次已经安装过了。
  4. 换用组里的 8卡P40, 使用 vs-coder 连接,发现会自动下载安装 vs-code-server.tar.gz

下面是一些使用事项记录。

VS code 的一些功能

如何让 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 查找和替换字符串功能

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

文档:

功能:

  • 交互式 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 快捷键:

VS code 免密登录

参考

VS code 修改运行文件的工作目录

不同于 Spyder 在每一次点击运行按钮来运行新文件时都会弹出提示框,VS code 默认使用选中的整个目录作为工作目录,就有可能会导致抱错,提示脚本中所要调用的文件找不到。
这时候需要用 CTRL +` 打开终端后,手动使用 cd 命令切换到对应的目录,然后进行运行。

posted @ 2020-04-29 21:34  Gelthin  阅读(787)  评论(0编辑  收藏  举报