管理语言服务器
对于多种编程语言,只要集成开发环境(IDE)支持通过语言服务器协议(LSP)进行通信,语言服务器便会向其提供有关代码的信息。这样,IDE 就能提供以下服务:
- 代码补全
- 向语言服务器发送文档格式化请求,以根据“Preferences ” > “Text Editor ”中指定的设置自动格式化文档 >Behavior
- 突出显示光标下的符号
- 查看函数工具提示
- 语义高亮,定义详见《语义高亮协议扩展提案》
- 使用定位器在代码中导航或跳转至符号定义
- 通过在“大纲”视图或编辑器工具栏上的“Symbols ”列表中查看文档大纲来检查代码
- 查看函数的调用者和被调用者
- 查看类的基类和派生类
- 查找对符号的引用
- 重命名光标所在的符号
- 代码操作
- 将语言服务器的诊断信息以工具提示的形式显示。您还可以选择一段代码范围来显示其诊断信息。
通过提供语言服务器协议的客户端,Qt Creator 除了 C++ 之外,还可以为其他几种编程语言提供上述功能。但是,该客户端不支持需要特殊处理的语言服务器。
为语言服务器添加 MIME 类型
Qt Creator 当您打开文件进行编辑时,系统会根据文件的MIME 类型来确定应向哪个语言服务器请求信息。请添加新的 MIME 类型或文件模式以匹配相应的语言服务器。 如果您未设置至少一种 MIME 类型或文件模式,则不会向语言服务器发送任何文件。这样做是为了避免不必要的流量和不准确的信息,因为只有当已知语言服务器能够处理某文件时,该文件才会被发送至语言服务器。有关Qt Creator 如何使用 MIME 类型的更多信息,请参阅“编辑 MIME 类型”。
添加语言服务器
Qt Creator 默认会添加一个Python 语言服务器。
此外,当您在编辑器中打开 JSON 和 YAML 文件时,如果系统能检测到计算机上安装了NPM包管理器,它还会提示安装相应的语言服务器。
Qt Creator 当您在编辑器中打开使用 Rust、C# 和 Swift 的项目时,系统还会提示从各自的系统中安装相应的语言服务器。

添加用于Android 开发的Java 语言服务器。对于其他语言,请添加通用的 stdIO 语言服务器。
要添加语言服务器,请转至“Preferences ” > “Language Client ”,然后选择“Add ”。

要启用语言服务器,请选中语言服务器名称旁边的复选框,并设置服务器首选项。
若要从列表中移除语言服务器,请选择“Delete ”。
更新 Python 语言服务器
Qt Creator 在编辑器中打开 Python 文件时,系统会提示您更新 Python 语言服务器。

要更新语言服务器,请选择“Update ”。要保存您的选择,请选择“Always Update ”。
若要跳过更新并隐藏未来更新的提示,请选择“Never ”。
支持的定位器过滤器
定位器不仅允许您浏览文件,还可以浏览由定位器过滤器定义的任何项目。语言客户端插件支持以下定位器过滤器:
- 在当前项目中定位符号(
:) - 在当前文档中定位符号(
.) - 在项目中查找类(
c)、枚举(enum)和函数(m)的定义
报告问题
该语言服务器客户端主要针对 Python 和 C++ 进行了测试。如果您在使用这些语言或其他语言时遇到问题,请选择Help >Report Bug ,在Qt 项目错误跟踪器中提交问题报告。报告中应包含在设置了环境变量QT_LOGGING_RULES=qtc.languageclient.*=true 时的Qt Creator 控制台输出。
另请参阅 《如何:管理语言服务器》和《行为》。
Copyright © The Qt Company Ltd. and other contributors. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.