notepad++运行typescript需tsc编译+node执行,不可直接运行.ts文件;须确保tsc和node在path中,用nppexec脚本cd "$(current_directory)" && tsc "$(file_name)" --outdir ./dist --target es2020 --module commonjs && if exist "dist$(name_part).js" node "dist$(name_part).js" && pause,绑定快捷键并手动唤出nppexec控制台。

Notepad++ 不能直接运行 .ts 文件,必须通过 Node.js 调用编译器或解释器;最轻量、可控的方式是用 tsc 编译 + node 执行,而不是依赖 ts-node —— 后者虽快,但跳过类型检查,容易掩盖真实问题。
确保 tsc 和 node 命令在系统 PATH 中
这是所有后续操作的前提。Notepad++ 本身不管理环境变量,它完全依赖 Windows 的 PATH。
- 在 CMD 中运行
where tsc和where node,两者都必须有输出路径,否则 NppExec 脚本会报“不是内部或外部命令” - 如果
tsc找不到:全局安装 TypeScript:npm install -g typescript,然后把 npm 全局 bin 路径(如C:\Users\XXX\AppData\Roaming\npm)手动加进系统环境变量PATH - 改完 PATH 后,**必须彻底退出 Notepad++ 进程**(任务管理器里杀掉所有
notepad++.exe),再重开,否则新 PATH 不生效
用 NppExec 写一个安全的编译+执行脚本
避免空格路径、中文路径、编译失败后仍强行执行等常见翻车点。
完整的Galileo AI平台 TypeScript/JS SDK 参考,用于评估、观察和保护 GenAI 应用。适用于构建 Node.js 或 TypeScript 项目。
- 打开
Plugins → NppExec → Execute...,粘贴以下内容:
cd "$(CURRENT_DIRECTORY)" tsc "$(FILE_NAME)" --outDir ./dist --target ES2020 --module commonjs if exist "dist\$(NAME_PART).js" node "dist\$(NAME_PART).js" pause
-
$(NAME_PART)自动提取文件名(不含.ts),比硬写app.js更可靠 -
--outDir ./dist把 JS 输出到独立目录,防止污染源码 -
if exist是关键:只有生成了 JS 才运行,否则跳过,避免node报错找不到文件 - 末尾加
pause防止控制台窗口闪退
绑定快捷键并唤出控制台
NppExec 默认不聚焦输出窗口,执行后看似没反应,其实是输出藏在后台了。
- 别用默认 F5:它走的是旧版“运行”菜单逻辑,不触发 NppExec
- 去
Settings → Shortcut Mapper → Plugin Commands,找到NppExec: Execute,绑定一个新快捷键(比如Ctrl+Shift+T) - 首次执行后若没看到输出,手动点
Plugins → NppExec → Show Console唤出窗口 - 之后每次执行都会复用该窗口,不用再手动唤出
为什么不要用 ts-node "$(FULL_CURRENT_PATH)" 直接跑
表面上最简,实则埋坑最多。
- 报“不是内部或外部命令”?90% 是
ts-node没装进 PATH,和tsc是同一类问题,但更隐蔽——因为很多人只装了typescript,忘了装ts-node - 即使装了,
ts-node会绕过类型检查直接运行,比如const x: number = 'hello'不报错也能跑,调试阶段反而难定位问题 - 不读项目级
tsconfig.json(除非显式传-P),导致module、target等配置失效,和你本地构建行为不一致
真正要省事,又不想牺牲类型安全,就老实用 tsc + node 组合;唯一需要多做的,只是确保 PATH 正确、NppExec 控制台可见、脚本里加 if exist 判断——这三点漏掉任一,都会让你卡住半小时。










