本期是小白向配置教程,大佬们请转身。
安装 Python 插件
需要安装的插件ID是 ms-python.python
。
为了防止小白弄不清楚,我放的是插件ID,不是名字,在 VSCode 插件中心搜索就行了。
配置 pythonPath
VSCode 依赖于本地的命令行工具来运行 python代码。
Ctrl+Shift+P
打开命令面板,搜索 Preferences: Open Settings(JSON)
,进 settings.json
添加配置项,添加这样一条:
"python.pythonPath": "python",
对于部分 Linux 和 macOS 用户来说,python
在系统中一般内置,且是 2.x
的版本。你们如果自己安装了 python3,则应该改成这样子: "python.pythonPath": "python3"
。
你也可以使用更加详细的路径,比如:
"python.pythonPath": "/usr/local/bin/python3", //linux or mac
有时候我们可能会为项目创建独立的虚拟环境,参考virtualenv,这个时候也需要把这里的路径改成虚拟环境的 Python解释器
的路径。
添加代码补全功能
网上很多人推荐Visual Studio IntelliCode插件。
这个插件还可用于Python, TypeScript/JavaScript, Java等等的代码智能补全。
但是,因为它是基于深度学习的一个项目,所以有时候你打开项目之后,它会去下载一个训练好的模型,这段时间你的自动补全基本就废掉了,所以我不推荐使用。
还是去 settings.json
里面配置一下。
"python.languageServer": "Jedi",
代码规范化
为了拥有风格统一的代码,我们肯定需要使用一些插件来约束我们写代码,比如,当出现一些不符合规范的代码的时候能够提醒我们。
甚至再往上,能够自动修复我们写的不规范的代码。
安装 pylint
,根据你的系统自己选择该运行哪一个:
pip install pylint
pip3 install pylint
pylint
有一套自己的命令行工具和 python库,具体请到pylint官网学习,可以让你自定义更多的代码规范规则。没特殊需求使用默认配置就行。
还有一个地方需要注意,确保 settings.json
中的 linting.enabled
开启。一般默认是 true,但如果发现自己在执行了上面步骤后没有代码规范检查,可以去 settings.json
中添加:
"python.linting.enabled": true,
代码格式化
一般是和代码规范化一起工作的。
我们使用 VSCode 自带的格式化工具就行了,还是打开 settings.json
:
"python.formatting.provider": "yapf",
"python.formatting.yapfPath": "yapf",
现在,使用 Shift+Alt+F
(Windows) | Option+Shift+F
(macOS) | Ctrl+Shift+L
(Ubuntu) 就可以格式化我们的代码了。
自动修复
前面我们稍微提了一下自动修复。
VSCode 默认是按 Ctrl+S
保存文件,这个是可以改的。
还是打开 settings.json
:
"files.autoSave": "afterDelay",
"files.autoSaveDelay": 1000,
"[python]":{
"editor.formatOnSave": true,
"editor.formatOnPaste": true
},
我们分开来讲讲怎么做的。
首先,我们通过设置了 files.autoSave
来改变默认的保存文件行为,afterDelay
代表每过一段时间保存一次。
files.autoSaveDelay
代表了每过 1000ms 保存一次,你可以根据需求自行调节。
因为时间比较短,一般 1000ms 你已经感受不到了,会觉得就是自动保存。
[python]
这个选项代表下面的配置仅仅针对 Python 生效。
-
editor.formatOnSave
代表了在文件保存的时候进行一次格式化。 -
editor.formatOnPaste
代表了你从其他地方粘贴的代码在粘贴到 VSCode 的时候自动格式化。
怎么样,VSCode 最大的乐趣就在于有很大的 DIY 的可能。
调试
调试非常简单,只要按一下 F5
就好了,然后会跳出来这个界面:
一般选Python File
就好了,意思是运行当前的那个文件。
其他的模式请参考 python debugging、Django、Flask。
如果你不希望每次运行都要选择一遍,可以配置一下。
下面有一个不起眼的选项 create a launch.json file
。
点击创建launch,这是系统默认生成的配置:
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal"
}
]
这里对可以写在 ${}
里面的一些奇怪变量做一下说明。
-
workspaceFolder
- vscode中打开的文件夹的路径 -
workspaceRootFolderName
- vscode中打开的文件夹的名字 -
file
- 正在打开编辑的文件的绝对路径 -
fileBasename
- 正在打开编辑的文件的名字 -
fileBasenameNoExtension
- 正在打开编辑的文件的名字(无扩展名)
这些是常用的,还有一些不常用的,less is more,先了解这么点就够了,其他的一般用不到。
Jupyter支持
VSCode
自带 jupyter notebooks扩展
,可以直接打开 .ipynb
。而且比 原生jupyter
要强大许多,你有足够的理由选择 VSCode
,而不是不 原生jupyter
。
它比 原生jupyter
强在:
- 智能补全比原生jupyter好。
- 支持.ipynb转换成.py文件。
- 查看内核中的变量。
虽然,这些 原生jupyter
也可以通过安装 nbextensions插件
来获得支持。