留在本地,让 IDE 替您处理远程工作!
CLion 的问题跟踪器(YouTrack)有几十个待实现的重要而有趣的功能建议。由于资源有限,我们必将优先考虑那些与我们产品发展大方向更加契合的新功能。其中支持票数超过 800 的 3 位数问题 – 这些请求类型都是我们无法置之不理的!
您可以猜到我们正在 v2018.3 中处理的问题吗?一切工作都围绕远程项目支持而展开!
初始远程项目支持 – 那是什么?
我们已经从一个特定设置开始,尽管我们计划在将来涵盖并处理更多案例。因此,我们将当前支持状态称为 – 初始。
究竟实施了什么呢?
-
本地客户端计算机:macOS、Linux 或 Windows
-
远程主机:Linux
-
源位置:最初在本地主机上,CLion 将为您同步到远程计算机上。
-
项目模型:仅限 CMake 项目
-
如果您的本地计算机是 macOS 或 Linux,那么必须将 rsync 安装到远程主机上,在使用 Windows 作为本地计算机时 – CLion 使用sftp 和 gzip 压缩来同步源。
我们知道远程开发还有很多其他情况,我们计划在未来扩展对它的支持。保持关注,静候佳音!
如何在 CLion 中配置远程项目?
远比您想象的简单!只需按照这些步骤。
-
首先,转到设置/偏好 (Settings/Preferences) | 构建、执行、部署 (Build, Execution, Deployment) | 工具链 (Toolchains):
-
新建工具链(我们在示例中称之为远程)
-
选择远程主机 (Remote Host) 选项
-
配置访问远程主机的凭证:
-
在远程主机上,设置 CMake 可执行文件和调试器的路径(目前必须手工设置,默认值为 /usr/bin/cmake 和 /usr/bin/gdb)
现在,如果 ssh 可以使用给定的地址、端口、用户名和密码访问远程主机,那么将成功完成工具链检查,可在 CLion 中使用工具链:
-
-
现在,您需要将 CMake 配置文件(现有的,或更新的文件)连接到新增的远程工具链。
在 Settings/Preferences | Build, Execution, Deployment | CMake 下完成该操作:
稍后在本博文中,我们将看到如何简单地将远程工具链设置为默认从而跳过此步骤。
应用这些更改后,CLion 将在该项目重新加载 CMake,然后即可在 CLion 中远程处理项目:
远程开发 – 我能做什么?
现在您已配置了远程工具链和使用它的 CMake 配置文件。然后以我们的 Debug-Remote 为例。
您现在可以:
-
运行应用
-
调试应用
-
运行测试
-
调试测试
完全远离本地计算机上的 CLion 实例。
然后就像在构建类型切换器中选择正确的 CMake 配置文件一样简单:
测试也是如此:
我们希望尽快在远程模式下启用 Valgrind 和 Google Sanitizers。
CLion 后台发生了什么?
让我简单说明一下在执行所述“远程配置”操作时,CLion 的实际行为。如果您对内部机制不感兴趣,那么可以跳过这部分。
在第一步创建连接实体期间,您可以在 Settings/Preferences | Build, Execution, Deployment | Deployment 下查看设置:
特别是 CLion 自动配置了映射选项卡设置、部署路径,和 CLion 同步项目代码的远程主机路径:
同步过程显示在“文件传输 (File Transfer)”工具窗口中(查看 (View) | 工具窗口 (Tool Windows) | 文件传输 (File Transfer)):
除了将本地文件同步到远程主机之外,CLion 还将头文件搜索路径和所有内容都抓取到本地计算机,所以它可以正确解析您的代码。这意味着,例如,标准库头文件是从远程计算机中获得,但使用 CLion 的编辑器,您可以像导航本地文件一样导航到它们。
与远程主机重新同步
在完全远程开发模式下,CLion 实例在本地运行,并从远程计算机同步到本地主机的头搜索路径(以正确解析CLion中的代码)。当每次重新加载CMake时触发头搜索路径的同步,可能是一项耗时的任务。因此,只有在通过 Tools | Resync with Remote Hosts手动触发时才执行重新同步。在注册表选项 clion.remote.resync.system.cache 中您可以更改行为偏好,并在每次重新加载时重新同步。
轻松保持持续的远程状态
在这个美妙的新功能的简介结束之际,我们想与您分享一个简单的方法,在这个远程模式下在您的所有项目(现有的和新的)中使用 CLion转到 Settings/Preferences | Build, Execution, Deployment | Toolchains,只需将远程工具链移动到工具链列表顶部,即可将其设置为默认工具链:
现在,这个远程工具链将自动用于您在 CLion 中打开的所有项目。
例如,从 Git 签出新项目时:
已经有几个已知问题,它们关联到这里的父验证票。例如,创建过多远程工具链时,可能出现潜在的性能问题。
就是这样!试试这个 CLion 远程开发功能,然后告诉我们您的看法!
您的 CLion 团队
JetBrains
The Drive to Develop
原文发表于2018年9月19日,作者Anastasia Kazakova