fpc 命令必须加入系统 PATH 才能在 Notepad++ 中一键编译运行;需验证 CMD 中 fpc -i 是否正常输出版本号,安装时勾选 Add to PATH 或手动添加 bin 路径;编译命令用 cmd /k cd /d "$(CURRENT_DIRECTORY)" & fpc -g "$(FULL_CURRENT_PATH)" & pause & exit;运行命令用 cmd /k cd /d "$(CURRENT_DIRECTORY)" & "$(NAME_PART).exe" & pause & exit;注意保存文件、避免中文路径和空格、排查 DLL 依赖及窗口闪退问题。

fpc 命令必须能在 Notepad++ 的命令行中直接调用,否则所有“一键编译/运行”配置都无效——这不是 Notepad++ 的问题,而是环境没配好。
确认 fpc 是否已正确安装并加入系统 PATH
Notepad++ 本身不带编译器,它只是调用外部命令。如果在 Windows 的 CMD 或 PowerShell 里执行 fpc -i 报错 'fpc' is not recognized as an internal or external command,那后续所有配置都白搭。
- 安装 Free Pascal 时务必勾选 Add to PATH(常见于 fpc-3.2.2.i386-win32.exe 安装器)
- 若已安装但未勾选:手动把类似
C:\FPC\3.2.2\bin\i386-win32的路径加进系统环境变量PATH - 验证方式:打开新 CMD 窗口,输入
fpc -i,应输出版本号和目标平台(如FPC 3.2.2)
Notepad++ 中设置 Pascal 编译命令(F9 快捷键)
Notepad++ 的“运行”功能本质是拼接 shell 命令,路径含空格或中文、参数顺序错、缺少 &pause 都会导致窗口一闪而逝,根本看不到错误信息。
- 菜单栏 → 运行 → 运行(
Ctrl+F5),填入以下完整命令: cmd /k cd /d "$(CURRENT_DIRECTORY)" & fpc -g "$(FULL_CURRENT_PATH)" & pause & exit-
-g参数生成调试信息,对后续查错很关键;cd /d确保编译在源文件所在目录执行,避免找不到依赖单元 - 点击“保存”,起名
Compile Pascal,快捷键设为F9
Notepad++ 中设置 Pascal 运行命令(Ctrl+F9 快捷键)
编译成功后生成的可执行文件名默认是源文件名(不含扩展名),比如 hello.pas → hello.exe。若源文件名含空格或特殊字符,$(NAME_PART) 可能截断失败,直接用 $(NAME_PART).exe 不可靠。
- 推荐写法(更健壮):
cmd /k cd /d "$(CURRENT_DIRECTORY)" & "$(NAME_PART).exe" & pause & exit- 注意:
$(NAME_PART)是 Notepad++ 内置变量,表示当前文件名(不含扩展名),它不处理空格,所以源文件名尽量别用空格 - 若遇到“不是内部或外部命令”,先手动在终端里
cd到该目录,再执行hello.exe看是否真生成了——有时fpc编译失败却没报错(比如语法错但没触发 problemMatcher)
常见错误现象与快速排查点
你按下 F9 后黑窗闪退、没输出、或提示“找不到 fpc”,往往不是 Notepad++ 配置错,而是底层链路断了。
-
系统 PATH 没生效:重启 Notepad++(甚至重启系统),因为 PATH 变更需新进程加载 -
fpc 编译失败但窗口关闭太快:去掉末尾& exit,只留& pause,这样错误信息能停留住 -
中文路径导致 fpc 找不到文件:Free Pascal 3.2.x 对 UTF-8 路径支持有限,建议把 .pas 文件放在纯英文路径下(如D:\pascal\test.pas) -
运行时报“无法启动此程序,因为计算机中丢失 xxx.dll”:这是 fpc 生成的 exe 依赖运行时 DLL,用fpc -Xs -O4静态链接可规避(但会增大体积)
最易被忽略的是:Notepad++ 的“运行”命令不校验文件是否已保存。如果 hello.pas 是新建未保存文件,$(FULL_CURRENT_PATH) 为空,fpc 就会静默失败。务必先 Ctrl+S 保存再按 F9。



















