You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JShell配置Notepad++/VS Code为外部编辑器时不实时识别保存的变更,仅Windows记事本正常的原因咨询

JShell配置Notepad++/VS Code为外部编辑器时不实时识别保存的变更,仅Windows记事本正常的原因咨询

问题简述

最近配置JShell外部编辑器时遇到了个奇怪的问题:为什么用Notepad++或VS Code时,保存代码修改后JShell完全没反应,只有关闭整个编辑器程序才会识别到变更?但用Windows自带的记事本却完全符合官方文档里说的「保存修改后JShell窗口立刻生成输出」的描述?

详细经过

我本来想换掉JShell默认的极简编辑器,查了Oracle关于JShell外部编辑的相关说明,里面明确写了:

要设置JShell使用你选择的编辑器,使用/set editor命令,参数是启动该编辑器的对应命令……
在外部编辑器中定义变量并保存变更后,JShell窗口会生成对应的输出……
关闭外部编辑器后恢复JShell的提示符。

于是我按步骤把编辑器设为Notepad++,执行/edit打开它,写入int x;后按Ctrl+S保存,但JShell窗口一点反应都没有。只有当我把整个Notepad++关掉,JShell才会突然识别到变更并执行代码。后来试了VS Code当编辑器,情况也是一模一样。

但换成Windows自带的记事本时(执行/set editor Notepad),就完全和文档说的一样:保存修改的瞬间,JShell就会输出反馈,根本不需要关闭编辑器窗口。

我用的是JShell 21.0.5版本,实在搞不懂为什么这几个编辑器的行为会有这么大的差异,想请教下大家这是怎么回事?


备注:内容来源于stack exchange,提问作者Xbox 360

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 09:29:30