Tutorials 开发工具

留在本地,让 IDE 替您处理远程工作!

CLion 的问题跟踪器(YouTrack)有几十个待实现的重要而有趣的功能建议。由于资源有限,我们必将优先考虑那些与我们产品发展大方向更加契合的新功能。其中支持票数超过 800 的 3 位数问题 – 这些请求类型都是我们无法置之不理的!

 您可以猜到我们正在 v2018.3 中处理的问题吗?一切工作都围绕远程项目支持而展开!

初始远程项目支持 – 那是什么?

我们已经从一个特定设置开始,尽管我们计划在将来涵盖并处理更多案例。因此,我们将当前支持状态称为 – 初始。

 究竟实施了什么呢?

  • 本地客户端计算机:macOS、Linux 或 Windows

  • 远程主机:Linux

  • 源位置:最初在本地主机上,CLion 将为您同步到远程计算机上。

  • 项目模型:仅限 CMake 项目

  • 如果您的本地计算机是 macOS 或 Linux,那么必须将 rsync 安装到远程主机上,在使用 Windows 作为本地计算机时 – CLion 使用sftp 和 gzip  压缩来同步源。

我们知道远程开发还有很多其他情况,我们计划在未来扩展对它的支持。保持关注,静候佳音!

如何在 CLion 中配置远程项目?

远比您想象的简单!只需按照这些步骤。

  1. 首先,转到设置/偏好 (Settings/Preferences) | 构建、执行、部署 (Build, Execution, Deployment) | 工具链 (Toolchains)

    • 新建工具链(我们在示例中称之为远程

    • 选择远程主机 (Remote Host) 选项

    • 配置访问远程主机的凭证:

    • 在远程主机上,设置 CMake 可执行文件和调试器的路径(目前必须手工设置,默认值为 /usr/bin/cmake 和 /usr/bin/gdb

    现在,如果 ssh 可以使用给定的地址、端口、用户名和密码访问远程主机,那么将成功完成工具链检查,可在 CLion 中使用工具链:

  2. 现在,您需要将 CMake 配置文件(现有的,或更新的文件)连接到新增的远程工具链。

    在 Settings/Preferences | Build, Execution, Deployment | CMake 下完成该操作:
    remote_cmake_profile
    稍后在本博文中,我们将看到如何简单地将远程工具链设置为默认从而跳过此步骤。

应用这些更改后,CLion 将在该项目重新加载 CMake,然后即可在 CLion 中远程处理项目:

远程开发 – 我能做什么?

现在您已配置了远程工具链和使用它的 CMake 配置文件。然后以我们的 Debug-Remote 为例。

 您现在可以:

  • 运行应用

  • 调试应用

  • 运行测试

  • 调试测试

完全远离本地计算机上的 CLion 实例。

然后就像在构建类型切换器中选择正确的 CMake 配置文件一样简单:

测试也是如此:

我们希望尽快在远程模式下启用 Valgrind 和 Google Sanitizers。

CLion 后台发生了什么?

让我简单说明一下在执行所述“远程配置”操作时,CLion 的实际行为。如果您对内部机制不感兴趣,那么可以跳过这部分。

在第一步创建连接实体期间,您可以在 Settings/Preferences | Build, Execution, Deployment | Deployment 下查看设置:
remote_web_deployment
特别是 CLion 自动配置了映射选项卡设置、部署路径,和 CLion 同步项目代码的远程主机路径:
remote_deployment_path
同步过程显示在“文件传输 (File Transfer)”工具窗口中(查看 (View) | 工具窗口 (Tool Windows) | 文件传输 (File Transfer)):
file_transfer_toolwindow
除了将本地文件同步到远程主机之外,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 2019.1 

您的 CLion 团队

JetBrains
The Drive to Develop

原文发表于2018年9月19日,作者Anastasia Kazakova

image description

Discover more