Qt Creator 19.0.2 是一个针对 19.0 系列的补丁版本,主要解决了两个让开发者日常工作中颇为头疼的问题:非英语系统上切换 UI 语言失效,以及取消缩进超大行时 IDE 直接卡死。如果你正在用 19.0.x 并遇到过这些情况,这个版本值得立刻更新。
语言切换终于生效了
在非英语区域设置的系统(比如中文、日文、德文 Windows/Linux)上,很多开发者习惯把 Qt Creator 的界面语言切换为英语,方便阅读官方文档时术语一致。但 19.0 之前的版本中,这个切换操作并不生效——改了设置,重启后界面仍然是系统本地语言。
根因是 Qt Creator 在初始化界面语言时,对区域设置(locale)的优先级判断有误:系统 locale 覆盖了用户显式选择的语言偏好。19.0.2 修正了这个优先级逻辑,用户手动选择的语言现在会被正确尊重。
如果你需要确认自己的设置是否正确,可以在 Qt Creator 中这样操作:
- 打开
Edit→Preferences(Linux/macOS)或Tools→Options(Windows) - 进入
Environment→Language - 选择
English,点击Apply,重启 Qt Creator
也可以直接检查配置文件确认语言项是否写入:
# Qt Creator 的配置文件通常位于:
# Linux: ~/.config/QtProject/qtcreator.ini
# macOS: ~/Library/Preferences/com.qtproject.QtCreator.ini
# Windows: %APPDATA%\QtProject\qtcreator.ini
# 查看当前语言设置
grep -i "language" ~/.config/QtProject/qtcreator.ini
输出中应该能看到类似 Language=English 的条目。如果更新后仍然没有生效,可以手动编辑该 ini 文件,添加或修改这一行:
[General]
Language=English
保存后重启 Qt Creator 即可。
缩进取消不再卡死 IDE
另一个修复涉及编辑器的一个严重问题:当你在代码中取消缩进(unindent)一行过长的代码时,Qt Creator 会直接卡死,整个 IDE 无响应,只能强制杀进程。
这个问题对应 bug QTCREATORBUG-33260,触发条件比较具体——行的缩进量非常大(比如几十层嵌套缩进),然后执行 Shift+Tab 或菜单中的取消缩进操作。内部原因是取消缩进的算法在处理极端缩进值时进入了低效循环,计算量随缩进层级指数增长。
虽然日常代码很少出现几十层缩进,但在以下场景中可能触发:
- 自动生成的配置文件或模板代码
- 从其他编辑器粘贴的格式混乱的代码块
- 宏展开后的中间文件
19.0.2 对取消缩进的算法做了优化,限制了单次操作的计算上限。如果你还在用旧版本,遇到大缩进块需要调整时,可以先用正则替换作为临时替代方案:
# 在 Qt Creator 的 Find/Replace 中使用正则模式
# 将 4 空格缩进批量减少一级:
# 搜索: ^(\s{4})(\s+)
# 替换: $2
# 这样可以逐步减少缩进而不触发 unindent 的卡死逻辑
更新到 19.0.2 后,Shift+Tab 可以安全使用,不再有卡死风险。
Language Server 协议相关修复
摘要中还提到了 Language Server 相关的修复(具体细节被截断),但根据 Qt Creator 近期版本的修复趋势,这类问题通常涉及:
- LSP 连接意外断开后的重连逻辑
- 代码补全请求超时未正确处理
- 某些语言服务器返回的诊断信息解析异常
如果你在使用 C++ 之外的 Language Server(比如 Rust 的 rust-analyzer、Python 的 pyls 等),建议更新后观察连接稳定性是否改善。
更新建议
Qt Creator 19.0.2 是纯 bugfix 版本,不引入新功能,升级风险很低。推荐以下情况优先更新:
- ✅ 系统为非英语 locale,且你需要英文界面
- ✅ 曾遇到过取消缩进导致 IDE 卡死
- ✅ 使用第三方 Language Server 且连接不稳定
更新方式:
# 通过 Qt Maintenance Tool 更新(官方推荐)
# 打开 Maintenance Tool,选择 "Update Packages",勾选 Qt Creator
# 或通过包管理器(如果用的是系统源安装的)
# Ubuntu/Debian 系列(如果源已更新):
sudo apt update && sudo apt install qtcreator
# macOS Homebrew:
brew upgrade qt-creator
如果你当前 19.0.x 使用正常、没有碰到上述 bug,也可以等下一个功能版本再更新。但对于受影响的开发者来说,这两个修复直接解决了日常操作中的阻塞问题,越早更新越好。