Windows需手动绑定Sublime到扩展名,注册表路径须带英文双引号;macOS需执行subl --install并重启Finder;Sublime内语法绑定需通过右下角“Set as Default”设置,免安装版须补注册表或重命名.app。

Windows双击仍用记事本打开,系统默认应用设置没写对
这不是Sublime的问题,是Windows根本没把sublime_text.exe真正绑定到扩展名。你点过“始终使用此应用”,但注册表里对应的HKEY_CLASSES_ROOT\.log或HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.log键值可能为空、指向.lnk快捷方式,或路径漏了英文双引号。
必须进「设置 → 应用 → 默认应用 → 按文件类型指定默认应用」,逐个点开.txt、.py、.log等条目:
- 右侧图标点开后,手动浏览并选中真实的
sublime_text.exe(不是sublime_text.lnk) - 路径含空格(如
C:\Program Files\Sublime Text\sublime_text.exe)时,系统内部必须带英文双引号,否则静默失败 - 若某扩展名(如
.env)没出现在列表里,先右键该文件 → “打开方式” → 手动选一次Sublime,它才会被系统识别并加入列表 - 企业环境若该页面灰显,大概率是组策略锁死了默认程序,普通用户无法修改,此时加右键菜单更现实
macOS右键设了“全部更改”却无效,缺subl --install这步
Homebrew或官网拖拽安装的Sublime,默认不注册到Launch Services,Finder压根不认识它。“显示简介→全部更改”只是在已有注册基础上生效,没注册就等于白点。
唯一可靠补救命令是:
subl --install
执行前确认subl命令可用:
- 运行
ls -l /usr/local/bin/subl,输出应指向/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl - 若不存在,先建软链接:
sudo ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl - 执行
subl --install后,必须立刻运行killall Finder,否则关联不会真正写入数据库
.pyw或.log打开后显示Plain Text,语法没绑上不是系统问题
双击能启动Sublime,说明系统关联成功;右下角写着Plain Text,说明Sublime自己没把扩展名和语法对上——这是两套逻辑,互不干扰。
正确做法是用Sublime打开一个.pyw文件:
- 点右下角当前显示的语法名(比如Plain Text)
- 选
Set as Default for .pyw Files(注意不是Open all with current extension as…) - Sublime会自动生成
Packages/User/Python.sublime-settings,内容类似:{"extensions": ["py", "pyw"]} - 如果菜单里没出现
Set as Default选项,说明你还没在这类文件上手动切换过语法。先点右下角 → 选一次Python,再点一次右下角,那个选项就会出来
别往全局Preferences.sublime-settings里硬加"extensions"字段——Sublime Text 4已废弃该字段,写了也不生效。
免安装版(portable)图标关联失败,根本没被系统当正式程序
免安装版的sublime_text.exe是个独立可执行文件,但Windows/macOS默认不信任它做默认关联。它没有写入注册表、Launch Services或.desktop文件,系统压根没把它当“正式程序”看待。
Windows下必须手动补全注册表级绑定:
- 路径必须用绝对路径且带英文双引号,例如:
"D:\tools\Sublime Text\sublime_text.exe";漏引号或含中文路径会静默失败 - 以管理员身份运行CMD,执行:
assoc .py=SublimeText.PyFile和ftype SublimeText.PyFile="D:\tools\Sublime Text\sublime_text.exe" "%1" - 如果想批量支持
.txt/.log/.json,得重复执行assoc和ftype,每个扩展名单独绑
macOS上更麻烦:免安装版通常只是未签名副本,subl --install会失败。更稳的做法是把文件夹重命名为Sublime Text.app,放到/Applications/,再运行lsregister -f /Applications/Sublime\ Text.app强刷缓存。


















