【问题标题】:How to set sublime as an external editor for jshell?如何将 sublime 设置为 jshell 的外部编辑器?
【发布时间】:2017-12-18 10:45:34
【问题描述】:

根据 jshell 文档:

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

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

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

然后,我尝试按如下方式编辑 sn-p:

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

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

【问题讨论】:

  • 为特定编辑加一。只需尝试(假设您安装了 Atom)/set editor atom/set editor vi 这些都可以。
  • 如果subl 已经在PATH 中,请尝试/set editor "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl"/set editor subl
  • @Bless 至少对我来说,这些会导致与问题相同的错误。
  • @nullpointer 即使它对原子不起作用...编辑相同的问题。
  • @KayV 用操作系统标签编辑问题,但我很确定这不是 java-9,jshell 特定的。我以前似乎也遇到过与 git 类似的问题。它是您操作系统中的应用程序识别。例如,如果我只是在终端上输入atom,Atom 会打开,但同样不适用于 Sublime。在我看来,这似乎是为什么 jshell 至少无法为我打开 Sublime 编辑器的原因。而且您没有返回 vim 编辑器结果,这样可以正常工作吗?

标签: java macos editor java-9 jshell


【解决方案1】:

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

如果您可以在终端上输入 subl 并且打开 Sublime Text(意味着 sublPATH 中),请尝试:

/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

-w 标志是等待文件在 Sublime Text 中关闭后再返回。

【讨论】:

  • 这同样适用于Visual Studio Code。支持相同的 -w 标志。
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

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

      jshell > /set editor "/Applications/Sublime Text.app"

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

      解决方案:

      jshell > /set editor "/Applications/SublimeText.app/Contents/SharedSupport/bin/subl"

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

      【讨论】:

        猜你喜欢
        • 2015-08-07
        • 2015-09-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-04-17
        • 2014-07-10
        • 1970-01-01
        相关资源
        最近更新 更多