这两天,写了个小小的 Python 代码,基本功能实现了,需要完善一下的时候,突然想起来,VS Code 那么好用,应该也支持 Python 吧,我就不用在命令行用 vim 写那么辛苦了,主要是对中文字符的渲染不好看。

没想到,相当尴尬了,用 VS Code 打开以后,无法识别我在项目文件夹设置的 virtualenv 环境。而 Python 扩展的官方帮助赫然写着是支持的。介绍的设置方法什么的,完全都是扯淡,毫无帮助,还说会什么自动识别之类的,都是不起作用的。想起来了著名的直升机飞行员笑话。

最后,救世主还是 SO(StackOverflow),只有一个 老哥提到了一句 ,在用 VS Code 打开一个文件夹的时候,就创建了一个 Workspace ,然后,你的目录下多了一个隐藏目录 .vscode ,这个目录里有一个 settings.json 文件,这个文件里,设定了一个 Workspace 级别的配置。

如果你使用 ⌘ + ⇧ + P 来设置 Python: Select Interpreter 的时候,是无论如何都没法发现你的项目目录下的 bin 目录的。这就很尴尬了。所以,方法是直接在 Workspace 的 settings.json 中,手动编辑加入使用的解释器路径:

{
    "python.linting.pylintEnabled": true,
    "python.linting.enabled": true,
    "python.pythonPath": "./bin/python3.7"
}

然后,重启 VS Code,就可以发现完全兼容了现在这个项目目录下的 virtualenv 环境了。又可以愉快的 Python 了。

我解释一下,我一般是进入一个项目目录,然后执行 virtualenv . ,这个项目目录会变成一个 virtualenv 环境,只会影响这一个项目,不会影响别的项目,这样我可以在每个不同的项目里,使用不同的 Python 环境。这会在项目根目录下多出来一些目录,bin,include,lib 等,加入到 .gitignore 文件就好了。

相关文章