notepad++新建空白文件默认为normal text,因其无扩展名且无内容特征;语法高亮仅由扩展名、shebang或手动指定决定,可通过settings→style configurator绑定.py到python,或使用模板功能实现新建即python高亮。

新文件默认语言不是靠“新建”动作决定的,而是由文件扩展名或用户手动指定的语法高亮模式决定的;Notepad++ 本身没有“新建 .txt 就自动切到 Python”的全局默认语言开关。
为什么新建空白文件总是显示为 “Normal Text”?
Notepad++ 启动后新建的 Untitled 文件没有扩展名,也没有内容特征,它只能按内置规则 fallback 到 Normal Text —— 这是设计使然,不是 bug。
常见错误现象:
• 点击 File → New 后写 Python 代码,括号不配对、关键字不着色
• 手动选了 Language → Python,关掉再新建又变回 Normal Text
- 这不是设置丢失,而是每次新建都重置为无扩展名状态
- 真正起作用的是:文件是否带扩展名(如
.py)、是否含 shebang(#!/usr/bin/env python)、是否匹配用户自定义的“扩展名→语言”映射 - 不依赖内容识别(比如写
def不会自动切 Python),只依赖扩展名或显式切换
如何让 .py 文件一打开就用 Python 语法高亮?
这是最可靠、最常用的生效路径:靠扩展名绑定,不是改“默认语言”。Notepad++ 的语言映射表在 Settings → Style Configurator → Language 页面底部。
- 确保
.py已列在Python语言对应的User ext.输入框里(多个用空格分隔) - 如果没写,加上并点
Save & Close—— 不需要重启,下次打开test.py就自动高亮 - 注意大小写不敏感,但不要加点,填
py,不是.py - 冲突时以靠前的语言为准(比如
txt同时被Plain text和Markdown声明,优先级看列表顺序)
想新建即 Python?绕过 Untitled 的唯一实操办法
不能改默认,但可以“假装有扩展名”:用模板功能模拟真实文件场景。
- 准备一个空的
template.py文件,保存在你知道的位置(比如C:\NppTemplates\) - 在 Notepad++ 中:
Settings → Preferences → New Document / Default Directory → Template - 勾选
Enable template,点击... → Add,选中你的template.py - 之后点
File → New,实际新建的是该模板副本,扩展名为.py,立刻触发 Python 高亮 - 这个方法不污染全局设置,也不影响其他语言模板,但要注意模板文件不能被误编辑保存
最容易被忽略的一点:修改 User ext. 后,已打开的无扩展名文件不会自动刷新语言——必须手动切一次或关闭重开。真正的“默认”只对带扩展名的新建/打开文件有效。










