notepad++不会自动添加扩展名,保存时需手动输入如main.py;右下角语言显示依赖后缀或手动切换;扩展名须在“文件关联”中绑定语言,且已打开文件需重载或重启才生效。

文件保存后还是 .txt?必须手动输扩展名
Notepad++ 默认保存为无扩展名或 .txt,它不会自动把 HelloWorld 存成 HelloWorld.py。很多人点了“保存”发现文件名变成 HelloWorld.txt,其实是没在文件名框里输入后缀。
- 保存时,在“文件名”输入框中直接写
main.py、script.js或config.conf,别只写main - 确保系统显示文件扩展名(Windows 设置 → 文件资源管理器选项 → 取消勾选“隐藏已知文件类型的扩展名”)
- 如果已保存为
.txt,重命名时务必连同后缀一起改(如从test.txt改为test.py),仅改名字不生效
右下角语言显示不对?点它切,别靠猜
Notepad++ 不根据内容识别语言,只认后缀或你当前手动选的模式。打开一个无后缀文件、临时粘贴的代码,或后缀非标准(如 Rakefile、.env),右下角常显示 Normal text —— 这是正常现象,不是 bug。
- 直接点击窗口右下角的语言名称(比如显示
HTML或Plain text),在弹出菜单里选目标语言(如Python、JavaScript) - 快捷键更高效:按
Ctrl+L,再按对应字母(如p切 Python,j切 JavaScript) - 注意避开废弃项:
PHP Script已弃用,选它会导致注释/字符串识别错乱;JavaScript可临时用于.ts,但interface、type等关键词不会着色
改了后缀还不高亮?扩展名没绑到语言引擎
只改文件后缀不够。Notepad++ 用两层机制判断语言:扩展名映射 + 当前文档语言状态。如果 .py 没绑定到 Python 引擎,哪怕文件叫 a.py,打开也还是 Normal text。
- 菜单 → 设置 → 首选项 → 文件关联,左侧选
Python,右侧输入框填.py(带点),回车确认;多个扩展名用空格隔开,如.py .pyw .pyi - 若右侧列表为空或绑在
Text下,说明没成功绑定,需重新操作 - 已打开的文件不会自动刷新,要关闭再重开,或按
Ctrl+R重新加载 - 对非标后缀(如
.conf、.log),进设置 → 样式配置器 → 全局样式 → 文件扩展名,在输入框加conf log(不加点,空格分隔)
新建文件总显示 Normal text?默认语言不控制扩展名逻辑
Notepad++ 新建空白文件(Untitled)没有扩展名,也没有内容特征,必然 fallback 到 Normal text。这不是设置失效,而是设计如此。
-
Settings → Preferences → New Document → Default language只对无扩展名的新建文件生效,且仅影响初始语言状态(比如设为Python后,新建即带括号配对、关键字着色),但它不生成扩展名 - 真正让语法高亮“稳定生效”的路径,永远是:带正确扩展名 → 绑定到对应语言 → 打开即亮
- 想绕过
Untitled的限制?用模板:准备一个空的template.py,在Settings → Preferences → New Document → Template中启用并添加该文件;之后点File → New,实际新建的是带.py扩展名的副本
最容易被忽略的一点:所有扩展名绑定操作(包括文件关联和样式配置器里的 User ext.)都不会实时刷新已打开的无扩展名文件——必须手动切换一次语言,或关闭重开。别以为改完设置就万事大吉。











