Qt Creator 19.0.2:修复语言切换与缩进卡死问题

2026-05-14 20 预计阅读时间:1 分钟
来源:oschina.net AI 摘要 原文链接

免责声明:本文为 AI 摘要整理,建议结合原文阅读。摘要可能省略上下文、版本差异或边界条件,不作为官方说明。

预计阅读时间:6 分钟

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 中这样操作:

  1. 打开 EditPreferences(Linux/macOS)或 ToolsOptions(Windows)
  2. 进入 EnvironmentLanguage
  3. 选择 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,也可以等下一个功能版本再更新。但对于受影响的开发者来说,这两个修复直接解决了日常操作中的阻塞问题,越早更新越好。


相关推荐