Sublime Text 新建文件默认无后缀,可通过设置默认语法为 Python 并配合 AdvancedNewFile 插件实现 Ctrl+N 新建 untitled.py;.log 文件强制用 Text 语法需修改语法特定设置并删除高优先级 log.sublime-syntax 文件。

怎么让 Sublime Text 新建文件时自动用 .py 后缀
新建文件默认是无后缀的 untitled,想按 Ctrl+N 就直接得到 untitled.py?Sublime 本身不提供“新建即带后缀”的开关,但能靠修改默认语法和绑定快捷键绕过去。
核心思路:不是改“后缀”,而是让新文件一创建就关联 Python 语法,再配合插件或快捷键自动补后缀。
- 手动改法:新建文件 → 右下角点击语法名(如 Plain Text)→ 选 Python → 此时保存会默认建议
.py - 自动改法:装
FileDiffs或AdvancedNewFile插件,后者支持 Ctrl+Alt+N 输入main.py直接新建带后缀文件 - 别依赖
default_extension设置项——它只影响“保存时没输后缀”的补全行为,对新建文件无效
如何让 .log 文件默认用 Text 语法而不是 Log Highlighter
装了日志高亮插件后,所有 .log 都被强制识别成日志格式,但你只是想查纯文本?问题出在插件的 log.sublime-syntax 规则优先级太高,覆盖了 Sublime 原生的 Plain Text 关联。
- 打开
Preferences → Settings – Syntax Specific,确认当前是.log文件的设置页 - 加一行:
"syntax": "Packages/Text/Plain text.tmLanguage"(注意路径大小写,Text不是text) - 删掉插件自带的
log.sublime-syntax文件(路径一般在Packages/User/或插件目录),否则每次重启可能恢复 - 改完不用重启,关掉再开这个文件就行;但新打开的
.log还会走原规则,得批量重置:菜单View → Syntax → Open all with current extension as… → Plain Text
为什么改了 file_extensions 没生效
很多人在 Preferences.sublime-settings 里加 "file_extensions": ["py", "js"],发现双击 xxx 文件还是打不开——因为这个配置根本不存在于 Sublime 的官方文档里,是误传的伪配置项。
- 真正控制文件关联的是
Package/XXX/XXX.sublime-settings或Package/XXX/XXX.sublime-syntax中的file_extensions字段,必须写在语法定义文件里 - 用户级全局关联靠
Preferences → Settings – Syntax Specific+ 当前语法文件设置,不是主配置文件 - Windows 下双击打开还受系统注册表影响,Sublime 设置只管“打开后用什么语法”,不管“系统双击调用哪个程序”
Sublime 启动时自动打开上次编辑的 .md 文件但语法错成 Markdown Extended
这是典型语法包冲突:原生 Markdown 和第三方 Markdown Extended 都声明支持 .md,但后者优先级更高,且没正确 fallback。
- 检查
View → Syntax → Open all with current extension as…是否被设成了Markdown Extended,如果是,点回Markdown - 进
Packages/Markdown Extended/MarkdownExtended.sublime-syntax,找到file_extensions段,删掉"md"(保留"markdown"即可) - 重启 Sublime;如果仍错,删掉
Packages/User/Local Settings.sublime-settings里可能残留的语法绑定记录
语法关联不是“设置一次就稳”,插件更新、包重装、甚至打开顺序都可能触发覆盖。最保险的做法是:只信任 View → Syntax 手动选一次,然后立刻存为语法特定设置。










