双击文件仍跳记事本或VS Code,说明系统级关联未写入注册表或Launch Services;Windows需手动在“按文件类型指定默认应用”中逐个绑定扩展名并确保路径带英文双引号;macOS必须运行subl --install并killall Finder;Sublime内需对文件右下角语法选“Set as Default for .xxx Files”完成语法映射。

双击文件仍跳记事本或 VS Code,说明系统级关联根本没写进注册表或 Launch Services;Sublime 自身 Settings 里任何改动都对“谁来打开它”毫无影响。
Windows 必须手动逐个绑定 .log、.env 等扩展名
「设置 → 应用 → 默认应用 → 按文件类型指定默认应用」不是摆设,而是唯一有效入口。你点过“始终使用”,但系统可能只改了 HKEY_CLASSES_ROOT 而漏了 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts 下的值,导致静默失败。
- 挨个点开
.log、.env、.pyw、.conf等条目,右侧图标必须点开后手动浏览选择sublime_text.exe(不是sublime_text.lnk) - 路径含空格时,系统内部必须带英文双引号,例如:
"C:\Program Files\Sublime Text\sublime_text.exe";少一对引号,注册表写入就静默失败 -
.env这类未出现在列表里的扩展名,先右键该文件 → “打开方式” → 手动选一次 Sublime,它才会被系统识别并加入列表 - 企业环境若该页面灰显,是组策略锁死了默认程序,普通用户无权修改,得联系 IT
macOS 必须运行 subl --install 并重启 Finder
Homebrew 或拖拽安装的 Sublime,默认不注册到 Launch Services,所以「显示简介 → 全部更改」永远白点——这不是你操作错,是它压根没进系统数据库。
- 先确认
subl命令可用:which subl;若无输出,手动建软链接:sudo ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl - 执行
subl --install—— 这一步不可跳过,也不是可选项,它是补全 Launch Services 关联的唯一可靠命令 - 执行完立刻运行
killall Finder,否则关联不会真正写入数据库,重启 Finder 后才能生效 - 别用
defaults write LSHandlers手动写 UTI,容易匹配过宽(比如public.plain-text),反而干扰其他编辑器
打开后显示 Plain Text 是语法映射缺失,和系统无关
双击能启动 Sublime,说明系统关联成功;右下角写着 Plain Text,说明 Sublime 自己没把扩展名和语法对上。这是两套逻辑,互不干扰,也别去改全局 Preferences.sublime-settings。
- 打开一个
.log文件 → 点右下角当前语法(如Plain Text)→ 选Set as Default for .log Files(注意不是Open all with current extension as…) - 如果菜单里没有
Set as Default选项,说明你还没在这类文件上手动切换过语法:先点右下角选一次Plain Text,再点一次右下角,那个选项就会出现 - 想批量绑定多个扩展名(如
.conf、.ini、.env都走INI语法),就去Packages/User/INI.sublime-settings编辑:{"extensions": ["conf","ini","env","cfg"]} - 别在全局
Preferences.sublime-settings里硬加"extensions"字段——Sublime Text 4 已废弃该写法,写了也不生效
最容易被忽略的是:Windows 路径引号、macOS 的 subl --install + killall Finder 组合、以及 Set as Default for .xxx Files 和 Open all with current extension as… 的功能差异——三者任一漏掉,都会让关联看起来“好像设了,但就是不生效”。


















