如何通过Remote-SSH插件使用VisualStudioCode进行远程开发

来自菜鸟教程
跳转至:导航、​搜索

介绍

Visual Studio Code 是面向开发人员的流行集成开发环境 (IDE)。 其丰富的插件选择、最小的设计和跨平台支持使其成为所有级别开发人员的绝佳选择。 本教程重点介绍使用 Remote-SSH 插件来启用远程软件开发。 使用此插件,您可以在本地工作站上编辑文件,但在远程服务器上运行开发任务,例如程序执行、单元测试或静态分析。

这可能对您有益的原因有很多。 例如,您可能有一台 Windows 工作站并想在 Windows 上进行开发,但您的代码最终将在 Linux 上运行。 您可能需要比当前机器可用的更多 RAM 或处理能力,或者由于公司政策或希望保持工作站原始状态,您希望将代码保留在个人机器之外。

在本教程中,您将启用 Remote-SSH 插件,配置 Visual Studio Code 以在远程服务器上执行代码,并在远程服务器上执行本地 Visual Studio Code 安装中的代码。

先决条件

为了遵循本指南,您需要:

  • 运行 Windows、MacOSX 或 Linux 的本地开发机器。 本教程不适用于 ChromeOS 设备。
  • Visual Studio Code,可以从【X64X】官网【X85X】下载安装。
  • 生成的 SSH 密钥对: 如果您使用的是 macOS 或 Linux,您可以按照如何在 Ubuntu 20.04 上设置 SSH 密钥中的第 1 步进行操作。 命令是相同的,所以不用担心教程说它适用于 Ubuntu 18.04。 如果您使用的是 Windows,请按照教程如何在 Windows 上使用 PuTTY 创建 SSH 密钥来创建您的 SSH 密钥。 如果您使用的是 DigitalOcean,您可以按照如何将 SSH 公钥上传到 DigitalOcean 帐户指南进行操作。
  • 按照 Ubuntu 18.04 初始服务器设置指南 设置一台 Ubuntu 18.04 服务器,包括启用非 root sudo 的用户和防火墙。

第 1 步 — 安装 Remote-SSH 插件

Extensions Marketplace 是您可以下载各种不同工具和编程语言的受支持和第三方扩展的地方。 您将在此处搜索 Remote-SSH 插件并进行安装。

在 IDE 的左侧有一行垂直的五个图标。 底部的图标,看起来像一个盒子里的四个正方形,右上角的正方形爆炸了,是扩展市场的图标:

您也可以通过按 Ctrl+Shift+X 访问此部分。 当您打开此页面时,您将看到建议的插件下载和安装。

打开扩展市场后,在市场 搜索栏中的 搜索扩展中键入 Remote-SSH。 找到插件后,选择它,然后单击绿色的 Install 按钮安装扩展。

现在已安装扩展程序。 接下来,您将配置扩展,以便您可以连接到您的服务器。

第 2 步 — 配置 Remote-SSH 插件并连接到您的服务器

现在您已经安装了插件,您可以将其配置为连接到服务器。 为此,您需要以下信息:

  • 服务器的 IP 或主机名。
  • 您将连接的用户名。
  • 您将用于验证用户身份的私钥。

你将使用此信息创建一个 SSH 配置文件,Visual Studio Code 可以使用该文件通过 SSH 连接到服务器以同步文件并代表你执行代码。 您将使用 Visual Studio Code 创建此配置。

现在您已经安装了 Remote-SSH 插件,您将在 Visual Studio Code 界面的左下角看到一个绿色小框。 如果您将鼠标指针悬停在该框上,弹出窗口将显示 Open a remote window。 按钮看起来像一个大于号,略低于小于号 >< ,如下图所示:

单击该按钮,顶部中心会出现一个对话框。 从列表中选择 Remote-SSH: Open Configuration File…

下一个提示将询问您要打开哪个配置文件。 如果您使用的是 Windows,您将看到两个位置:一个位于您的个人用户目录中,另一个位于 SSH 的安装位置。 配置服务器时,您应该使用用户目录中的文件。

选择文件,您的编辑器将打开 config 文件。 将以下代码添加到文件中以定义与您的服务器的连接,将突出显示的部分替换为您的服务器的信息:

配置

Host my_remote_server
    HostName your_server_ip_or_hostname
    User sammy
    IdentityFile /location/of/your/private/key

以下是此配置文件的工作方式:

  • Host:指定主机的名称。 这允许您在连接到服务器时使用短名称或缩写,而不是完整的 IP 地址或主机名。
  • HostName:服务器的实际主机名,可以是 IP 地址,也可以是完全限定的域名。
  • User:你想用来连接的用户。
  • IdentityFile:SSH 私钥的路径。 在 Mac 和 Linux 系统上,您会在您的主目录中的一个隐藏的 .ssh 目录中找到它,通常称为 id_rsa。 如果您在 Windows 上,您将在使用 putty-gen 创建此文件时指定保存该文件的位置。

在文件中指定适当的值并保存文件。

Visual Studio Code 现在已配置并准备好连接到您的服务器。 点击左下角绿色的 Open a remote window 按钮并选择 Remote-SSH: Connect to Host...

完成此操作后,所有可用和配置的服务器将出现在下拉菜单中。 从此列表中选择要连接的服务器。

如果这是您第一次从您的计算机连接到此服务器,您可能会收到 SSH 指纹验证对话框的提示,如下图所示:

这是为了确保您真正连接到您认为的服务器。 您可以通过手动登录到您的服务器并运行 ssh-keygen -l -f /etc/ssh/ssh_host_key.pub 来查看服务器的指纹来验证这一点。 如果此指纹与 Visual Studio Code 中呈现给您的指纹相同,那么您确实正在连接到您认为的服务器,因此您可以单击 继续

Visual Studio Code 默认在建立新连接时打开一个新窗口。 将出现一个带有欢迎屏幕的新窗口。 如果您在左下角的绿色框中看到 SSH: your_ip_address_or_hostname ,则表明您的连接成功。 这意味着 Visual Studio Code 已连接并与您的远程服务器通信。

现在您已连接,您可以从编辑器运行命令和代码。

第 3 步 — 在远程服务器上执行代码

Remote-SSH 插件已配置,是时候在远程机器上运行一些代码了。 通过从 Visual Studio 窗口顶部的导航栏中选择 Terminal 并单击 New Terminal 打开终端窗口。 您也可以通过按 CTRL+Shift+` 打开终端。 打开的终端是远程服务器上的终端,而不是本地机器上的终端。

终端打开后,发出以下命令以查看服务器的 IP 地址,以验证您是否已连接到远程服务器:

ip addr

您将在终端中看到以下输出:

Output1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 16:cb:05:5b:30:f1 brd ff:ff:ff:ff:ff:ff
    inet your_server_ip brd your_broadcast_address scope global eth0
       valid_lft forever preferred_lft forever
    ...

要测试运行远程代码的能力,请在编辑器中创建一个名为 hello.py 的新 Python 文件。 当您连接到远程服务器时,通过 Visual Studio Code 创建的所有文件都将保存到该服务器,而不是本地计算机上。

将以下内容添加到文件中:

你好.py

print("Hello Sammy!")

要在您的服务器上运行此程序,请从导航菜单或按按键序列 CTRL+Shift+` 在 Visual Studio Code 中打开一个终端。 由于此终端会话已连接到您的远程服务器,请在终端中运行以下命令来执行您的 hello.py 程序:

python3 hello.py

将显示您的程序的输出。

您还可以通过选择 Run without DebuggingDebug 上下文菜单执行文件。

注意:如果您在 Visual Studio Code 中安装了任何开发扩展,例如 Python 扩展,则必须通过扩展市场在您的服务器上重新安装这些扩展。 如果您之前在 Visual Studio Code 中安装了这些插件,当您再次搜索它们时,市场会显示 Install on SSH: hostname。 始终注意您所处的开发环境,因为这是 Visual Studio Code 安装插件和创建文件的地方。 如果您尝试在未安装这些插件的情况下运行代码,屏幕右下角将出现错误对话框,提示您将它们安装到远程服务器上。 安装这些后,它们可能会要求您重新加载 Visual Studio Code。 当您重新启动它时,它将继续在远程服务器上工作,而无需您手动重新连接。


结论

您现在已为使用 SSH 在远程服务器上的开发配置了 Visual Studio Code。 使用 IDE 进行远程执行提供了许多好处,包括能够快速测试您的代码在不同操作系统和不同硬件规格上的运行方式。 只要您有互联网连接,您就可以连接到您的服务器并从任何计算机上处理您的代码,即使您将 Windows 作为主要操作系统,您也可以使用 Linux 环境进行开发。