java jshell不遵循外部编辑器保存更改

问题描述 投票:0回答:1

长的故事,简短

为什么Jshell不识别Notepad ++或VS代码中的外部编辑器中保存的更改?为什么它实际上可以与普通的Windows记事本一起使用?

长故事

i发现我可以更改编辑器为JSHELL打开的内容,因为它提供的默认编辑器非常小且非常基本。

,无论如何,我遇到了这个问题,试图看看我是否可以在Oracle的网站上找到答案(a,我没有,因此为什么要在这里问)。 On

Oracle的网站涉及Jshell和外部编辑

,它读取

要设置jshell以打开您选择的编辑器,请使用 /set编辑器命令。 /set编辑器命令的参数是启动要使用的外部编辑器所需的命令...

在“外部编辑器”窗口中定义x并保存更改会在jshell窗口中生成[an]输出...

关闭外部编辑器将还原jshell提示。

现在问题是我尝试使用记事本++作为我的外部编辑器,但是它不遵循“在外部编辑器窗口中定义x并保存更改在jshell窗口中生成[AN]输出的文档。” 我将编辑器设置为记事本++。我调用

/edit

,它打开了记事本++。然后,我写下

int x;

并点击

ctrl
+

S

保存,可惜在Jshell窗口中什么也没发生。只有当我关闭整个记事本++应用程序时,Jshell才会注册更改并评估/执行代码。我注意到当我到vs代码时发生了类似的事情。

否,我还注意到,当我喜欢文档读取时,Jshell实际上会承认更改。

为什么当我尝试将其与Notepad ++或VS代码一起使用时,为什么不遵循网站上的文档?我可以确认我正在使用jshell21.0.5.。
    
“在外部编辑器窗口中定义x并保存更改会在jshell窗口中生成[a]输出”不一定意味着在保存编辑的文件后立即出现输出。输出IS生成了,但仅在恢复jshell提示时才显示出来,文档说这是在关闭外部编辑器时发生的。这是我在Windows和Linux上看到的行为,使用任何类型的编辑器:

当i键入编辑器中并保存文件(例如使用

ctrl

s

),直到我退出编辑器之前,JSHELL中什么也不会发生。然后,只有这样,Jshell显示了生成的输出:

/set editor

java editor jshell
1个回答
0
投票
/set editor Notepad

开始,我会得到: /set editor 当您关闭记事本++窗口时,您会看到的是,jshell提示符未恢复,因为默认情况下,Notepad ++关闭其窗口时不会退出:它仅保存文件并关闭窗口,而不是应用程序本身。应用程序(即运行记事本++的OS进程)继续运行。要完全退出,您必须在系统托盘中关闭它。如果您愿意,您可以配置它不要这样做。 VS代码也是如此。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.