连接并使用 JetBrains Gateway
您可以使用 SSH 连接连接远程服务器来开发、运行和部署项目。
先决条件
在远程主机上开始开发之前,请确保您具备以下条件:
远程机器(IDE 的目标)满足 IDE 文章中提到的最低推荐要求。
您已在 Linux 平台上安装了兼容的 SSH 服务器。
Linux 平台使用的是最新的 Linux AMD64 发行版,如 Ubuntu 16.04+、RHEL/Centos 7+ 等。 我们建议使用具有 2 个以上核心、4GB 以上内存和 5GB 以上磁盘空间的机器。
远程主机上需要启用 sftp 子系统。 当前实现中,我们使用它来进行后端部署。
JetBrains Gateway
JetBrains Gateway 是一个轻量级启动器,可将远程服务器连接到本地计算机,在后端下载必要组件,并在 JetBrains Client 中打开项目。
您可以将 JetBrains Gateway 用作独立启动器,或作为从 IDE 连接远程服务器的入口。
启动 JetBrains Gateway 并连接到远程服务器
使用 安装方案之一打开 远程开发 向导。
在 SSH 连接提供程序下点击 新建连接。

在向导的下一页,指定用于连接远程服务器的 SSH 配置。

或者,点击
打开 SSH 配置 对话框并配置 SSH 设置。
在 SSH 配置 对话框中,添加以下信息:

主机 :指定远程服务器的地址。
端口 :指定 SSH 端口,默认为
22。用户名 :指定用于连接远程服务器的用户名。
身份验证类型 :选择以下身份验证方式之一:
测试连接 :单击此按钮可查看连接是否已建立。
连接参数 :使用此部分配置连接的其他参数。
如需详细信息,请参阅 连接参数。
HTTP/SOCKS 代理 :使用此部分配置代理设置。 如需详细信息,请参阅 代理设置。
单击 确定 以保存更改并返回 欢迎使用 JetBrains Gateway 对话框。
单击 检查连接并继续 检查连接是否已建立。
在下一页中,指定要下载到远程服务器的 WebStorm 版本。 JetBrains Gateway 会显示可供下载及已安装的 IDE 版本列表。
您还可以使用“其他选项”设置 IDE 安装程序 的备用来源。
下载到本地计算机的 JetBrains Client 版本始终与远程 IDE 版本保持一致。

默认情况下,下载的 WebStorm 位于远程服务器的以下文件夹中: ~/.cache/JetBrains/RemoteDev/dist 。 不过,您可以通过以下步骤更改该位置,并将 WebStorm 安装到自定义路径中:
单击 其他选项 并选择 自定义安装路径 选项。
在 安装路径 字段中添加安装所需的位置。
添加远程主机上项目的路径。

单击 上传IDE 并连接。
JetBrains Gateway 将下载 IDE 并在 JetBrains Client 中打开远程项目。 连接信息显示在 JetBrains Gateway 窗口中,您可以在此连接其他 IDE 或禁用当前连接。 该窗口默认隐藏至托盘。

项目打开前,您可以覆盖 -Xmx 后端的 VM 选项。
覆盖 -Xmx 虚拟机选项
启动 JetBrains Gateway。
按照向导中的步骤操作。 单击 检查连接并继续。
在打开的页面中, IDE 版本 字段下点击 安装选项。
在下拉列表中选择 自定义堆大小。
在 最大堆大小 字段中根据需要覆盖默认堆大小。
请注意,此字段只能包含数字,且不得超过
INT_MAX值。完成配置后,点击 下载 IDE 并连接 启动项目。
打开最近的项目
在 JetBrains Gateway 向导中,从左侧选项中选择 SSH。
在搜索字段中输入项目名称以快速定位。

如需快速访问终端,请单击
。
更改后端版本
在 JetBrains Gateway 向导中,点击最近项目名称旁的
,然后选择要用于打开项目的后端版本。
如果在列表中找不到所需版本,请点击 选择其他 IDE ,然后在 IDE 版本 字段中选择所需的 IDE 版本。

停止运行中的实例
在 JetBrains Gateway 向导中,从左侧选项中选择 SSH。
当远程会话处于活动状态时, 运行中 指示器会显示在项目旁。
点击项目旁边的
并选择 停止 IDE 后端 以停止该项目的远程会话。

您也可以选择 从最近项目中移除 ,将该项目从页面中完全移除。
卸载后端 IDE 版本
在 JetBrains Gateway 向导中,点击远程服务器名称旁的
,并选择 管理 IDE 后端 以打开已安装的 IDE 版本列表。
在打开的窗口中,点击需要卸载的后端 IDE 版本旁边的
,然后点击 是 以确认操作。
连接到在远程 IDE 中手动启动的远程项目(服务器到客户端流程)
如果远程服务器上已安装 WebStorm,您可以手动启动并连接到该 IDE 中启动的远程项目。 其工作方式与通过 JetBrains Gateway 一样。
如果您的公司拥有自定义编排方案,或远程 IDE 会自动启动,请使用此方法。
此过程可描述如下:
在远程 IDE 中启动后端项目。
选择后端生成的某个连接链接。
在本地计算机上打开该链接。
用于运行远程 IDE 的主脚本为 remote-dev-server.sh ,位于解压后的 IDE 的 bin 子目录中。
连接到远程 IDE
请确保已 下载并安装 JetBrains Gateway ,或在本地计算机上安装包含 JetBrains Gateway 插件的 IDE。
请确保已通过 SSH 使用 WebStorm 连接到了远程计算机。
在远程服务器的终端中运行以下命令:
remote-dev-server.sh run /path_to_project/ --ssh-link-host host_server_address --ssh-link-user remote_side_user --ssh-link-port ssh_connection_port请查看以下示例:
如果您未传入参数,脚本将使用默认值:端口号为 22、系统用户名以及
hostname命令中的主机名。~/WS-213.5744.37/bin/remote-dev-server.sh run ~/home/opc/MySimpleApp/ --ssh-link-host ec2-13-50-136-85.eu-north-1.compute.amazonaws.com如果项目启动成功,终端将输出以下 3 个链接:
加入链接:tcp://127.0.0.1:5990...[ ] :包含远程 IDE 当前监听的本地地址和端口。
示例:
tcp://127.0.0.1:5991#jt=71e779a1-070e-4fd3-a4e6-83c1f8cb65a5&p=IU&fp=A42F6041C2878D7A22339ECABF4A9C294F643BG05E91E3DFC06035E03DB71BF8&cb=222.4167.29&jb=17.0.4b469.53要使用此功能,请确保远程主机可通过此本地地址访问。 例如,对于端口已转发或打开的 Docker 内部 IDE。
HTTP 链接:https://code-with-me.jetbrains.com/remoteDev...[ ] :包含有关主机、端口、用户,IDE 及其版本的信息。
示例:
https://code-with-me.jetbrains.com/remoteDev#idePath=%2Fhome%2Fubuntu%2F.cache%2FJetBrains%2FRemoteDev%2Fdist%2F3e4cd27bfbb95_ideaIU-2022.2.2&projectPath=%2Fhome%2Fubuntu%2Fdevelopment%2Fspring-petclinic&host=ec2-xx-xx-xxx-xx.eu-north-1.compute.amazonaws.com&port=22&user=ubuntu&type=ssh&deploy=false在本地浏览器中打开该链接时,将显示欢迎页面,并尝试使用预填充的连接设置值调用本地 Gateway 应用程序。
如果本地计算机上未找到 JetBrains Gateway 应用程序,您将可以从欢迎页面下载。
Gateway 链接:jetbrains-gateway://connect#idePath... [ ] :也包含有关主机、端口、用户、IDE 及其版本的信息。
示例:
jetbrains-gateway://connect#idePath=%2Fhome%2Fubuntu%2F.cache%2FJetBrains%2FRemoteDev%2Fdist%2F3e4cd27bfbb95_ideaIU-2022.2.2&projectPath=%2Fhome%2Fubuntu%2Fdevelopment%2Fspring-petclinic&host=ec2-xx-xx-xxx-xx.eu-north-1.compute.amazonaws.com&port=22&user=ubuntu&type=ssh&deploy=false在本地浏览器中打开该链接时,将直接启动本地 JetBrains Gateway 应用程序,而不会显示欢迎页面。
复制生成的链接并粘贴到本地浏览器中,以便其能 打开 JetBrains Gateway。
所有这些链接也可以在已启动的 JetBrains Gateway 中打开。
为此,请在 JetBrains Gateway 欢迎界面中,将链接粘贴到 连接到正在运行的 IDE 字段中,然后点击 连接。
WebStorm 将下载所需版本的 JetBrains Client 并在其中打开远程项目。
注册之前安装的远程 IDE
从版本 221.5481 开始,您可以手动注册远程服务器上的现有后端 IDE,并使其对 Gateway 可见。
要注册已安装的 IDE 并使其显示在可用构建列表中,请按照以下步骤操作:
通过 SSH 连接到远程服务器。
找到已解压的 IDE 文件夹并打开
bin目录。使用命令行运行以下命令:
remote-dev-server.sh registerBackendLocationForGateway示例:
sh WebStorm-221.5591.52/bin/remote-dev-server.sh registerBackendLocationForGateway
连接到 Google Cloud
您可以使用 JetBrains Gateway 连接到 Google Cloud,以处理远程项目。
在连接到 Google Cloud 之前,请确保已完成以下操作:
设置 Cloud Workstations 配置文件和集群(由您或管理员完成)
已创建工作站
已访问工作站
Cloud Workstations 插件可让您连接工作站并在 WebStorm 中进行操作。
连接到 Google Cloud 中的工作站
从左侧选项中选择 所有提供方。
在 安装更多提供方 部分中,找到 Google Cloud 并点击 安装。

插件安装完成后,您可在 远程运行 IDE 部分找到该插件。
在左侧选项中找到 云工作站 并点击 连接到 Google Cloud。
在打开的窗口中,选择所需的工作站并点击 下一步。

在下一页面中,选择您在配置文件中指定为代码提供者的 IDE 版本以及要处理的项目。
连接建立后,包含项目的工作站将在 JetBrains Client 中打开,您可以在 IDE 内继续操作。
连接到 Gitpod
JetBrains Gateway 支持与 Gitpod 的集成,后者是一个用于自动开发环境的开源编排和配置平台。
Gitpod 以插件形式集成在 JetBrains Gateway 中,您可以使用该插件连接到现有 Gitpod 工作区或创建新工作区并在 WebStorm 中进行操作。
连接到 Gitpod 上的工作空间
从左侧选项中选择 远程开发。
在 安装更多提供方 部分中,找到 Gitpod 并点击 安装。
插件安装完成后,您可以在 远程开发 节点下以及 安装更多提供方 部分中找到该插件。
在右侧选项中找到 Gitpod 并点击 连接到 Gitpod。 。

。
在打开的窗口中,选择您要使用的 IDE。
点击 新建工作区。
JetBrains Gateway 将在浏览器中连接到您的 Gitpod 工作区。 Gitpod 会准备工作区并显示一条通知,提示将在 JetBrains Client 中打开该工作区。

在身份验证对话框中点击 允许 ,然后点击 是。
连接建立后,包含项目的工作区将在 JetBrains Client 中打开,您可以在 IDE 内继续操作。
创建的工作区将添加到 最近的工作区 部分。 如果已有工作区,它们将被添加到最近使用的工作区列表中,您可随时点击其中的 连接 连接所需工作区。
如果您希望直接从 Gitpod 连接到 JetBrains Gateway,请参阅 Gitpod 文档。
连接到 Coder
您可以使用 JetBrains Gateway 连接到 Coder ,以处理远程项目。
Coder 以插件形式集成在 JetBrains Gateway 中,您可以使用该插件连接到已有环境或创建新环境并在 WebStorm 中进行操作。
连接到 Coder 工作空间
点击屏幕底部的
,然后选择 管理提供方。
在打开的页面中,切换至 Marketplace 标签,找到 Coder, 安装并启用该插件。
插件将被添加到 连接 列表中。
从左侧的选项中选择 所有提供方。
确保已在 Coder 中配置工作区,并复制访问 URL。

在 JetBrains Gateway 中,单击 连接到 Coder。
在向导的下一页面中,在 URL 字段粘贴 已复制的 URL ,然后点击 连接。

从浏览器中复制会话令牌,并粘贴到 JetBrains Gateway 的 会话令牌 字段中。

单击 确定。
验证完成后,您将看到已配置的工作区列表,选择所需项并点击 选择 IDE 和项目。
在向导的下一页面中,选择所需的 IDE,并在工作区中指定项目路径。 如果需要使用工作区终端,请点击 使用终端。

选择完成后,点击 启动 IDE 并连接。
已选择的项目将在 JetBrains Client 中打开 Coder 开发环境,您可在 IDE 中继续开发工作。
连接到 JetBrains CodeCanvas
JetBrains CodeCanvas 是一款解决方案,帮助企业将软件开发从本地用户机器迁移到远程开发环境。
您可以使用 JetBrains Gateway 连接 CodeCanvas 来开发远程项目。 或者,您也可以从 CodeCanvas 端进行连接,并在 JetBrains Client 中打开项目。
JetBrains CodeCanvas 可通过 JetBrains Gateway 中的 CodeCanvas 插件使用,借助该插件,您可以连接已有环境或创建新环境,并在 WebStorm 中使用。
连接到 Code Canvas 开发环境
CodeCanvas 插件默认启用。
从左侧选项中选择 所有提供方。

在 JetBrains Gateway 中,点击 连接到 CodeCanvas。
在向导的下一页面中,输入访问 URL 并单击 在浏览器中继续。
在打开的浏览器窗口中,点击 接受 以授予所需权限。 如果您尚未登录 CodeCanvas Web 应用程序,则系统还会提示您输入用户名和密码。 随后您将被重定向回 JetBrains Gateway。
点击 新建环境 并配置新的开发环境(如果项目已有所需的开发环境,可跳过此步骤):
选择要用于开发环境的 模板。
环境名称 会自动选择。
选择所需的分支及可用的预热快照。
点击 创建环境。

创建开发环境后,您的项目将在 JetBrains Client 中打开,您可以开始编码。
在 JetBrains Gateway 欢迎界面的 连接 节点下选择 JetBrains CodeCanvas ,以查看已有开发环境列表。

连接到在 WSL2 上运行的项目
您可以配置 IDE 后端直接在 WSL2 中启动。
开始连接到 WSL 之前,请确保满足以下先决条件:
您的计算机已安装 Windows 10 或 11,并在 WSL2 下安装了 Ubuntu 20.04。
您已在 Windows 计算机上完成 WSL2 配置。 有关详细信息,请参阅 WSL2 配置 部分。
您有至少 200 GB 可用空间、8 GB 内存和 4 个 CPU。
您使用的是最新的 JetBrains Gateway EAP 构建版本。
您使用的是后端 IDE 的最新 EAP 版本。
连接到 WSL
在 所有提供方 列表中选择 WSL。
从右侧选项中点击 新建连接。

在下一页面中,选择 WSL 实例并点击 下一步。

在下一页面中,选择 IDE 版本以及要打开的项目。 点击 启动 IDE 并连接。
连接建立后,后端 IDE 被下载,项目在 JetBrains Client 中打开。