必须完成三步:1. 在external tools中添加工具并填全参数;2. 命令栏用绝对路径(如"c:\python39\python.exe");3. 重启notepad++才能在customize toolbar中显示该命令。

外部工具定义后 Run 菜单没出现对应项?检查是否漏了这三步
Notepad++ 的「运行」菜单本身不提供预置按钮,所有自定义命令都必须先通过 Settings → External Tools 定义,否则不会出现在 Run 菜单末尾,更不可能被加到工具栏。常见错误是只改了快捷键或点了 Customize Toolbar 却没定义工具本身。
- 必须先在
External Tools对话框中点击Add Tool,填入名称、命令、参数(如python "$(FULL_CURRENT_PATH)")、初始目录 - 勾选
Save current file before executing,避免未保存文件传空路径导致命令失败 - 定义完成后,该条目会自动追加到
Run菜单最底部;此时才能右键Run菜单 →Customize Toolbar找到并勾选它
点了工具栏按钮却报“系统找不到指定的文件”?八成是 Python 路径没写死
这个错误不是 Notepad++ 的 bug,而是 Windows 在调用外部命令时找不到可执行文件——python 命令只在你当前终端环境里有效,Notepad++ 启动时用的是系统默认 shell 环境,PATH 可能不同。
- 在 CMD 中运行
where python,拿到完整路径(比如C:\Python39\python.exe) - 把外部工具的「命令」字段改成带引号的绝对路径:
"C:\Python39\python.exe" "$(FULL_CURRENT_PATH)" - 如果路径含空格,双引号不能省;只写
python或py很大概率失败 - 别依赖
$(FULL_CURRENT_PATH)传参:新建未保存文档时它为空字符串,命令会变成"C:\Python39\python.exe" "",直接报错
Customize Toolbar 里找不到刚加的命令?重启 Notepad++ 是硬性要求
Notepad++ 不会在定义外部工具后实时刷新工具栏候选列表。即使你确认已添加、Run 菜单里也出现了,Customize Toolbar 对话框仍可能不显示它——这是缓存行为,不是配置遗漏。
- 关闭所有 Notepad++ 窗口(包括后台进程,任务管理器里看有没有
notepad++.exe) - 重新打开 Notepad++,再打开
Run菜单 → 右键 →Customize Toolbar - 这时列表才会更新,你定义的命令才会出现在可勾选项中
- 勾选后,图标固定为小齿轮,无法更换;图标位置也不能拖拽调整
想给按钮配快捷键?Shortcut Mapper 里单独绑,和工具栏无关
工具栏按钮和快捷键是两套独立机制。你在 Customize Toolbar 里勾选了按钮,不代表它自动获得快捷键;反过来,Shortcut Mapper 里设了快捷键,也不会让按钮自动出现。
- 快捷键设置路径:
Settings → Shortcut Mapper → External Tools - 列表里找你定义的工具名(不是命令内容),双击对应行,按键盘输入新组合键
- 注意冲突:比如
Ctrl+R默认绑定「替换」,覆盖前得先清空原绑定 - 快捷键生效不依赖工具栏是否显示,也不影响按钮图标行为
$(FULL_CURRENT_PATH) 为空,而 Notepad++ 不做任何提示或拦截——它会原样把空字符串传给命令行,结果就是黑窗口闪一下就消失,连错误信息都不给你看。











