关于远程开发的常见问题
什么是远程开发?
远程开发是 PyCharm 中的一项新功能,使您能够在世界各地连接到运行 IDE 后端的远程服务器,并像在本地计算机上一样无缝地处理位于该服务器上的项目。
远程开发有哪些优势?
能够在与本地运行的不同操作系统上编辑、构建或调试应用程序。
能够使用比本地计算机更大或更强大的硬件资源进行开发。
能够将笔记本电脑用作瘦客户端,无需在本地计算机上托管源代码。
能够随时随地工作,同时仅在公司的服务器上托管敏感数据。
远程开发的许可方案是什么?
要使用供应商插件或远程开发的内置 SSH 功能,您需要拥有相应 IDE 的许可证,与桌面版本相同。 在连接到远程 IDE 时,将在本地计算机上请求许可证。 如果您的本地工作站已有适用的有效许可证,JetBrains 客户端将会自动使用它。 如果您希望成为供应商,或在组织内统筹远程开发,请联系我们以获取更多详细信息。
远程开发如何工作?
远程开发的工作流程如下:
您需要一台服务器,即物理或虚拟机,用于托管源代码并运行无头的 PyCharm 或其他 IDE,从而提供大部分 IDE 功能。
您需要一台客户端,即开发者用于连接到服务器的物理机器,并提供用于开发工作的瘦客户端。 例如,它可以是您的笔记本电脑。
您启动 JetBrains Gateway,将一切连接在一起,并获得一个带有高级编辑器的瘦客户端;该编辑器基于 JetBrains Rider 的 RD 协议,使在编辑器中的输入和操作感觉即时。
或者,您可以使用 JetBrains Toolbox 应用 连接到不同的主机平台,包括 Windows、macOS 和 Linux,并使用集成的 OpenSSH 进行安全且可自定义的 SSH 连接。 JetBrains Toolbox 应用支持连接到远程 SSH 主机,以及由 Coder、Gitpod 和 CodeCanvas 等提供商提供的环境。
远程服务器的系统要求是什么?
您可以参考 系统要求 部分。
当前实现有哪些限制?
如果您使用 JetBrains Gateway 连接,作为后端仅支持 Linux 服务器。 如果您使用 JetBrains Toolbox 应用 ,还支持 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 客户端(瘦客户端)和 JBR 文件。
什么是 JetBrains Gateway?
基本上, JetBrains Gateway 是一个启动器,用于将后端服务器与本地环境连接在一起。 它在本地计算机上运行,允许您创建新环境或连接到现有环境。 在 JetBrains Gateway 中请求环境后,它会启动特定于该环境的 JetBrains Client。
能否从 PyCharm 连接到远程服务器?
是的,您可以。 不过,它仍会下载 JetBrains Client。 随 JetBrains Gateway 提供的所有功能在 PyCharm 中均可用。
或者,您可以使用 JetBrains Toolbox 应用 连接到远程服务器。
为什么需要使用 JetBrains Gateway?
为避免在客户端计算机上进行任何形式的本地开发
为各种远程后端提供单一入口
JetBrains Gateway 如何工作?
JetBrains Gateway 使所有 JetBrains IDE 后端对用户可用。 它允许您配置新的远程连接,并管理现有连接。 它会自动下载可与 IDE 后端协同工作的精确版本的客户端。
是否可以将远程开发指向使用远程服务器上现有的 IDE?
自 221.5481 版本起,您可以在远程服务器上手动注册现有的后端 IDE,并使其对 JetBrains Gateway 可见。 已安装的 IDE 将显示在可用构建列表中。
请在 入门页面。 查看相关说明。
如何保护与远程服务器的连接安全?
即使通过安全的 SSH 隧道进行,JetBrains 客户端与 IDE 后端之间的通信也使用 TLS 1.3 进行端到端加密。 我们使用 TLS 1.3,并在此之上使用 SSH 安全连接。
是否会收集任何遥测数据?
遥测规则与 PyCharm 相同,包括相同的同意、设置和默认值。 有关更多信息,请参阅 数据共享。
连接是否使用任何中继服务器?
连接为直连,不涉及 JetBrains 中继服务器。
使用何种机制在本地显示远程 GUI?
基于 PyCharm 平台的 JetBrains 客户端和 Projector 技术用于在本地显示远程 GUI。
预期的延迟是多少?
JetBrains 客户端具有基于 JetBrains Rider 的 RD 协议的高级编辑器,使输入感觉即时。 此外,在 PyCharm 服务器上完成的高级代码智能会以看起来像在本地运行的方式呈现。
在 JetBrains 客户端中工作时如果安装插件,这些插件会安装到远程服务器上吗?
您可以像在常规项目中一样 安装插件。 远程插件带有 在主机上 标签。 请注意,插件是按项目安装的。
远程会话中会生效哪些键位映射?
在远程会话期间,JetBrains 客户端中设置的任何快捷键在本地和远程均受支持。
在没有 Pro 订阅的情况下,PyCharm 是否提供远程开发或 JetBrains Gateway?
两者均仅随 Pro 订阅提供。