CLion教程-在远程项目中工作
远程项目在JetBrains客户端中打开,就像在本地的CLion IDE中打开一样。您可以像处理任何其他本地项目一样开发它:编辑代码,运行应用程序,调试和部署。
添加SDK到打开的项目
当您首次打开项目时,CLion会显示通知,建议添加项目的SDK。
- 打开远程会话。
- 转到“文件” | “项目结构”。
- 在“项目结构”对话框中,选择“项目”,然后从可用选项中配置项目的SDK。
- 单击“确定”以保存更改。CLion将配置的SDK下载到远程服务器。下次打开项目时,将自动在远程会话中使用已下载的SDK。
添加VM选项
您可以为远程项目调整VM选项,特别是如果要在处理较大项目时增加-Xmx
内存大小。您需要在远程服务器上执行这些操作并保存更改。
- 转到“帮助” | “编辑自定义VM选项(On Host)”。
- 编辑
clion64.vmoptions
文件。
例如,将-Xmx2048
选项更改为-Xmx3072
。 - 在远程服务器上重新启动IDE以查看更改。
- 如果您的远程项目无法正常启动,可以手动增加内存设置。
在远程后端上登录GitHub
- 按下CtrlAlt0S以打开IDE设置,然后选择“版本控制” | “GitHub”。
- 单击“添加帐户”,选择授权方法并登录到您的GitHub帐户。
关闭远程开发会话
- 单击以关闭远程会话窗口。
您将返回到JetBrains Gateway欢迎屏幕,您可以使用最近的SSH项目页面重新连接到远程会话或停止运行的实例。
当您在本地关闭项目时,不会自动关闭远程主机上的项目。
创建多个连接
您可以创建到相同远程主机和相同IDE版本的多个连接。您还可以与不同IDE版本和远程主机建立连接。
- 连接并打开远程会话。
- 由于一旦连接到远程服务器后,JetBrains Gateway会不断处于活动状态,因此您可以单击其图标以打开JetBrains Gateway欢迎屏幕并配置其他连接。
如果连接到相同的IDE版本,那么JetBrains Client将作为相同进程的实例打开。如果连接到不同的远程主机或IDE版本,将启动不同的远程会话。
您不能从不同的计算机连接到同一台服务器。例如,如果您与团队共享一个远程服务器并且希望在同一项目上工作,可以等待服务器空闲或从已连接方请求Code With Me链接加入远程会话。
安装插件
您可以在远程服务器上安装需要的插件。请注意,插件是按项目安装的。每次为新项目创建远程连接时,都需要安装所需的插件。
根据您在远程服务器上下载CLion的场景,您可以通过命令行或使用远程项目的UI安装插件。
通过命令行安装插件
如果您手动配置CLion在远程服务器上,可以使用以下步骤添加插件:
- 在JetBrains Marketplace页面上找到所需插件的页面,选择“版本”选项卡,然后单击任何版本以复制插件的
pluginId
(例如org.rust.lang
)。 打开远程服务器,转到包含您的项目的CLion实例,以及要下载并安装第三方插件的CLion实例。
默认情况下,已下载的CLion实例位于以下目录:~/.cache/JetBrains/RemoteDev/dist
添加以下命令:
bin/remote-dev-server.sh installPlugins PROJECT_PATH pluginId
(其中
PROJECT_PATH
是您的远程项目的路径,pluginId
是您从JetBrains Marketplace页面获取的ID。)- 安装后,解压下载的插件存档。
- 默认情况下,已安装的插件位于后端的以下文件夹:
~/.cache/JetBrains/RemoteDev-IU/PROJECT_PATH/plugins/
- 继续启动JetBrains Gateway,并使用远程安装的插件打开远程项目。
通过UI安装插件
如果您使用JetBrains Gateway在远程服务器上下载CLion,可以使用以下步骤安装插件。
- 在JetBrains客户端中打开远程项目。
- 按下CtrlAlt0S以打开IDE设置,然后选择“主机上的插件”。
- 以与在常规CLion项目中相同的方式下载所需的插件。
- 下载并启用插件后,单击“确定”以保存更改。
插件已在远程安装。但请记住,插件是按项目安装的。
后端控制中心
在处理远程项目时,您可以检查远程服务器的状态。这意味着您可以检查后端的CPU负载、磁盘和内存消耗。您还可以在JetBrains Client中直接添加堆大小并从中重新启动远程后端。
您还可以查看项目中转发的端口列表。
在打开远程项目后,后端的名称、内存和延迟指示器将显示在主工具栏上。
使用控制中心窗口
- 在JetBrains Client中,在主工具栏上,单击远程服务器的名称以打开后端控制窗口。
在性能选项卡上,检查CPU负载、内存消耗和磁盘空间的状态。
- Ping:这是一个时间指示器,显示了使用RD协议在JetBrains Client和远程服务器之间传输数据所需的时间。
- CPU负载:这是一个指示器,显示CPU执行了多少个进程。
- 内存(RAM):这是一个指示器,显示远程服务器的RAM状态。如果达到内存限制,您需要访问远程服务器并增加RAM或终止消耗RAM的进程。
- 磁盘:这是一个指示器,显示远程服务器使用了多少磁盘空间。
- 单击“端口”选项卡以查看转发端口的状态、数量和名称。
单击“输出”选项卡以查看远程服务器的日志文件的最后2500个字符。
- 此信息可帮助您查看日志文件的末尾以及可能发生的错误或问题。
- 此信息可帮助您查看日志文件的末尾以及可能发生的错误或问题。
- 如果要增加堆内存大小,请单击“设置”选项卡,然后在“最大堆大小”字段中添加所需的内存量,然后单击“保存并重新启动”以应用更改。如果不希望立即重新启动后端,请单击“保存”。
如果在JetBrains Client中遇到问题,您可以打开后端IDE的主工具窗口,并尝试在那里解决问题。
访问后端IDE UI
- 在JetBrains Client中,在主工具栏上,单击远程服务器的名称以打开后端控制窗口。
在打开的窗口中,单击,然后选择“显示主窗口”。
您可以通过选择“收集主机和客户端日志”选项收集数据并创建日志文件。
后端IDE的主窗口将被投影。现在,您可以使用它来访问远程设置,并在JetBrains Client中无法完成的情况下配置各种远程选项。
请记住,远程服务器是Linux,因此您用于配置远程设置的快捷方式必须是Linux的。
在远程后端上管理凭据存储机制
您可以配置如何在远程服务器上管理密码,并覆盖默认配置。
默认情况下,后端使用KeePass管理器来存储密码信息,如您在后端密码设置中所见。
您可以创建一个文件来存储有关可用和默认身份验证存储机制的信息,并使用它来覆盖系统提供的存储机制。
例如,KEEPASS
机制将所有内容都保存在硬盘上,这有点不太好。但是,如果您想在IDE重新启动之间保存凭据(如数据库凭据、GitHub令牌等),则应选择KEEPASS
机制。
另一方面,IN_MEMORY
机制允许您将所有内容保存在运行IDE的内存中,并在IDE重新启动时清除所有内容。不会在硬盘上保存任何内容,这更安全。
设置文件以存储所有后端的凭据存储机制
创建
CredentialStore
目录和以下settingName
文件:defaultProvider
:用于默认密码存储机制的文件。该文件包含来自(MEMORY_ONLY
、KEYCHAIN
、KEEPASS
)中的一个值。availableProviders
:用于可用的密码存储机制的文件。该文件包含来自(MEMORY_ONLY
、KEYCHAIN
、KEEPASS
)的逗号分隔值。
您可以在本地操作系统上创建文件,然后将其复制到远程服务器,或者直接在远程服务器上创建这些文件。
将创建的文件添加到远程服务器。如果您在本地系统上创建了这些文件,那么您可以在终端中使用以下命令将文件复制到远程服务器上所需的位置:
scp source/filename [username]@[host]: destination
远程后端上的文件位置如下:
- $HOME/.config/JetBrains/CredentialStore/settingName(用于用户特定的设置)
- /etc/xdg/JetBrains/CredentialStore/settingName(用于系统范围的设置)
- 在将文件添加到远程服务器后,密码设置将仅显示默认和可用的密码存储提供程序。