远程开发概述
远程开发允许您使用远程机器、开发容器、WSL 或各种提供商来检出和加载您的项目,进行索引、分析、构建、运行、调试和测试代码。
通过远程开发,您可以执行以下操作:
在与本地运行的操作系统不同的操作系统上编辑、构建或调试应用程序。
使用比本地机器更大或更强大的硬件进行开发。
使用笔记本电脑作为瘦客户端,无需在本地机器上托管源代码。
随时随地工作,同时敏感信息仅托管在公司的服务器上。
连接
远程主机是托管源代码并运行前端 IDE 的物理或虚拟机器。 您连接到后端,该后端透明地提供对所有 IDE 功能的完全访问。
可以通过多种场景建立与远程机器的连接:
SSH 连接
从本地机器通过 SSH 连接到远程服务器,或反之亦然(从服务器上已安装的 IDE 连接到本地机器)。
您可以使用以下几种方法:
JetBrains Toolbox 应用 :支持在 Linux、macOS 和 Windows 上的连接。 有关更多信息,请参阅 Toolbox App 页面。
PhpStorm :从 PhpStorm 欢迎界面连接到您的远程项目。 更多信息请参阅 从 PhpStorm 连接到远程服务器。
JetBrains Gateway :您可以使用 JetBrains Gateway 通过 SSH 连接到 Linux 机器。 您还可以连接到各种开发环境。
有关更多信息,请参见 连接并使用 JetBrains Gateway。
Dev Container 连接
开发容器连接:在远程机器上启动 Dev Container,用于远程文件系统中包含 JSON 文件的项目或从 Git 仓库克隆的项目。
有关此工作流程的描述,请参阅 为远程项目启动 Dev Container。
WSL 连接
WSL 连接:配置您的 IDE 后端直接在 WSL2 中启动。 JetBrains Gateway 为此类场景提供了原生的 WSL 支持。
有关更多信息,请参阅 连接到在 WSL2 上运行的项目。
开发环境
通过 JetBrains Gateway 还可以连接到运行在 JetBrains CodeCanvas、Gitpod、Google Cloud、GitHub Codespaces、Amazon CodeCatalyst 和 Coder 上的各种开发环境。
有关如何连接到每个环境的更多信息,请参阅 连接并使用 JetBrains Gateway。
可扩展性
IDE 后端
后端可以通过以下方式扩展各种 PhpStorm 插件:
通过将必需插件解压到 相应的目录中
通过运行以下代码(需要网络连接到 JetBrains Marketplace):
remote-dev-server installPlugins <PLUGIN_ID1> <PLUGIN_ID2> ...请查看以下示例:
remote-dev-server installPlugins IdeaVIM
如果插件提供了一组新的检查和功能,所有这些都会显示在 JetBrains Client 上。
有关更多信息,请参见 安装插件。
编排
除了基本的 SSH 和 Code With Me 连接外,供应商可以为自己的编排服务定制 JetBrains Gateway。 这可以在 JetBrains 与供应商之间的自定义协议中完成。
JetBrains Gateway 基于 IntelliJ 平台,拥有用于与 JetBrains Client 连接和交互的 API。
请查看以下示例:
一个大型组织希望编写自己的编排工具。 由于安全原因,基本的 SSH 流程是不够的。 该组织编写了一个内部插件并将其交付给开发人员。 开发人员可以在 JetBrains Gateway 或 PhpStorm 上的笔记本电脑中安装此插件。
这是对 API 的一个非常简要的介绍(它们尚未最终确定,实际上这也不是完整作用域,但它们解释了整体思路)。
JetBrains Client
JetBrains Client 并非为连接部分的扩展性而设计。 不过,您可以开发并安装各种 PhpStorm 插件,这些插件可以修改 UI、键盘快捷键、主题和其他涉及 IDE UI 交互的部分,但不会影响其功能。