VS Code

发布于 2020 年 09 月 27 日 | 更新于 2021 年 12 月 29 日

命令行指令

code .用VSCode打开当前文件夹

快捷键

Ctrl+Shift+PF1打开命令面板,可以快速找到很多设置选项

查找文件:Ctrl + PCtrl + E

Ctrl+k Ctrl+r打开快捷键文档(keyboard shortcuts reference)

插件

主题相关

代码相关

版本控制

配置

C/C++编译器安装

Windows下推荐配置WSL2环境,方便快捷BUG少

win10环境下的编译器以要装MinGW-W64,装MinGW的话可能无法在vscode终端进行输入输出。(bug: mingw-w64的gdb无法按下标打印vector容器的元素值。输入p vec[i]会直接退出gdb )

MinGW和MinGW-W64的关系

VSCode配置MinGW官方文档

SSH远程开发

安装Remote-SSH插件

第一次连接(或VSCode更新后?)会自动下载服务器端所需的文件,如果服务器没网,会自动在本地下载然后scp传到服务器

离线安装服务器端文件:Using “Remote SSH” in VSCode on a target machine that only allows inbound SSH connections

有些插件需要安装在服务器端才会起作用,比如python。离线安装插件:

  1. 先在本地安装插件,找到本地插件目录~/.vscode/extensions
  2. 将本地插件的文件夹直接复制到服务器的/home/zhn/.vscode-server/extensions目录下
  3. 重启VS Code?

Pylint报错have no member

https://github.com/pytorch/pytorch/issues/701

虽然会报错,但是可以执行

VS Code配置文件中添加如下代码:

"python.linting.pylintArgs": [
	"--errors-only", // 这句与该问题无关,只是顺便关掉一些pep8警告
	"--generated-members=torch.*" // 主要是这句
]

*也可以禁用pylint,改用pylance

Pylint报错: Value ‘***’ is unsubscriptable (unsubscriptable-object)

https://github.com/PyCQA/pylint/issues/3882#issuecomment-786194897

更新pylint到2.7.0及以上版本

VS Code启动终端时,不要自动激活conda:

设置->搜索python.terminal.activateEnvironment->关闭

快捷键设置

函数参数提示

设置wrap(自动换行)

设置编辑器内自动换行:"editor.wordWrap": "on"

设置output内容自动换行:

// set “output” window wrap
"[Log]": {
    "editor.wordWrap": "on"
}

自定义语义高亮

doc

打开命令面板Command PaletteF1Ctrl+Shift+P),输入Developer: Inspect Editor Tokens and Scopes,查看各个符号(Tokens)的的渲染信息,有如下关键项:

根据格式:"[semantic token type].[modifiers]:[language]": "#RGB",写到主题(One Dark Pro)的rules

"editor.semanticTokenColorCustomizations": {
    "[One Dark Pro]": {
        "enabled": true,
        "rules": {
            "variable": "#ABB2BF", // One Dark Pro's default text color
            "parameter": "#a0c77f",
            "selfParameter": "#E5C07B",
            "*.typeHint:python": "#5500aa",
        }
	}
},

插件配置

Pylance

通过pip install安装的本地包可能会报错(找不到包

解决方案:在settings.json中指定包的安装路径,如下

// .vscode/settings.json
"python.analysis.extraPaths": [
    "/home/zhn/anaconda3/envs/1_torch1.7/lib/python3.8/site-packages"
]

参考:【Python】VS Code导入本地工具包和消除Import [module] could not be resolved in Pylance

括号对着色

启用:"editor.bracketPairColorization.enabled": true (after the 1.60 update)

editor.guide.bracketPairs:括号对引导线(?

Bracket pair colorization 10,000x faster