远程开发常见问题解答
什么是远程开发?
远程开发是 GoLand 中的一项新功能,使您可以从世界任何地方连接到运行了 IDE 后端的远程服务器,并像在本地机器上一样无缝地处理该服务器上的项目。
远程开发有哪些优势?
能够在与本地系统不同的操作系统上编辑、构建或调试应用程序。
能够使用比本地机器更强大或性能更高的硬件进行开发。
能够将笔记本电脑作为瘦客户端使用,无需在本地机器上托管源代码。
能够在任何地方工作,同时将敏感信息仅托管在公司服务器上。
远程开发的许可方案是什么?
若要使用供应商插件或远程开发的内置 SSH 功能,您需要拥有相应 IDE 的许可证,与桌面版相同。连接到远程 IDE 时将在本地机器上请求许可证。如果本地工作站已有激活的适用许可证,JetBrains Client 将自动选用该许可证。如果您希望成为供应商或在组织内部协调远程开发,请联系我们以获取详细信息。 连接到远程 IDE 时将在本地机器上请求许可证。 如果您的本地工作站已有激活的适用许可证,JetBrains Client 将自动选用该许可证。 如果您希望成为供应商或在组织内部协调远程开发,请联系我们以获取详细信息。
远程开发的工作原理是什么?
远程开发的过程如下:
您需要一台服务器,它可以是物理机或虚拟机,用于托管源代码并运行无头模式的 GoLand 或其他 IDE,以执行大部分 IDE 的功能。
您需要一台客户端,它是开发人员用于连接到服务器的物理计算机,并提供用于开发工作的瘦客户端。例如,可以是您的笔记本电脑。 例如,可以是您的笔记本电脑。
您启动 JetBrains Gateway,将所有内容连接起来,并向您提供一个瘦客户端,其具备高级编辑器,基于 JetBrains Rider 的 RD 协议,该协议使输入和在编辑器中的操作具有即时响应的感觉。
或者,您可以使用 JetBrains Toolbox App 连接到不同的主机平台,包括 Windows、macOS 和 Linux,并使用集成的 OpenSSH 进行安全和可自定义的 SSH 连接。 Toolbox App 支持连接到远程 SSH 主机,以及由 Coder、Gitpod 和 CodeCanvas 等提供商提供的环境。
远程服务器的系统要求是什么?
您可以参考 系统要求 部分。
当前实现有哪些限制?
如果使用 JetBrains Gateway 进行连接,仅支持 Linux 服务器作为后端。 如果使用 JetBrains Toolbox App,亦支持 macOS 和 Windows 服务器。
远程服务器和本地计算机,或仅本地计算机,必须能够访问以下列表中的 JetBrains URL:
https://code-with-me.jetbrains.com
https://download.jetbrains.com
https://download-cf.jetbrains.com
https://download-cdn.jetbrains.com
https://cache-redirector.jetbrains.com
https://data.services.jetbrains.com/products
这些地址提供对应版本的 JetBrains Client(瘦客户端)和 JBR 文件。
什么是 JetBrains Gateway?
基本上, JetBrains Gateway 是一个启动器,用于将后端服务器与本地环境连接在一起。 它在本地机器上运行,允许您创建新环境或连接到已有环境。 在 JetBrains Gateway 中请求环境后,它将启动特定于该环境的 JetBrains Client。
我可以从 GoLand 连接到远程服务器吗?
是的,您可以。 但它仍然会下载 JetBrains Client。 JetBrains Gateway 所包含的全部功能均可在 GoLand 中使用。
或者,您可以使用 JetBrains Toolbox App 连接到远程服务器。
我为什么需要使用 JetBrains Gateway?
避免在客户端机器上进行任何本地开发
为多种远程后端提供统一的入口点
JetBrains Gateway 的工作原理是什么?
JetBrains Gateway 将所有 JetBrains IDE 后端对用户开放。它允许您配置新的远程连接,同时还可管理现有连接。它将自动下载与 IDE 后端兼容的客户端版本。 它允许您配置新的远程连接,同时还可管理现有连接。 它将自动下载与 IDE 后端兼容的客户端版本。
我可以让远程开发使用远程服务器上已有的 IDE 吗?
自 221.5481 版本起,您可以在远程服务器上手动注册现有的后端 IDE,并使其对 Gateway 可见。 已安装的 IDE 将显示在可用构建列表中。
请参阅 入门页面 中的相关说明。
如何保护与远程服务器的连接?
JetBrains Client 与 IDE 后端之间的通信采用 TLS 1.3 端到端加密,即使是在安全的 SSH 通道中进行也是如此。 我们使用 TLS 1.3 加上 SSH 安全连接。
是否会收集遥测数据?
遥测规则与 GoLand 中相同,包括同意、设置和默认值。 有关详细信息,请参阅 数据共享。
连接时是否使用中继服务器?
连接为直接连接,不涉及 JetBrains 中继服务器。
用于本地显示远程 GUI 的机制是什么?
JetBrains Client 基于 GoLand 平台和 Projector 技术,用于在本地显示远程 GUI。
预期的延迟是多少?
JetBrains Client 拥有一款高级编辑器,基于 JetBrains Rider 的 RD 协议,可实现即时的输入响应。 此外,在 GoLand 服务器上完成的高级代码智能功能以类似本地运行的方式呈现。
在 JetBrains Client 中安装插件时,是否会在远程服务器上安装?
您可以像在常规项目中一样 安装插件。 远程插件带有 在主机上 标签。 请注意,插件是按项目安装的。
远程会话将启用哪些键盘绑定?
在远程会话期间,在 JetBrains Client 中设置的任何快捷键都可在本地和远程使用。