3

根据 jshell 文档:

在命令提示符下编辑的另一种方法是使用外部编辑器。此编辑器可用于编辑和创建片段,对多行片段特别有用。您可以配置 JShell 以使用您选择的编辑器。

因此,为了实现这一点,我使用以下命令:

jshell> /set editor sublime
|  Editor set to: sublime

然后,我尝试如下编辑一个片段:

jshell> /edit printName
|  Edit Error: process IO failure: Cannot run program "subllime": error=2, No such file or directory

但是,我得到了上述错误。那么它是设置编辑器的正确方法还是需要其他东西?我还尝试将 Microsoft Word 设置为编辑器,并从 Mac 的 Application 文件夹中指定了确切的应用程序路径,如下所示:

jshell> /set editor /Users/karan.verma/Applications/Microsoft Word.app
|  Editor set to: /Users/karan.verma/Applications/Microsoft Word.app

甚至,当我将编辑器设置为“原子”时,我得到了相同的结果:

jshell> /set editor atom
|  Editor set to: atom

但它仍然显示相同的错误。有什么帮助吗?

4

4 回答 4

2

可能不适用于OP。但为我工作。因此,将其发布在这里,希望对某人有所帮助。

如果您可以subl在终端上键入并且 Sublime Text 打开(表示subl在 中PATH),请尝试:

/set editor subl -w

subl如果在终端上键入时 Sublime Text 没有打开,但运行时"/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl"确实打开了 Sublime Text(意味着subl不在 中PATH),请尝试:

/set editor "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" -w

-wflag 是在返回之前等待文件在 Sublime Text 中关闭。

于 2017-12-20T16:32:47.333 回答
0

它通过提供 sublime 可执行文件的完整路径对我有用。例如在 Windows 上。

jshell> /set editor c:\sublime3\sublime_text.exe

于 2017-12-20T00:46:49.943 回答
0

您可以通过 JSHELLEDITOR 用户/系统变量指定 jshell 编辑器

于 2019-01-19T18:44:52.830 回答
-1

即使我面临同样的问题,因为我正在发出命令

jshell > /set 编辑器“/Applications/Sublime Text.app”

但缺少的是 sublime 的内容文件夹中 bin 目录的确切路径。

解决方案:

jshell > /set 编辑器“/Applications/SublimeText.app/Contents/SharedSupport/bin/subl”

试试这个,它会 100% 工作。

于 2019-06-11T13:23:39.773 回答