JetBrains Projector 体验
先来一张最终效果图:

JetBrains Projector 是 JetBrains 的“远程开发”解决方案,基于 Client + Server 架构,对标的是微软 VSCode 的 Remote Development 方案。
与 VSCode 方案的区别:
- VSCode 通过 SSH 之类的技术,只传输代码、索引等数据,仅将计算匀给服务器,而渲染显示等还是依赖本地的 VSCode 客户端
- IDEA 系列全部 IDE 都是基于 Java 开发的,使用 Swing 进行界面的渲染。Projector 则是改动了 Swing 的渲染机制,通过网络传输渲染指令,最终使用 Web 技术将界面展现出来。除了客户端,Projector 也支持在浏览器中渲染使用。
要实现这一点,需要如下条件:
- 服务端:官方提供了 3 中方式安装 Server 端
- 客户端:有两种方式连接服务端
- 官方 Client:跨平台,应该是基于 Electron,没有多余的浏览器 UI 元素及可能的快捷键冲突,推荐此方案。
- 浏览器:通过浏览器直接方案服务端暴露的 url 直接访问(本次体验使用了该方式)。

此次体验,服务端采用 Python 脚本安装,客户端直接使用浏览器访问,服务器为 Ubuntu 系统,安装步骤如下:
- 安装 python3 及 pip3 基础环境:sudo apt install python3 python3-pip -y
- 确保安装底层依赖:sudo apt install libxext6 libxrender1 libxtst6 libfreetype6 libxi6 -y
- 安装 projector-installer:pip3 install projector-installer --user
- 如果提示 “ERROR: pyopenssl 20.0.1 has requirement cryptography>=3.2, but you'll have cryptography 2.8 which is incompatible.” 需要在安装命令后加上更新 cryptography 的指令:pip3 install projector-installer --user --upgrade cryptography
- 添加配置信息,指定 IDEA 路径后,运行 projector:projector run
- 安装后如果直接运行命令 projector run,会提示找不到 projector 命令,需要在 ~/.profile 中添加环境变量信息
- 运行前需要添加配置信息:projector config add steve-BSRE-1605,其中 “steve-BSRE-1605” 是我的配置信息名称,需要替换为自己的信息,在配置过程中需要输入 IDE 的路径,如:/snap/intellij-idea-ultimate/current/ (在 Ubuntu 中通过 snap 方式在应用商店安装后的默认位置)
参考资料:
- 官方文档:https://jetbrains.github.io/projector-client/mkdocs/latest/
- 知乎:https://www.zhihu.com/question/431322237
- 博客:https://xknow.net/jetbrains-projector-experience/
JetBrains Projector 体验的更多相关文章
- IDE搬进浏览器里——JetBrains Projector
发展 提起 JetBrains,你会想到什么?各路强大的 IDE,比如 Android Studio.IDEA.WebStorm--这些对于开发者来说耳熟能详的产品都出自这家公司,这些 IDE 的功能 ...
- JetBrains又出神器啦!Fleet,体验飞一般的感觉
目录 简介 从eclipse到Fleet Fleet的特性 JetBrains Space 总结 简介 java开发的同学可能对于JetBrains这家公司并不陌生,因为JetBrains号称拥有世界 ...
- JetBrains Fleet初体验,如何运行一个java项目
序言 各位好啊,我是会编程的蜗牛,JetBrains 日前宣布其打造的下一代 IDE Fleet 正式推出公共预览版,现已开放下载.作为java开发者,对于JetBrains开发的全家桶可以说是印象深 ...
- JetBrains新产品Aqua——自动化测试开发工具(抢鲜体验)
转载请注明出处️ 作者:测试蔡坨坨 原文链接:caituotuo.top/9a093c88.html 你好,我是测试蔡坨坨. 随着行业内卷越来越严重,自动化测试已成为测试工程师的必备技能,谈及自动化测 ...
- Java 开发主流 IDE 环境体验
前言 本来应该继续从 Oracle 官网搬砖的,但是随着示例代码越来越复杂,涉及的类库越来越多,使用 Vim 写 Java 代码就很力不从心了,是时候上 IDE 了.我最熟悉的 IDE 环境是 Ecl ...
- python--基础学习(一)开发环境搭建,体验HelloWorld
python学习之前 最近想用python写爬虫,由于之前没接触过,所以从零开始,找了技术博文大概了解下基础. 印象比较深的是"python你不去认识它,可能没什么,一旦你认识了它,你就会爱 ...
- 从JetBrains公司产品给我的商业模式启示
JetBrains是捷克一家公司,专门从事IDE工具的开发,运营的产品有十几个.我因为使用JavaScript IDE工具而了解了WebStorm.进而了解了开发WebStorm的公司JetBrian ...
- webstorm+nodejs+JetBrains IDE Support+chrome打造前端开发神器
#webstorm+nodejs+JetBrains IDE Support+chrome打造前端开发神器 -- 工欲善其事 必先利其器 ##各工具介绍 `webstorm`是**JetBrains* ...
- .NET Core多平台开发体验[1]: Windows
微软在千禧年推出 .NET战略,并在两年后推出第一个版本的.NET Framework和IDE(Visual Studio.NET 2002,后来改名为Visual Studio),如果你是一个资深的 ...
随机推荐
- TestNG学习-依赖
背景: 有时,需要按特定顺序调用测试方法.例如: 在运行更多测试方法之前,请确保一定数量的测试方法已经完成并成功. 在希望将初始化的方法也用作测试方法的同时初始化测试项目. TestNG允许使用注解或 ...
- postman skills
postman skills variables https://learning.postman.com/docs/sending-requests/variables/ https://learn ...
- CSS selector All In One
CSS selector All In One CSS selector https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors ...
- 微信小程序 HTTP API
微信小程序 HTTP API promise API https://www.npmtrends.com/node-fetch-vs-got-vs-axios-vs-superagent node-f ...
- window.locationbar
window.locationbar demo https://cdn.xgqfrms.xyz/#/operate-tool/select-seat-system/select-detail?temp ...
- TypeScript & Examples
TypeScript & Examples http://www.typescriptlang.org/samples/index.html https://github.com/Micros ...
- m1款MacBook Air 使用3个月总结及原生运行于apple架构软件推荐
前言 我之前一直是一个坚定的Windows/Android党,大学的时候用过几台iPhone,感觉也就那样.这次m1版本的Mac一发布我直接又转回apple阵营了,11月份的时候官网订了一台m1 版本 ...
- 五分钟快速上手MyBatis
MyBatis 是一款优秀的持久层框架,它支持自定义 SQL.存储过程以及高级映射. 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作. 可以通过简单的 XML 或注解来配置和映射,Ja ...
- Java基本概念:类
一.描述 类是一种抽象的数据类型,它是对某一类事物整体的描述或定义,但是并不能代表某一个具体的事物. 例如,我们生活中所说的词语:动物.植物.手机.电脑等等.这些也都是抽象的概念,而不是指的某一个 具 ...
- QT实现输入框与下拉框提示并可模糊匹配
功能:支持下拉框选择.手动输入更改和模糊匹配 组件:QLineEdit.QComboBox.QCompleter.QStringListModel 一.组件介绍 1.1 QLineEdit QLine ...