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

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

时间:2024-09-25 09:52:04浏览次数:9  
标签:IntelliJ IDEA 开发 SSH 本地 服务器 远程 ssh



文章目录

  • IntelliJ IDEA远程开发:释放本地设备,打破资源与环境的限制
  • 应用场景
  • 远程开发优势
  • 如何实现远程开发
  • 进入远程开发`Remote Development`
  • 选择远程开发方式
  • 配置SSH代理转发
  • 通过 `Dev Container` 创建开发容器



公众号,感谢!




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



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

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

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

应用场景

  1. 高资源需求的项目:对于大型项目或需要大量资源的开发任务,使用本地计算可能导致性能瓶颈。通过远程开发,开发者可以将计算密集型任务交给性能强大的远程服务器。
  2. 跨平台开发:有些项目需要在特定的操作系统上运行,比如 Linux 系统上的项目。使用 IDEA 的远程开发功能,开发者可以在本地 Windows 或 macOS 设备上编写代码,但在远程的 Linux 环境中运行和调试程序。
  3. 分布式团队:开发团队分布在不同地区,利用远程开发功能可以让开发者在统一的开发环境中协作,减少由于环境不一致带来的问题。
  4. 灵活的工作场所:无论在公司、家里还是其他地方,开发者只需要稳定的网络连接,就可以在远程的强大服务器上开展工作,适应不同的工作场景。

远程开发优势

  1. 资源节省:本地设备不再需要处理繁重的编译、测试和调试任务,从而减少了对本地硬件资源的消耗。你可以用轻量级的设备连接到远程服务器,而在远程服务器上运行大型或复杂项目。
  2. 一致的开发环境:通过在远程服务器上设置标准化的开发环境,可以避免开发者在不同操作系统或配置上的环境差异。这对于调试依赖特定环境的项目尤其有帮助。
  3. 提高开发效率:远程开发将本地开发中的计算压力转移到远程的高性能服务器上,通常可以大幅减少项目构建和测试的时间,提升整体开发速度。
  4. 跨平台开发便利性:如果需要在不同操作系统之间进行开发,远程开发可以让你轻松在本地环境下使用远程系统的资源,无需在本地切换操作系统或安装虚拟机。
  5. 增强的协作能力:通过统一的远程环境,团队成员可以更加容易地共享环境设置、代码库和调试信息,减少了版本和环境不一致带来的麻烦。

如何实现远程开发

进入远程开发Remote Development

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

选择远程开发方式

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

  1. 通过 SSH
  2. 通过 Dev Containers

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

这里我们选择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 并已运行。

  1. 创建开发容器:

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

IntelliJ IDEA远程开发:释放本地设备,打破资源与环境的限制_远程服务器_06

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

IntelliJ IDEA远程开发:释放本地设备,打破资源与环境的限制_远程服务器_07

  1. 选择项目配置:

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

说明:

  • Automatic:自动从项目中获取配置
  • Specify Path:手动指定配置文件路径

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

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

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

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

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

  1. 通过GitHub将镜像同步到阿里云。
  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

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

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

首次完成后,需安装EAP:

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

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

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

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

IntelliJ IDEA远程开发:释放本地设备,打破资源与环境的限制_远程服务器_14

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

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


标签:IntelliJ,IDEA,开发,SSH,本地,服务器,远程,ssh
From: https://blog.51cto.com/u_13721902/12107265

相关文章

  • gi集成idea
    IDEA集成Git&IDEA集成GiteeIDEA集成Git(本地库)首先配置Git忽略文件(1)创建忽略规则文件文件名称:xxxx.ignore(前缀名随便起,建议是git.ignore)这个文件的存放位置原则上在哪里都可以,为了便于让~/.gitconfig文件引用,建议也放在用户家目录下git.ignore文件模版内容如下#......
  • 我是如何开发一款支持IDEA、PyCharm、Android Sutdio 等JB全家桶的摸鱼插件的
    公众号「古时的风筝」,专注于后端技术,尤其是Java及周边生态。个人博客:www.moonkite.cn大家好,我是风筝前些天做了一款支持Jetbrains大部分IDE的摸鱼插件-一款IDE摸鱼插件,没想到出乎意料的没什么人用,当初说VsCode里面的养宠物的插件时,一大堆人问IDEA里有没有、PyChar......
  • Windows vnc viewer 连接 ubuntu 22.04 远程图形桌面
    前言全局说明一、说明环境:Windows11家庭版23H222631.3737Python3.8.10(tags/v3.8.10:3d8993a,May32021,11:48:03)[MSCv.192864bit(AMD64)]onwin32Ubuntu18.04.6LTS(Linuxqt-vm5.4.0-150-generic#167~18.04.1-UbuntuSMPWedMay2400:51:42UTC......
  • IDEA更改远程git仓库地址
    前言我们在使用IDEA开发时,一般会配置好对应的git仓库,这样就比较容易对代码进行控制以及协同开发。 但有时候,我们远程的仓库地址由于这样那样的原因,需要迁移(这在爱折腾的企业是常有的事情)。那么,我们该如何在IDEA中更新远程仓库地址呢?如何设置首先,我们点击上方的【Git】按钮,打......
  • Docker Desktop (WSL)部署MySQL使用Navicat 16 for MySQL远程连接
    DockerDesktop(WSL)部署MySQL使用Navicat16forMySQL远程连接1.docker拉取镜像dockerpullmysql2.查看镜像dockerimages3.启动MySQL实例dockerrun-d-p3307:3306--name=mysql-eMYSQL_ROOT_PASSWORD=123456mysql命令详解参数详解-d在后台运行容......
  • 将Tomcat整合到idea中
    1.随便打开一个项目最上面选择run选择EditConfigurations将Applicationserver设置成下载的Tomcat目录将Openbrower设置成Chrome(谷歌浏览器,没有的建议下一个)将下图设置成自动发布Updataresources(建议将程序运行成功后再来修改)2.新建一个项目(File->New->Pro......
  • Idea下载和安装
    第一步:官网下载IDEA官网下载:链接:https://pan.baidu.com/s/1Y0U06VoGyOx_xn24WouLcQ?pwd=6666提取码:6666第二步:卸载旧的IDEA(没有则跳过)打开电脑上的控制面板–>程序–>程序和功能,找到旧版IDEA,卸载时勾选提示的两个复选框,然后点击Uninstall。第二步:安装IDEA点击Ne......
  • vscode 远程 切换python 虚拟环境
    在VSCode中远程切换Python虚拟环境是一个涉及多个步骤的过程,包括安装必要的扩展、连接到远程服务器、创建或激活虚拟环境,并在VSCode中选择相应的Python解释器。以下是一个详细的步骤指南,包括代码示例,旨在帮助我们完成这一过程。1.Vscode远程切换Python虚拟环境的步骤1.1步骤1:......
  • Vscode 远程切换Python虚拟环境
    在VSCode中远程切换Python虚拟环境是一个涉及多个步骤的过程,包括安装必要的扩展、连接到远程服务器、创建或激活虚拟环境,并在VSCode中选择相应的Python解释器。以下是一个详细的步骤指南,包括代码示例,旨在帮助我们完成这一过程。1.Vscode远程切换Python虚拟环境的步骤1.1步骤1......
  • 利用IDEA创建Web Service服务端和客户端的详细过程
    创建服务端一、file–>new–>project 二、点击next后输入服务端名,点击finish,生成目录如下三、在HelloWorld.Java文件中右击,选WebServices,再选GenerateWsdlFromJavaCode,确定点击ok会自动给我们生成HelloWorld.wsdl,画红线处注意四、配置tomcat,此处不多说,主要......