目录
布局
Windows集中式安装
假设与要求
在Windows上安装
安装VS代码
安装VS代码扩展
在Windows上设置Python开发环境
安装Python
创建一个虚拟环境
创建项目和设置VS Code
配置Linting,类型检查等
测试与调试
通过SSH在Linux上设置Python开发环境
步骤1:在Windows 10主机上安装OpenSSH客户端
步骤2:设定SSH Key
步骤3:连接到远程Linux主机
步骤4:设置项目
通过SSH在Raspberry Pi上设置Python开发环境
下载并安装Visual Studio Code –Insiders
使用WSL设置Python开发环境
步骤1:启用和安装WSL
步骤2:创建虚拟环境和项目
步骤3:从VS Code连接到WSL
步骤4:设置项目
结论
多年来,Visual Studio Code(VS Code)一直是我最喜欢的编辑器。通过Microsoft和社区的活动增强,VS Code已发展到一个整体水平。随着远程开发扩展的发布,现在我可以将VS Code用于各种环境下的日常工作和开源项目。本文是针对Python开发的VS Code设置的简短教程——我每天使用的设置。如果有人碰巧希望将VS Code用于Python开发,那么希望本文可以节省该人的时间。VS Code有大量文档。访问此链接以获取更多详细信息。
布局本教程使用一个简单的Python项目来演示Windows 10上的Python开发,Linux的Windows子系统,远程Linux和Raspberry Pi上的Raspbian的VS Code设置。
Python项目具有以下布局:
project
|-- mathlib
| |-- __init__.py
| |-- compute.py
|-- test_compute.py
并且compute.py和test_compute.py的内容是:
compute.py
def inc(value: int) -> int:
"""Return the number increased by one."""
return value + 1
def dec(value: int) -> int:
"""Return the number decreased by one."""
return value - 1
test_compute.py
from mathlib import compute
def test_int():
assert compute.inc(value=5) == 6
def test_dec():
assert compute.dec(value=5) == 4
Windows集中式安装
尽管VS Code可以在不同的平台(例如Linux和MacOS)上运行,但是本教程使用Windows 10作为运行VS Code的主要位置。
本教程中使用的软件是:
- 带有扩展的Visual Studio代码1.37
- Python 2019.8.30787
- 远程开发版0.16.0
- Python 3.7
- Windows 10 1903
- Ubuntu 18.04(用于WSL和远程Linux)
- Raspbian在Raspberry Pi 3 B +上
典型的Python开发包括虚拟环境,检查,测试和调试。本教程使用:
- venv用于创建虚拟环境
- pytest进行单元测试
- Pylint用于检查
- mypy用于类型检查
- pydocstyle用于文档样式检查
- pep8编码样式检查
VS Code的Python扩展支持所有检查器。有关检查的更多详细信息,请参见此处。
在Windows上安装由于Windows 10是本教程中运行的主机VS Code,因此我们需要在Windows主机上安装VS Code。
安装VS代码- 从此处下载VS代码。在编写教程时,最新版本是1.37。
- 双击下载二进制文件VSCodeUserSetup-x64-1.37.1.exe进行安装。
VS Code有成千上万的扩展;Python和远程开发扩展是在Windows和远程平台上进行Python开发的最低要求。
- 启动VS Code。
- 单击扩展程序图标
或键入
Ctrl+Shift+X
以打开扩展程序窗口。 - 在搜索栏上,键入Python并安装它。
- 在搜索栏上,键入Remote Development并安装它。远程开发扩展还安装了Remote –Containers,Remote – SSH,Remote – SSH:编辑配置文件,Remote – SSH:Explore和Remote – WSL。
安装后,VS Code应该如下所示:
要在Windows上运行Python代码,我们需要安装Python。
安装Python可以通过1. Microsoft Store或2. Python官方网站来安装Python。按照说明进行安装。撰写本文时,最新的稳定版本是3.7.4。
创建一个虚拟环境假设我们使用C:\Workspace作为本教程的工作空间,并且working_environment
是我们的虚拟环境。
cd C:\Workspace
C:\Workspace>python -m venv working_environment
创建项目和设置VS Code
现在,我们准备使用VS Code创建项目。
步骤1:启动VS Code
第2步:文件->打开文件夹
步骤3:在C:\Workspace\下创建一个名为project的新文件夹。
步骤4:添加布局所示的文件夹和文件,如下所示:
添加Python文件后,VS Code会自动检测Python环境。默认情况下,它选择系统之一。
它还可能会检测到未安装的内容,例如pylint
和pytest
。
现在不要理会它们,因为我们不想将它们安装到系统Python解释器中。
步骤5:我们要使用我们为此项目创建的虚拟环境,working_environment
。为此,我们需要告诉VS Code虚拟环境的路径。
- 文件->首选项->设置
- 类型
venv path
在顶部的搜索栏 - 添加C:\Workspace
第6步:单击Python解释器图标以选择working_environment
。working_environment
现在应该可用。
a、点击图标:
b、选择working_environment
:
注意:如果未显示,则可能需要重新启动VS Code。
有关Python虚拟环境的更多详细信息,请参见此处。
配置Linting,类型检查等默认情况下,在VS Code中为Python启用了Pylint
功能,但VS Code支持许多其他的检查器。本节演示了我每天使用的一些检查设置。
- 文件->首选项->设置,然后在顶部搜索栏输入linting。将会出现许多检查器选项。
启用并安装pydocstyle
- 选中
pydocstyle
选项框。
- 一旦我们选中该框,就会弹出一个安装选项。单击它进行安装
pydocstyle
。
- 如果我们要为
pydocstyle
添加非默认选项,请点击添加项目按钮。
添加我们想要的参数。例如,如果我们要使用numpy样式,请添加--convention=numpy
。
- 然后单击确定按钮。它看起来像:
注意:pydocstyle
的完整参数可以在http://www.pydocstyle.org/en/4.0.0/usage.html#command-line-interface上找到。
启用并安装mypy
- 选中
mypy
选项框。
- 安装
mypy
。
启用并安装pep8
执行与上一步相同的操作来启用和安装pep8
。
- 选中
pep8
选项框。
- 安装
pep8
。
注意:所有检查器都安装在working_environment
。
带有Linting的VS Code的更多详细信息可以在这里找到。
测试与调试对于测试和调试的设置,VS Code具有非常全面的文档:
- 测试:https://code.visualstudio.com/docs/python/testing
- 调试:https://code.visualstudio.com/docs/python/debugging
现在,我们应该为使用VS Code的Python项目提供一个工作环境。
VS Code Remote – SSH扩展使我们可以在运行SSH服务器的远程计算机上打开远程文件夹,并充分利用VS Code的优势,例如自动完成,调试和启动。
假设:本部分假设我们具有启用了SSH的远程Linux(Ubuntu 18.04)。
步骤1:在Windows 10主机上安装OpenSSH客户端要安装OpenSSH,请执行以下操作:
设置->应用程序->应用程序和功能->可选功能->可选功能->添加功能(如果尚未安装OpenSSH客户端)。找到OpenSSH客户端并单击''安装''。安装完成后,它应如下所示:
有关OpenSSH的更多选项,请参见此处。
步骤2:设定SSH Key在Windows 10主机上,启动命令提示符并执行以下步骤:
- 生成SSH密钥对。并接受所有默认值。
C:\Users\user> ssh-keygen -t rsa -b 4096
- 将本地公共密钥(id_rsa.pub)的内容添加到SSH主机(即,远程Linux)上的相应authorized_keys文件中。
C:\Users\user> SET REMOTEHOST=your-user-name-on-host@host-fqdn-or-ip-goes-here
- 将本地公钥复制到远程Linux。
C:\Users\user> scp %USERPROFILE%\.ssh\id_rsa.pub
%REMOTEHOST%:~/tmp.pubssh %REMOTEHOST% "mkdir -p ~/.ssh &&
chmod 700 ~/.ssh && cat ~/tmp.pub >> ~/.ssh/authorized_keys &&
chmod 600 ~/.ssh/authorized_keys && rm -f ~/tmp.pub"
步骤3:连接到远程Linux主机
- 在Windows 10上启动VS Code
- 单击远程开发图标,然后单击配置SSH主机。或键入Ctrl + Shift + P启动命令面板,然后键入Remote-SSH:连接到主机…,然后选择配置SSH主机…。
- 选择适当的配置 文件。它可能看起来像 C:\Users\user\.ssh\config。
- 通过添加Linux主机信息来编辑配置文件。该配置可能如下所示:
- 单击远程计算机的名称(在本示例中,其名称为
remote-ubuntu
)以连接到远程计算机。
- VS Code的新窗口将打开,并要求用户输入密码。
- 一旦建立连接。图标
将显示。
- 在远程Linux上安装Python扩展。Python扩展已安装在Windows主机上,但是为了提供VS Code提供的所有Python功能,我们需要在远程Linux上安装Python扩展。
1、单击扩展程序图标。它应该显示如下图所示:
底部部分指示在本地计算机上安装的扩展,在此示例中为Windows 10。顶部部分指示安装在远程计算机(在这种情况下为Ubuntu 18.04)上的扩展。现在,远程计算机没有安装任何扩展名。
2、要安装Python扩展,请点击安装按钮。
3、安装完成后,扩展窗口将变为:
在远程Linux上
现在,我们可以在远程Linux上创建虚拟环境和Python项目。
- SSH到远程Linux机器。
- 创建一个工作区文件夹:
$ mkdir workspace
$ cd workspace/
- 创建一个虚拟环境
working_environment
:
$ python3.7 -m venv working_environment
- 创建一个项目文件夹:
$ mkdir project
在Windows主机上
- 如果我们尝试通过File-> Open Folder打开一个文件夹。它将显示远程Linux上的文件系统。选择上面创建的项目文件夹。
- 重复本节中提到的步骤:创建项目和设置VS Code。注意:我们为Windows更改的设置是针对每个用户的。在这里,我们应该更改Remote的设置。
现在,VS Code应该可以在远程Linux机器上进行Python开发了。
可以在此处找到使用VS Code进行远程开发的更多详细信息。
通过SSH在Raspberry Pi上设置Python开发环境Raspberry Pi上的远程开发设置与常规Linux(例如Ubuntu)相同。但是,当前VS Code的远程开发不支持ARM体系结构。Raspberry Pi 3是ARM体系结构。因此,要在Raspberry Pi上通过SSH进行远程开发,我们需要使用Visual Studio Code – Insiders。
下载并安装Visual Studio Code –Insiders- 从https://code.visualstudio.com/insiders/下载VS Code – Insiders
- 按照说明安装VS Code – Insiders
一旦安装了VS Code – Insiders。请遵循通过SSH在Linux上设置Python开发环境中提到的步骤。步骤是相同的。唯一的区别是远程Linux机器在Raspberry Pi上成为Raspbian。
使用Raspberry Pi的VS Code– Insiders的用户体验与远程Linux的VS Code完全相同。
适用于Linux的Windows子系统为开发人员提供了直接在Windows上使用Linux环境的经验,而无需使用虚拟机。通过VS Code的远程开发扩展,我们可以享受VS Code的全部功能,并在Windows上开发,运行和调试基于Linux的应用程序。
请按照说明启用和安装WSL: https://docs.microsoft.com/en-us/windows/wsl/install-win10
步骤2:创建虚拟环境和项目在WSL命令行中,发出以下命令:
- 创建一个工作区:
$ mkdir workspace
$ cd workspace
- 创建一个虚拟环境
working_environment
:
$ python3.7 -m venv working_environment
- 创建一个项目文件夹:
$ mkdir project
步骤3:从VS Code连接到WSL
- 启动VS Code。
- 键入Ctrl + Shift + P启动命令面板,然后键入Remote-WSL:New Window。
- 选择Remote-WSL:New Window后,将显示一个新的VS Code窗口并连接到WSL。在左下方,此图标
表示VS Code已连接到WSL。
- 在WSL上安装Python扩展。与远程SSH相同,我们需要在WSL上安装Python扩展。单击按钮进行安装。
一旦VS Code连接到WSL,我们应该能够在为Windows和远程Linux设置项目时设置Python项目。
- 打开项目文件夹。
- 重复本节中提到的步骤:创建项目和设置VS代码。
注意:与远程SSH相同,对于WSL,我们应该在远程[WSL:Ubuntu-18.04]下更改设置。
现在,VS Code应该可以使用WSL进行Python开发了。
使用WSL进行远程开发的更多详细信息可以在这里找到。
结论VS Code具有高度的可扩展性,并可以通过扩展和设置进行配置,因此开发人员可以通过扩展来添加功能,并配置VS Code以增强我们的工作流程。除了Python和远程开发扩展之外,以下是我认为有用并每天使用的扩展列表。
- Bookmarks有助于导航代码。
- Bracket Pair Colorizer突出显示匹配的内容。
- Code Spell Checker检查源代码的拼写。
- GitLens提供无缝导航和浏览Git存储库。
- Settings Sync使用GitHub帐户令牌和Gist来同步VS Code设置。
- Visual Studio IntelliCode为Python提供了AI辅助的开发功能。
尽管本教程使用Windows 10作为VS Code的主机,但是VS Code可以在Linux和Mac上安装和运行。本文中描述的设置可以应用于Linux和Mac。希望您发现本文很有用。