首页 > 其他分享 >【IDEA】IntelliJ IDEA远程开发:释放本地设备,打破资源与环境的限制

【IDEA】IntelliJ IDEA远程开发:释放本地设备,打破资源与环境的限制

时间:2024-11-08 18:57:41浏览次数:1  
标签:IntelliJ IDEA 开发 SSH 服务器 远程 ssh

IDEA的远程开发 (Remote Development) 是指在不依赖于本地计算资源的情况下,通过连接远程服务器或虚拟机来进行代码编写、调试和构建的开发模式。这种方式主要通过 JetBrains Gateway JetBrains Projector 提供支持,可以在本地 IDE 界面与远程环境紧密协作,帮助开发者解决资源限制和环境一致性等问题。

当然,不仅限于IDEA,JetBrains旗下的多数开发工具均已支持远程开发功能。对于其他工具,您可以根据本文提供的方法进行尝试和探索,其基本逻辑是相通的。

应用场景

1. 高资源需求的项目:对于大型项目或需要大量资源的开发任务,使用本地计算可能导致性能瓶颈。通过远程开发,开发者可以将计算密集型任务交给性能强大的远程服务器。

2. 跨平台开发:有些项目需要在特定的操作系统上运行,比如 Linux 系统上的项目。使用 IDEA 的远程开发功能,开发者可以在本地 Windows 或 macOS 设备上编写代码,但在远程的 Linux 环境中运行和调试程序。

3. 分布式团队:开发团队分布在不同地区,利用远程开发功能可以让开发者在统一的开发环境中协作,减少由于环境不一致带来的问题。

4. 灵活的工作场所:无论在公司、家里还是其他地方,开发者只需要稳定的网络连接,就可以在远程的强大服务器上开展工作,适应不同的工作场景。

远程开发优势

1. 资源节省:本地设备不再需要处理繁重的编译、测试和调试任务,从而减少了对本地硬件资源的消耗。你可以用轻量级的设备连接到远程服务器,而在远程服务器上运行大型或复杂项目。

2. 一致的开发环境:通过在远程服务器上设置标准化的开发环境,可以避免开发者在不同操作系统或配置上的环境差异。这对于调试依赖特定环境的项目尤其有帮助。

3. 提高开发效率:远程开发将本地开发中的计算压力转移到远程的高性能服务器上,通常可以大幅减少项目构建和测试的时间,提升整体开发速度。

4. 跨平台开发便利性:如果需要在不同操作系统之间进行开发,远程开发可以让你轻松在本地环境下使用远程系统的资源,无需在本地切换操作系统或安装虚拟机。

5. 增强的协作能力:通过统一的远程环境,团队成员可以更加容易地共享环境设置、代码库和调试信息,减少了版本和环境不一致带来的麻烦。

如何实现远程开发

进入远程开发Remote Development

选择远程开发方式

可以通过两种方式实现远程开发:

  1. 通过 SSH

  2. 通过 Dev Containers

这里我们选择Dev Container的方式介绍,因为SSH方式比较简单,会了Dev Containers也基本就会了SSH,SSH方式基本就是通过SSH连接后,基础环境我们在远程服务器配置好就可以用了。

配置SSH代理转发

默认情况下,本地电脑上已经配置了 SSH 密钥以便访问 Git 项目,但容器中没有这些权限。因此,我们需要配置 SSH 代理转发,将本地权限传递给远程容器。

首先,通过以下命令检查密钥是否对 ssh-agent 可见:

$ ssh-add -L
# 示例输出
ssh-ed25519 AAAAC3XXXXXD3DEoFT2Qr3fWu9MY 

如果显示没有身份信息,则可以通过以下命令添加密钥:

ssh-add  ~/.ssh/id_ed25519

验证配置的是否代理转发是否生效:

可以通过 SSH 连接远程服务器并执行以下命令进行验证:

# 连接目标服务器
$ ssh [email protected]
# 验证密钥转发是否成功
$ ssh -T [email protected]
# 若显示以下内容,则表示成功:
Hi xxx! You've successfully authenticated, but GitHub does not provide shell access.

更多有关 SSH 代理转发的配置信息,可以参考:(https://docs.github.com/zh/authentication/connecting-to-github-with-ssh/using-ssh-agent-forwarding#testing-ssh-agent-forwarding)

通过 Dev Container 创建开发容器

注意:远程机器需要预装 Docker 并已运行。

创建开发容器:

新增 Docker 配置,选择通过 SSH 连接远程服务器:

选择项目配置:

说明:

• Automatic:自动从项目中获取配置

• Specify Path:手动指定配置文件路径

配置完成后,点击右下角的Build Container and Continue

配置远程 Dev Container 的基础环境,选择合适的开发环境,如 Java 8 + Maven,点击 OK。

可能存在的问题:如果出现无法下载的问题,可以将无法下载的镜像通过阿里云手动下载镜像,具体步骤如下:

  1. 通过GitHub将镜像同步到阿里云。具体方法参考:Docker国内镜像源失效解决方案!亲测有效

  2. 手动下载镜像

docker pull registry.cn-hangzhou.aliyuncs.com/jast-docker/git:v2.34.2

将镜像tag修改为alpine/git:v2.34.2

docker tag registry.cn-hangzhou.aliyuncs.com/jast-docker/git:v2.34.2 alpine/git:v2.34.2

重试,等待所有环境拉取完成。

首次完成后,需安装EAP:

安装完成后会自动打开Intellij IDEA EAP,这个是用于连接远程项目的客户端。

我们可以看到这个页面和Intellij IDEA几乎一样,我们就可以在这里进行开发代码、调试代码、提交代码到Git等等一系列操作,它与我们平时开发一样了。此外,还可以查看远程机器的资源使用情况。

最后推荐一个官方提供的体验Demo:https://github.com/IdeaUJetBrains/idea-demo-devcontainers

原创 编程与架构

标签:IntelliJ,IDEA,开发,SSH,服务器,远程,ssh
From: https://www.cnblogs.com/o-O-oO/p/18535704

相关文章

  • 【IDEA】告别繁琐反编译:IDEA中轻松反编译与修改Jar包
    本文带你了解JarEditor插件的强大功能,它让你无语再用其他第三方工具,也无需解压JAR文件就能直接在IDEA中编辑其中的类和资源文件。还能用它轻松添加、删除或重命名JAR包里的文件。即使遇到混淆过的JAR,JarEditor也能通过Javassist工具搞定。支持的功能JarEditor提供了......
  • 第七章:IDEA集成Git
    目录一、环境准备1.配置Git忽略文件2.定位Git程序二、初始化本地库三、添加暂存区四、提交本地库五、切换版本六、分支操作1.创建分支2.切换分支3.删除分支七、合并分支1.正常合并2.冲突合并总结一、环境准备1.配置Git忽略文件我们再写代码的时候,系统常常会......
  • MS15-034 HTTP.sys 远程执行代码漏洞(原理扫描)/KB3021910、 KB2919355、KB3042553下
     KB3021910:https://www.microsoft.com/zh-cn/download/details.aspx?id=46824KB2919355:https://www.microsoft.com/zh-CN/download/details.aspx?id=42334KB3042553:https://www.microsoft.com/zh-CN/download/details.aspx?id=46500 MS15-034是一个严重的安全漏洞,它影响......
  • 怎么从入门到精通:《IDEA 问题库》常见问题及解决方案
    《IDEA问题库​》是一个非常广泛的话题,涉及到许多不同的问题和解决方案。以下是一些常见问题及解决方案: 报错:unableto establish loopbackconnection。问题:无法建立环回连接。解决方案:关闭防火墙。IDEA看不到编译后的target文件。问题:控制台提示编译成功,但左边......
  • 掌握 IntelliJ IDEA,开启高效编程之旅
    在当今的编程世界中,IntelliJIDEA已成为众多开发者的首选工具。它以其强大的功能和高效的特性,为开发者提供了一个卓越的编程环境。掌握IntelliJIDEA,无疑是开启高效编程之旅的关键一步。IntelliJIDEA拥有智能的代码提示和自动完成功能,这使得编程变得更加快捷和流畅。它能......
  • 访问浪潮带外BMC界面的远程控制台重定向(KVM)无法访问,提示JViewer未签名,mac电脑安装JD
    报错截图:安装JDK8下载JDK1.8的安装包JavaDownloads|Oracle下载的安装包双击按提示流程安装:按照完成以后、我们可以查看JDK的安装路径、在资源库/Library下面会出现一个Java的文件夹、目录层级如下:/Library/Java/JavaVirtualMachines/jdk-1.8.jdk打开终端窗口按快......
  • IntelliJ IDEA超详细下载安装教程(附安装包)
    目录IDEA的简单介绍一、下载IDEA二、安装IDEA三、启动IDEA并使用1.配置IDEA2.输出:"HelloWorld!"IDEA的简单介绍IDEA全称IntelliJIDEA,是由JetBrains开发的一款广泛使用的集成开发环境(IDE),专为提高开发者的生产力和代码质量而设计。作为一个强大的多语言IDE,Intel......
  • ToDesk远程控制电脑手机,下班再也不用背电脑!1
    对于打工人来说,每天背着沉重的电脑包上下班,无疑是一种负担。但电脑不带在身上,身上是轻松了,心理上总会担心下班被领导客户call回公司。怎么解决?很简单!在自己的手机电脑上安装ToDesk远程控制软件就行。小编算是这个软件的忠实用户了,它既能跨系统跨设备远控电脑,而且支持手机平板电......
  • 双11买ToDesk远程控制&云电脑,看这一篇就够了!
    今年双十一各大商家实在是太卷了,预售定金满减凑单一堆花活。但小编发现ToDesk远程控制&云电脑的双十一活动不一般。囊括了远程控制各种会员版本的年包优惠,云电脑的计时机包时机活动,充值还送钱,优惠力度大,而且直接减钱,不费脑子就拿下超值价格。小编给大家简单整理了几个双十一活动......
  • 轻松上手:在Linux上用Docker部署Cloudreve云盘,远程访问无压力!
    文章目录前言1.安装Docker2.使用Docker拉取镜像3.创建并启动Cloudreve容器4.本地访问测试5.公网远程访问本地Cloudreve5.1内网穿透工具安装5.2创建远程连接公网地址5.3使用固定公网地址远程访问前言本文主要介绍如何在Linux系统使用Docker快速部署Cloudrev......