在VS Code中进行远程Python开发

今天在PyCon 2019大会上,微软的Python和Visual Studio Code团队宣布了在Visual Studio Code中进行远程开发这一功能,这让Visual Studio Code开发者可以远程地在运行在docker容器、远程SSH主机和Linux的Windows 子系统中的开发设置环境中运行他们的代码和工具,而你仍然可以在本地获得丰富和无缝的用户体验。

这项支持目前在Visual Studio Code内部构建版本中是可用的,并由Visual Studio Code市场中的三个新远程扩展启用:

  • Remote-Containers: 在本地docker容器内运行的工作区中进行开发
  • Remote-SSH: 通过一个SSH连接来在运行在远程主机上的工作区中进行开发
  • Remote-WSL: 在Windows中的Linux子系统内运行的工作区中进行开发

要开始下载这个远程扩展包,请查看Visual Studio Code Remote文档,然后立即开始! 快速查看下面的视频进行浏览,并继续阅读了解更多!

能够使用WSL和远程Python解释器一直是我们的Python Extension GitHub页面上请求最多的特性。我们从Python用户那里听说了许多需要在远程工作区中工作的不同原因: 在使用SSH的情况下,他们的代码需要访问大量数据、计算、GPU或其他资源; 使用Docker时,他们需要能够在具有复杂依赖关系的开发环境之间进行创建和切换; 使用WSL时,他们可能需要只适用于Linux环境的工具和包。

通过远程开发,我们已经使用远程Python解释器和其他工具启用了所有这些场景及其他场景: Visual Studio Code的UI运行在你的本地机器上,并连接到一个远程托管你扩展的远程服务器。这也启用了自动补全、调试、终端、源代码控制、安装扩展等功能,几乎Visual Studio Code中的所有内容都可以在远程机器上无缝运行,你就像在本地开发工作区工作一样。

远程Docker工作区和Dev容器

Docker容器是创建可重用开发环境的一种流行方法,你无需在本地机器上安装复杂的依赖项。这还允许新的团队成员通过安装docker并在Visual Studio Code中打开你的工作区来复制你的环境。

“Remote - Containers”扩展允许Visual Studio Code使用dev容器的概念在此开发环境中无缝运行。Dev容器由一个.devcontainer文件夹中的文件定义,它会告诉Visual Studio Code如何为该工作区创建一个Docker环境。你可以使用一个Dockerfile来创建一个单个容器或一个运行多个容器的docker-compose.yml。

要开始在docker容器中进行开发,请运行Remote-Containers: Open Folder in Containers…命令,然后浏览到本地机器上的一个文件夹。如果在工作区根目录中找到一个.devcontainer文件夹,Visual Studio Code将使用现有的dev容器定义来创建该dev容器。

如果容器定义不存在,系统将提示你为该工作区创建一个新的dev容器。我们为Python开发人员提供了内置定义,让你可以从Python 2/3、Python3+Postgres、Miniconda和Anaconda开始:

在VS Code中进行远程Python开发

一旦你打开一个dev容器,Visual Studio Code将创建该docker镜像,然后安装一个轻量级远程服务器,瞧,你现在就可以在dev容器中编码了! 远程服务器允许Visual Studio Code远程地运行扩展,这样几乎所有的功能都会像在本地环境中一样工作。

你的文件是以卷挂载到容器中的,所以你可以打开文件,开始编辑代码,并获得智能感知和自动完成:

在VS Code中进行远程Python开发

你可以开始调试,设置断点,并逐步运行代码:

在VS Code中进行远程Python开发

你可以在Python互动窗口中运行单元格和查看图形输出:

在VS Code中进行远程Python开发

并且当你打开终端时,你使用的是容器内的终端!

在VS Code中进行远程Python开发

除了创建和使用dev容器定义,你还可以使用Docker扩展,并在一个容器上右击,选择Attach Visual Studio Code来将Visual Studio Code附加到任何运行的docker容器上:

在VS Code中进行远程Python开发

当附加到一个现有容器时,你可能会丢失Visual Studio Code使用的一些依赖项,因此如果你遇到问题,请检查我们的vscode-dev-containers 仓库中的示例容器定义,以便将依赖项添加到你的Dockerfile。

如果你想返回到正常的本地视图,你可以运行Remote-Containers: Reopen Folder Locally命令。你的所有更改都将通过一个卷挂载驱动器保存到你的工作区,因此可以在本地视图中使用。

远程 SSH 工作区

Python开发人员的另一个常见设置是,他们的开发环境运行在远程机器上,这通常是因为远程机器可以访问本地机器上不可用的资源或数据集。与docker场景类似,你可以使用“Remote-SSH”扩展在一个SSH连接上打开远程工作区。

开始之前,首先确保你可以从命令行ssh到远程机器,然后运行Remote-SSH: New Window命令,并输入你的目标ssh主机:

在VS Code中进行远程Python开发

如果你配置了SSH主机,它们将随时在远程SSH活动栏可用,以便轻松连接:

在VS Code中进行远程Python开发

Visual Studio Code将重新打开,然后在SSH主机上安装远程服务器。然后,你可以在这个远程机器上打开一个文件夹:

在VS Code中进行远程Python开发

然后你就可以立即开始编辑和调试代码了! 在这种情况下,任何源代码都不需要是本地的,所有编辑和调试功能都由远程服务器提供。

在VS Code中进行远程Python开发

远程WSL 工作区

Linux的Windows子系统允许你运行Windows中运行的本机Linux bash shell,类似于其他场景。“Remote-WSL”扩展允许Visual Studio Code UI在你的windows桌面运行,而Visual Studio Code 远程服务器则在Linux子系统中运行扩展。

要开始使用Remote WSL,请运行Remote-WSL: New Window命令:

在VS Code中进行远程Python开发

然后,它将安装Visual Studio Code远程服务器,并为你提供一个运行在WSL上下文中的新的Visual Studio Code窗口。

你可以点击Open Folder...,它会允许你在这个Linux文件系统中打开一个文件夹:

在VS Code中进行远程Python开发

或者,你可以通过从wsl提示符输入“code-insiders .”命令来直接在WSL中打开一个文件夹。

然后,你就可以像在其他远程开发环境中一样来创建文件、编辑代码、打开WSL终端和进行调试:

在VS Code中进行远程Python开发

现在开始吧

我们对这次更新为Python开发人员在Visual Studio Code中解锁的功能感到兴奋,要使用这些功能,请查看Visual Studio Code Remote文档,并/或试用我们的一些示例应用程序:

  • Python hello world 示例
  • 推特应用程序: Django + Postgres
  • Anaconda 容器

请记得在我们的vscode-remote-release GitHub页面上提交问题,让我们知道关于远程扩展的任何问题或反馈。

注:我这有个学习Python基地,里面有很多学习资料,感兴趣的+Q群:895817687

你可能感兴趣的:(在VS Code中进行远程Python开发)