Sublime Text 4 升级是底层重写带来的体验跃迁,但存在GPU渲染黑屏、Tab键不触发代码片段、多选标签仅支持Ctrl+Click、Python 3.8兼容性等问题,需针对性配置或迁移。

Sublime Text 4 的升级不是“小修小补”,而是底层重写带来的体验跃迁——但所谓“逆天”,往往藏在你日常操作被打断的那一刻:比如 Tab 键突然不插代码片段了、高分屏滚动开始撕裂、或者 M1 Mac 上打开 50 个标签页居然不卡。值不值得更新,取决于你是否踩中这些变化的临界点。
GPU 渲染默认开启,但可能让老显卡或远程桌面直接黑屏
ST4 默认启用 hardware_acceleration,对 Intel HD 4000 及更早集成显卡、Ubuntu 20.04 + Nouveau 驱动、Windows 远程桌面环境,极易触发状态栏错位、标签页闪退甚至全黑屏。
这不是 bug,是渲染策略变更:
• 临时关闭:在 Preferences → Settings 中加一行 "hardware_acceleration": "none"
• 折中方案:设为 "hardware_acceleration": "canvas",保留部分加速能力但避开合成层冲突
• Windows 远程桌面用户必须关,否则连接后无响应
Tab 键不再无条件触发 snippet,LSP 插件一上就抢优先级
ST4 把 tab_key 绑定逻辑从“只要匹配就插入”改成“仅当无其他补全候选时才触发”。结果就是:
• 输入 for 后按 Tab,若 sublimelsp 正在返回函数建议,snippet 就被跳过
• 不是插件坏了,是行为定义变了
• 恢复旧逻辑:在 Preferences → Key Bindings 加绑定:[{"keys": ["tab"], "command": "insert_snippet", "args": {"name": "Packages/User/your-snippet.sublime-snippet"}}]
• 更稳妥做法:用 Ctrl+Space 唤出补全面板,方向键选中再回车
• 检查 view.settings().get("auto_complete") 是否为 True,某些插件(如 AutoFileName)会临时关闭它
多选标签只支持 Ctrl+Click,不支持 Shift+Click 区间选择
“多选标签”听起来像浏览器,实际限制很具体:
• 不支持 Shift+Click 连续区间选择,只认 Ctrl+Click 或鼠标拖选
• 多选状态不会保存到会话,重启即清空
• 批量关闭:选中后右键 → Close Selected Tabs,或按 Ctrl+W/Cmd+W
• 拆分对比:只能两两拖拽到边缘创建新组;三标签无法同时分配到不同窗格
• 真正高效的多文件操作不在标签页,而在 Ctrl+Shift+F 全局查找替换 + Where 输入 *.py 或 src/**
Python 3.8 底层升级,老插件可能直接报 ModuleNotFoundError
ST4 底层 Python 升至 3.8,asyncio、typing 等模块行为有细微差异,旧插件容易崩:
• 常见错误:ModuleNotFoundError: No module named 'ssl'、AttributeError: module 'asyncio' has no attribute 'ensure_future'
• 硬编码 import urllib2 或 print "xxx" 的插件会直接 SyntaxError
• 检查方式:打开 View → Show Console,启动或触发功能时看红字报错
• 迁移建议:先备份 Packages/User/,全新安装 ST4,再用 Package Control 重装插件,别直接复制旧插件目录
Tab 行为、你依赖的插件调用链、甚至你没意识到自己一直在靠 GPU 转译跑 ST3。升级前,先确认你的显卡驱动、常用插件和快捷键肌肉记忆是否还在安全区。


















