JetBrains Gateway IDEA远程开发

这篇具有很好参考价值的文章主要介绍了JetBrains Gateway IDEA远程开发。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

为什么进行远程开发?

无论身处何处数秒内连接至远程环境

  1. 充分利用远程计算机的强大功能
    在任何笔记本电脑上都可以轻松工作,无论其性能如何。借助远程计算机的计算资源,充分利用最大规模的数据集和代码库。
  2. 在远程服务器上保护敏感代码
    如果将源代码存储在开发者的笔记本电脑上,那么这些设备被盗或存放不当都将是潜在的安全隐患。通过将代码专门存储在密闭、远程、由公司控制的计算机上可以消除这种风险。
  3. 保持环境一致性
    使用预先确定的工具包、运行时要求、硬件规格等确切内容重现开发环境,这样您就不会再听到“在我的计算机上没有问题呀”这样的对话了!
  4. 简化入门和技术面试
    想要充分测试候选人的技能水平或让新人尽快入门?忘掉 30 项“项目启动”清单吧 – 现在,入门就像采用编排解决方案复制远程计算机一样简单。

远程开发实现方式

具我了解,远程开发大概有以下几种方式:

  1. ssh远程直接在命令行中开发
    vim开发之类
  2. 远程桌面中直接开发
    比如:windows远程桌面,向日葵,ToDesk, VNC
  3. vscode远程开发
  4. idea远程开发

第1种在ssh中远程开发是本人用的最多的,为此我写过非常多的vim配置文章。这个优点就是比较成熟,设备兼容性好。甚至可能使用手机远程ssh进行开发。我甚至用这种方式在自家的电视上做过一段时间的开发。

第2种远程桌面中开发,我一般只是临时使用的。这种开发也不错,要说最大的缺点,也就是会有一定的延长性。画面质量也会有所下降。

上手

安装 JetBrains Gateway

安装比较简单,到这个页面下载你操作系统支持的版本就可以了。
https://www.jetbrains.com/zh-cn/remote-development/gateway/
我下载的是linux版本的。

连接ssh

首先你要有一个远程的ssh服务器,并且有用户名密码之类的。可能是购买的云服务器,也可以是某个可以远程的Linux服务器。推荐是linux,其他系统不清楚是否可以。我这里远程的是ubuntu 22.04的系统的。

New Connection

JetBrains Gateway IDEA远程开发

Connect to SSH

把你的远程服务ssh信息填进去就可以了。
JetBrains Gateway IDEA远程开发

Choose IDE and Project

选择在服务器上下载的IDE版本和项目目录。
JetBrains Gateway IDEA远程开发
点击 Start IDE and Connect 就可以像本地一样开发项目了。非常的简单。

注册与激活

JetBrains Gateway IDEA远程开发
根据提示正常激活,即可。
当然还有一种方式,可以直接到我们的远程服务器上激活。
经过上面的操作,会自动把IDEA下载到如下目录:

~/.cache/JetBrains/RemoteDev/dist/2e929559b06e5_ideaIU-2023.1/bin

可以在远程VNC中手动激活,主要可以使用一些野路子。

具体的野路子激活过程,另启一篇了。
https://blog.csdn.net/lxyoucan/article/details/130282517

自定义IDEA版本

默认只能下载最新版本的IDEA,这里有个选项可以自己上传。
JetBrains Gateway IDEA远程开发
但是经过我测试2021.1.3

运行项目报错

java: Cannot run program “/home/nl/.jdks/corretto-1.8.0_372/bin/java” (in directory “/home/nl/.cache/JetBrains/RemoteDev-IU/_home_nl_workspace_helloworld/compile-server”): error=0, Failed to exec spawn helper: pid: 89541, exit value: 1

这个问题完美解决办法,我不知道。但是我换了个JDK 11的版本就发现问题成功解决了。
JetBrains Gateway IDEA远程开发
网上还有一种解决办法:
https://youtrack.jetbrains.com/issue/IDEA-304440/Cannot-run-program-java-failed-to-exec-spawn-helper-exit-value-1#focus=Comments-27-6736675.0-0

File | Settings | Build, Execution, Deployment | Compiler | * build process VM options text field

-Djdk.lang.Process.launchMechanism=vfork

JetBrains Gateway IDEA远程开发
亲测普通java项目是可以的。

maven的项目这样设置也是可以的,我一开始不行,后来把项目关了重新开又可以了。

真实使用体验

随着刚开始的新鲜感过去后,我发现了一些让我有些不舒服的BUG。

ideaVim插件

不稳定,我在使用yy pp这样的最常见的复制粘贴操作。经常会出现失控的问题。甚至会导致IDEA崩溃。

Database

这个功能 的bug比较多,比如Ctrl+Enter 查询快捷键时灵,时不灵。特别影响心情。只能用鼠标操作。而且没有绿色三角形按钮。

对于我来说几乎是一个不可用的状态。

算了数据库查询相关的,我就先本地查询吧,好在这部分的计算量不大,不影响电脑性能。

运行与调试

偶尔会出现点击运行或者调试按钮,点了以后没有任何反应。

复制粘贴

这个是我最终无法忍受的问题了。别的BUG我能克服,这个BUG让我直接自废武功啊。

这个BUG不是必然出现的,但是出现的频率很高。出现以后就无法复制了。只有把IDEA关了重新开。有些浪费时间。

JRebel点了无法反应

现象

在部分project中JRebel的图标点了没有反应。而大部分project中又可用。

解决办法

假如遇到点击没有反应,则重新安装一下这个JRebel的插件。你会发现此时这个图标虽然有,但是插件管理中显示这个插件没有安装。重新安装后,问题得到解决。

难道插件的配置信息与project也有关联。我感觉这个应该是BUG。

探索过程

很神奇,有同时开发了两个java项目,一个JRebel正常,一个点了没有任务反应。
我做了以下操作后,不正常的项目JRebel也正常了。

  1. 对比我发现无法使用JRebel的项目使用的是JDK11,我就把它统一换成了JDK8
    并且做了以下操作:
    File | Settings | Build, Execution, Deployment | Compiler | * build process VM options text field
-Djdk.lang.Process.launchMechanism=vfork
  1. 重启项目后神奇的事情又发生了,我发现重启后,JRebel的图标竟然没有了。我在插件管理中发现这个插件变成没有安装的状态,我重新安装这个插件后。重启IDEA,JRebel变成可用状态。

我做了以上操作,成功解决了。我个人认为,应该是第2步解决了吧!

参考

官方文档:
https://www.jetbrains.com/zh-cn/remote-development/文章来源地址https://www.toymoban.com/news/detail-476815.html

到了这里,关于JetBrains Gateway IDEA远程开发的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【必看答疑】为什么我的电脑远程连接不上?

    最近产品经理企微收到很多小伙伴的消息,其中遇到比较高频的问题是“为什么我的电脑 远程连接 不上?”。 每个人的电脑和显卡配置不同,RayLink远程控制软件给出的解决方法也不同,特此写这篇文章统一解答大家的问题,建议收藏!一直处在连接状态,连不上受控端电脑,

    2024年02月11日
    浏览(60)
  • 为什么远程访问软件是建筑师的必备品

    在充满活力的建筑世界中,每条线条和轮廓都很重要。建筑师是这些杰作背后的创造者,他们面临着日益苛刻的环境,客户期望在紧迫的期限内完成。想象一下设计界限模糊、协作无止境的世界。如果建筑师能够超越传统障碍,将他们的愿景变为现实,无论他们身在何处,情

    2024年02月09日
    浏览(38)
  • 使用 @Autowired 为什么会被 IDEA 警告,应该怎么修改最佳?

    # 问题原因 关于这个问题,其实答案相对统一,实际上用大白话说起来也容易理解。 1.初始化问题 先看一下Java初始化类的顺序:父类的静态字段 父类静态代码块 子类静态字段 子类静态代码块 父类成员变量 父类构造代码块 父类构造器 子类成员变量 子类构造代码块 子类构

    2024年02月13日
    浏览(48)
  • 为什么 IDEA 建议去掉 StringBuilder,而要使用 “+” 拼接字符串?

    作者:京东零售 姜波 来源:京东云开发者社区 各位小伙伴在字符串拼接时应该都见过下面这种提示: 内容翻译:报告StringBuffer、StringBuilder或StringJoiner的任何用法,这些用法可以用单个java.lang.String串联来替换。使用字符串串联可以使代码更短、更简单。只有当得到的串联至

    2024年02月05日
    浏览(67)
  • 为什么Spring和IDEA不推荐使用@Autowired注解,有哪些替代方案?

    在使用Spring框架和JetBrains IDEA集成开发环境(IDE)进行Java开发时,你可能经常会遇到@Autowired注解。@Autowired是Spring框架中用于实现依赖注入的核心注解之一。然而,近年来,Spring和IDEA都不再推荐使用@Autowired注解,并提出了更好的替代方案。本文将详细分析为什么Spring和IDEA不

    2024年02月07日
    浏览(63)
  • JetBrains Gateway远程连接用不了

        Last modified: 02 February 2023 The Remote Development feature for JetBrains IDEs is still in its active development stage, so that some issues may occur. This page is aimed to help you with an initial troubleshooting during the setup or later work. Ensure you\\\'ve made yourself aware of our documentation\\\'s System requirements and FAQ parts. Questi

    2024年02月16日
    浏览(51)
  • 为什么pycharm远程连接服务器运行时总会出现找不到文件或目录

    目录 解决方法 为什么会出现这样的问题 我们需要修改一个设置 具体步骤如下: 1、右下角点击它,选择interpreter setting  2、进入下图界面,点击箭头所指位置,选择show all 3、进入下图界面,选择你要修改的python interpreter,点哪个🖊进行修改    4、进入下图界面,默认情况下

    2024年02月15日
    浏览(70)
  • Spring和IDEA都不推荐用的@Autowired注解,为什么还有那么多人用?

    @Autowired的默认装配 我们都知道在spring中@Autowired注解,是用来自动装配对象的。通常,我们在项目中是这样用的: 没错,这样是能够装配成功的,因为默认情况下spring是按照类型装配的,也就是我们所说的byType方式。 此外,@Autowired注解的required参数默认是true,表示开启自动

    2023年04月18日
    浏览(60)
  • 为什么要学GIS开发

    GIS技术使用专门的计算机系统来获取地理数据并将其集成到智能“超级”地图中。然后,这些数据可用于创建无穷无尽的“假设”场景,为以下应用程序提供强大的工具: 制图(地图制作) 应急管理 环境科学与安全 森林和牧场管理 国土安全 医药保健 房地产开发与评估 社

    2024年02月10日
    浏览(40)
  • 我为什么使用Linux做开发

    目前市面上主流的桌面操作系统在大多数人眼里只有Windows和MacOS,那为什么我没选择它们两呢? 首先,不选MacOS的原因,就是太贵。当然这是我的原因不是苹果的原因,我最早使用Linux写代码的时候是2018年,那时候刚毕业上班不久,根本买不起Mac(虽然现在也觉得有点贵)。

    2024年03月11日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包