Idea Intellij 远程开发调试

2023-05-16

一、背景

在构建MiniOB开发环境时需要Linux环境,另外结合分布式系统,利用较好的通信,萌发了远程开发的想法;实际上远程部署、开发在很久之前有过想法(大约刚开始学SpringBoot进行部署软件时,反复地本地开发在上传远程部署)。欲善其事,必先利其器,Jetbrains系列IDE是极具优秀体验的工具,也是我十分青睐的,自21年1月安装了20版之后,由于考研等因素,一直没有更新,今天对Idea、Clion进行了升级,并体验了其远程开发(Beta)的新特性。

优点:

  • 利用远程服务器的开发环境(例如高CPU、内存)、资源(适合本地性能较差的试用)
  • 便于开发、部署
  • 避免环境不一致问题、便于协作

缺点:

  • 增大开销(在我刚开始尝试时,阿里云服务器瞬间SSH访问不了,经排查CPU、内存资源瞬间飙升)
  • 协作冲突等(由于将项目放在远程服务器,若共同去开发,应该会涉及冲突问题?,借鉴git管理版本,还没进行多人协同远程开发,暂且个人猜测)

二、简单尝鲜

准备工作

  • 远程服务器\Docker\WSL等(并配置IP,保证连通性)
  • 本地21年版本后的开发工具Idea Intelij(本人采用的22.2.3版本)

具体步骤

  1. 远程创建项目文件(test-project)
    在这里插入图片描述
  2. IDE打开远程开发,并进行SSH连接配置(本人采用的密码认证,方便一点)
    在这里插入图片描述
  3. 安装远程开发的相关服务插件(具有服务端和客户端,会在远程也进行相关的下载安装),并打开远程的工程目录
    在这里插入图片描述
  4. 进行开发,然后就可以打开文件,像在本地开发一样进行开发了,本地相对于一个client,远程一个server相互进行通信(基于ssh),本地进行修改,则可传到远程,类似观察者模式的设计。
    在这里插入图片描述

三、基本原理

在进行简单尝试过程中,通过Idea提示的系列信息,我们可以知道该方式实现应该采用的是 C\S模型,远程服务器是按照Jetbrains的Server端,本地则是Client端,并通过SSH的通信方式保持双方的同步。为了较为清晰地理解,特定去官网大致看了看。
这是远程开发的官方介绍

在这里插入图片描述
Gateway 将安装远程 IDE 后端和本地瘦客户端,并通过 SSH 将其连接。 首先,它会建立 SSH 连接。 指定主机和用户名并提供密钥或密码后,Gateway 将连接到远程服务器。 它会检查是否已经安装了 IDE 后端,如果没有,则会从 jetbrains.com 下载一个新的版本。

启动 IDE 后端前,Gateway 需要知道项目目录。 您可以浏览远程文件系统并选择一个目录,如果项目尚不可用,您可以使用内置终端从版本控制系统中克隆项目。

选择 IDE 版本和项目目录后,Gateway 会将 IDE 下载到远程服务器、解压缩并启动,同时加载项目。 然后它会在本地下载、缓存和启动匹配版本的 JetBrains Client。

四、反思总结

除了关注技术之外,也可去看看工具的发展,提升开发效率,从工具链的角度思考最新技术,例如jetbrains也推出了 DevOps的开发工具,也可进行一些常识,思维不要固守。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Idea Intellij 远程开发调试 的相关文章

  • JAVA之旅的第一步(安装JDK与JRE以及环境变量和IDEA)

    作为一名想要成为程序员的小白 我们开始肯定要学会一门语言 JAVA作为目前最为主流的编程语言 肯定是大家都要去学习的 那么如何开始我们的第一步呢 一 JDK与JRE的安装 首先我们要先安装JAVA 打开下面这个网址 注册你的Oracle账号
  • DataGrip 2022.2.2 Unknown column ‘generation_expression‘ in ‘field list‘

    安装DataGrip 2022 2 2 连接本地数据库 编写脚本时发现无法自动提示数据库表字段 搜索结果 都是在连接属性 Options Introspection using JDBC metadata 在此版本没有发现此选项 查找发现在
  • IDEA插件系列(33):RestfulTool插件——Restful服务开发辅助工具集

    1 插件介绍 RestfulTool插件 一套 Restful 服务开发辅助工具集 提供了一个 Services tree 的显示窗口 双击 URL 直接跳转到对应的方法定义 一个简单的 http 请求工具 支持 Spring 体系 Spr
  • idea开发中git合并的代码,

    方法一 将master主分支 合并到 子分支dev上 1 当前如果在dev分支上 先提交dev分支的代码到本地 然后推送到服务器 2 然后切换分支到master主分支上 先更新master主分支的代码到本地 然后主分支就是最新代码了 3 再
  • Idea如何导入一个SpringBoot项目

    最近公司要求开发工具要用Idea 作为一个eclipse的老员工 记录一下Idea中遇到的坑 刚开始用Idea从Git上导入一个项目时 遇到了很多坑 网上有很多方法 我不多做介绍 只说明一下我使用的方法 1 本地新建一个文件夹 从git上导
  • idea插件生成用例图、时序图、类图、活动图

    给大家推荐一个idea生成用例图 时序图等的神器 PlantUML 最近软件工程要结课了 结课报告要附加用例图 时序图 类图 活动图等 类图我首先就想到可以用idea生成 嘿嘿 可惜忘了怎么用 搜着搜着 突然发现 idea生成时序图 用例图
  • IDEA常用配置之类Tab页多行显示

    文章目录 IDEA常用配置之类Tab页多行显示 IDEA常用配置之类Tab页多行显示 默认在Idea中打开类过多 后面会隐藏显示 这里修改配置 将类设置为多行显示 方便查找已经打开的类 修改后显示样式
  • 解决IntelliJ IDEA 项目结构旁边出现 0%classes,0% lines covered

    解决IntelliJ IDEA 项目结构旁边出现 0 classes 0 lines covered 官方文档解答 两种方法 解决IntelliJ IDEA 项目结构旁边出现 0 class 0 lines covered 官方文档解答 F
  • idea提示非法字符

    问题 解决方法 将编码格式UTF 8 BOM文件转为普通的UTF 8文件 一 简单方法 在AS右下角 将编码改为GBK 再转为UTF 8 可以解决 二 可以用EditPlus 1 将文件用EditPlus打开 然后选择Document 文件
  • IDEA插件-PlantUML

    一 idea安装plantUml插件 在idea中Preferences gt plugins gt Browse repositories gt 搜索 plantUML gt 安装即可 二 通过 brew 安装 Graphviz 安装pl
  • idea导入项目,Lombok插件安装了,且配置文件中配置了,还是不能正常启动,表示找不到get、set方法

    1 保证安装了Lombok插件 2 保证maven或者gradle中添加了依赖 3 如下配置
  • IDEA学习(一)——IDEA的安装

    最近IDE从Eclipse转到了IDEA 抽时间熟悉了一下IDEA相关的东西 在此记录一下说不定可以帮到有需要的同学 我们就先从IDEA的安装说起吧 需要说明一点的是IDEA是比较吃内存的 所以在安装IDEA之前最好确认的内存不要太小 最好
  • Mac中安装anaconda3的2种方法:手动或homebrew安装

    Mac 上非常好用的包管理器 Homebrew 我们经常用它来安装软件包 它不仅可以安装MySQL MongoDB等软件包 还可以用Homebrew cask安装图形界面的 App 如谷歌浏览器等 也可以用终端上的 Mac App Stor
  • WebSocket + kafka实时推送数据(springboot纯后台)

    逻辑 kafka订阅消费者主题 消费后通过webSocket推送到前端 kafka vue financial webSocket 学习引用 SpringBoot2 0集成WebSocket 实现后台向前端推送信息 World Of Mos
  • 字节流、字节流、转换流、打印流

    字节流 字节流 转换流 打印流 一 字符流 概述 字符流只能操作有文字的文件 纯文本文件 字符流的操作原理 字符输入流 先把字节从文件中读取出来 使用的字节流读的 根据文件的编码集把字节数变为对应的字符 把字符 读到内存中 解码的过程 字符
  • maven学习笔记之IDEA+Maven+Jetty运行一个简单的web项目

    maven学习笔记 一 什么是maven Maven是一个项目管理工具 它包含了一个项目对象模型 Project Object Model 一组标准集合 一个项目生命周期 Project Lifecycle 一个依赖管理系统 Depende
  • IDEA java.lang.NullPointerException (no error message)

    今天在不停启动debug 停止debug后无法再启动debug 提示java lang NullPointerException no error message 经百度 删除 project下 gradle无效 恢复代码后无效 且未更改配
  • IDE简介

    集成开发环境 IDE Integrated Development Environment 用于提供程序开发环境的应用程序 一般包括代码编辑器 编译器 调试器和图形用户界面等工具 集成了代码编写功能 分析功能 编译功能 调试功能等一体化的开
  • 蓝桥杯-快乐数-力扣

    202 快乐数 编写一个算法来判断一个数 n 是不是快乐数 快乐数 定义为 对于一个正整数 每一次将该数替换为它每个位置上的数字的平方和 然后重复这个过程直到这个数变为 1 也可能是 无限循环 但始终变不到 1 如果这个过程 结果为 1 那
  • 配置文件中的$和@

    配置文件中的 和 0 前言 借鉴文章 https blog csdn net Saintmm article details 124603343 https blog csdn net ster ben article details 11

随机推荐

  • VSCode插件MySQL连接数据库

    VSCode插件MySQL连接数据库 安装插件 Ctrl 43 Shift 43 X 输入MySQL xff0c 点击install 连接MySQL数据库 点击浏览界面下方开源看到MYSQL xff0c 点击右边的加号 主机名 xff0c
  • VSCode警告 Import “package“ could not be resolved

    VSCode警告 Import package could not be resolved Pylance插件报告缺少的引入 解决方案 Ctrl 43 Shift 43 P打开命令面板 xff0c 输入settings xff0c 选择Pr
  • VSCode插件Remote-SSH连接远程服务器错误 “could not establish connection *****“

    VSCode插件Remote SSH连接远程服务器错误 could not establish connection 解决方案 到目录C Users User Name ssh下 xff0c 其中User Name是电脑用户名 xff0c
  • VSCode插件 优雅地使用Jupyter Notebook

    VSCode插件 优雅地使用Jupyter Notebook 环境 Python 3 7 4 conda 4 7 12 jupyter notebook 6 0 1 要求需要有Python环境和Anaconda环境 安装了jupyter n
  • pymssql连接mssql错误:pymssql.OperationalError: (20009, b‘DB-Lib error message 20009, severity 9:\

    pymssql连接mssql错误 xff1a pymssql OperationalError 20009 b DB Lib error message 20009 severity 9 打开SQL Server Configuration
  • 基于有道翻译的英翻中微信小程序

    基于有道翻译的英翻中微信小程序 环境 微信开发者工具 微信小程序云开发 node js v12 16 3 axios 64 0 20 0 cheerio 64 1 0 0 rc 3 相关内容 Node js有道翻译爬虫 客户端 创建新的微信
  • PaddleHub OCR实现文字识别

    PaddleHub OCR实现文字识别 环境 paddlehub 61 61 1 8 3 paddleocr 61 61 1 0 1 paddlepaddle 61 61 1 8 5 Shapely 61 61 1 7 1 pip安装 pi
  • IDEA连接远程MongoDB数据库

    IDEA连接远程MongoDB数据库 环境 IntelliJ IDEA 2020 2 3 Ultimate Edition MongDB 4 2 1 阿里云MongoDB控制台 进入阿里云控制台 xff0c 选择MongDB实例列表 xff
  • 开发常用网站

    开发常用网站 开发工具 JetBrains VSCode SublimeText Web开发 微信小程序开发者文档 Node js boostrap HTML HTTP服务器 Nginx Tomcat Apache HTTP Server
  • 使用Idea创建项目的一种清晰思路

    1 打开Idea后 xff0c 选择File gt new gt project 2 选择空项目 3 将project命名为任意名称 xff0c 这里命名为Java Exercise xff0c 点Finish 4 弹出对话框 xff0c
  • Spring Boot搭建Web项目(MongoDB)

    Spring Boot搭建Web项目 环境 JDK 1 8 IntelliJ IDEA 2020 3 2 Ultimate Edition PyCharm 2020 2 4 Professional Edition Maven 3 6 bs
  • 银行家算法 C++描述

    银行家算法 C 43 43 描述 银行家算法 操作系统 银行家算法 实现代码 main cpp span class token macro property span class token directive keyword inclu
  • 三种修改windows系统MAC地址方法

    方法一 xff1a 使用windows控制面板修改 第一步 按win键 gt 输入 控制面板 并打开 第二步 打开 网络和共享中心 第三步 打开 更改适配器设置 第四步 右击 WLAN2 后点击属性 第五步 修改网络地址属性 点击配置 xf
  • 【操作系统实验】Linux环境下用进程实现生产者消费者问题——C语言完整代码+详细实验报告

    注意 代码在文末 xff0c 以下为详细实验报告 实验目的 以生产者和消费者问题为例 xff0c 学习并熟悉Linux下进程通信 同步机制的具体实现方法 xff0c 主要是了解并掌握信号量机制和共享内存的使用方法 xff0c 进一步熟悉Li
  • mariadb的源码安装

    xff08 1 xff09 登上mariadb的官方网站 2 选择下载mariadb server 3 下载10 2版本 4 找到源码安装方式 xff08 5 xff09 下载传输到主机上 6 准备编译环境 yum span class t
  • HTTP协议以及Apache的httpd配置

    HTTP协议 前言HTTP简介HTTP诞生HTTP版本历史HTTP 0 9HTTP 1 0HTTP 1 1HTTP 2 0 web资源HTTP工作流程HTTP报文报文语法格式method xff08 方法 xff09 status xff0
  • 狂神说Redis笔记,Redis【入门】就这一篇就够了!

    Redis学习笔记 视频链接 xff1a 狂神说Redis链接 1 Nosql概述 1 1 为什么要使用Nosql 1 单片机Mysql时代 90年代 xff0c 一个网站的访问量太大 xff0c 单个数据库完全够用 随着用户的增多 xff
  • manjaro一些常用软件,指令(持续更新中)

    manjaro使用很久了 xff0c 由于对linux的陌生和迷惑 xff0c 重装了很多很多很多次 xff0c 最近的系统大概是使用最久的一次 xff0c 也解决了很多以前的问题在此记录下 系统如下 xff1a 软件安装 换源 烂大街的教
  • 在开发板上安装gdb

    网上对于在开发板上安装gdb的教程大多都是将开发板的文件系统放在虚拟机主机上 xff0c 从而通过nfs挂载上去的 xff0c 主要是针对性能较差开发板 xff0c 本教程讲解的是如何在开发板上直接安装gdb 为什么不能直接将pc上交叉编译
  • Idea Intellij 远程开发调试

    一 背景 在构建MiniOB开发环境时需要Linux环境 xff0c 另外结合分布式系统 xff0c 利用较好的通信 xff0c 萌发了远程开发的想法 xff1b 实际上远程部署 开发在很久之前有过想法 xff08 大约刚开始学Spring