关心新闻的同学可能都知道了,最近我司的 IDE 出了个新功能叫 LightEdit(需要 2020.1 EAP 版本),可以在不启动一个项目的情况下打开一个文件。之前的版本如果直接打开一个文件的话,IDE 会为这个文件创建一个假的项目,然后把你打开的文件视为项目里唯一的文件,如图。
在打开的过程中,我们可以观察到如下现象(里面有报错是正常的,因为没打开项目所以依赖解析不了):
- 依然有 preparing workspace 的过程,不知道会不会 indexing
- 有完整的 menu 和 toolbar,什么 run configuration,Analyze,Build 之类很明显不能用的 menu 的全都有
- 工程的名字和工程里唯一的文件名相同
- 工程文件在
AppData/Local
这类临时文件目录里,意味着给了你保存设置的能力但是实际上这些设置不能被保留。可能你会天真地在这个地方修改了半天的设置,然后用 Windows 清了临时文件然后就全 部 無 駄了
现在的话打开会是这个样子的:
可以看到这个新的 LightEdit 模式有如下优点:
- 没有加载工程了,也没有 indexing 的过程,启动很快
- memory indicator、git 管理之类的依然可用(右下角)
- 高亮依然存在,但是没有智能编辑的功能(可理解,因为没加载项目,依赖、编译参数和配置都没法解析)
- Menu 只有必要的四项,toolbar 没了
- Presentation Assistant 还能用
有些不尽人意的地方:
- 唤起 find actions 的能力没了,有些简单的 action 只要没入口按钮就找不到。插件开发者们可通过给 Action 实现
LightEditCompatible
接口来让 Action 在 LightEdit 模式可用 - 暂时没发现
那么你们可能就要问了,这个 LightEdit 模式是不是特别像一个带 IntelliJ 系插件的高亮功能的记事本啊。我可以在命令行里 gedit 114514.cxx
,为什么要开 IDE 来用记事本呢。哈哈,那么我介绍一个方法来命令行启动 LightEdit 模式的 IDE,前题是你装了 toolbox app。
进入设置页面,把红框中的选项勾上,然后把蓝框中的路径加入“Path”环境变量里。
对于每个 IDE 可以在设置里面指定一个命令的名字,比如我同时有两个版本的 idea,那么就一个叫 ideac 一个叫 ideau:
然后打开控制台,以 ideac 为例,输入类似这样的命令(跟你用 Emacs,gedit 之类的打开文件一样的):
然后就可以快速打开文件了:
然后你就会发现本文实际上是标题党,因为这个打开还是有点慢(比起 vi/gedit 之类的),不过比启动一个工程快多了。我认为这是个客观限制,我高中自己用 Swing 写的代码编辑器(https://github.com/ice1000/dev-kt)也无法做到 gedit 那个级别的启动速度。在我的电脑上和 vscode 启动速度差不多,所以我觉得可以理解。
敬请期待后续更新。我不能说多了,不要试图从我口中问出之后的 roadmap,请自行关注我司的博客 https://blog.jetbrains.com/(