言語サーバの管理
いくつかのプログラミング言語では、言語サーバー・ プロトコル (LSP) による通信をサポートしている限り、言語サーバーはコードに関する情報を IDE に提供します。IDEは以下のサービスを提供できます:
- コード補完
- ドキュメントのフォーマット要求を言語サーバーに送信し、Preferences >Text Editor > で指定された設定を使用してドキュメントを自動的にフォーマットする。Behavior
- カーソル下のシンボルのハイライト表示
- 関数のツールチップの表示
- セマンティックハイライティングプロトコル拡張の提案で定義されているセマンティックハイライティング
- ロケータを使用したコード内の移動、またはシンボル定義への移動
- アウトラインビューまたはエディターツールバーの Symbols リストでドキュメントのアウトラインを見ることによるコードの検査
- 関数の呼び出し元と呼び出し先の表示
- クラスの基底クラスと派生クラスの表示
- シンボルへの参照の検索
- カーソル下のシンボルの名前の変更
- コードアクション
- 言語サーバーからの診断をツールチップとして表示する。診断結果を表示するコード範囲を選択することもできます。
言語サーバー・プロトコルのクライアントを提供することで、Qt Creator 、C++以外のいくつかのプログラミング言語でも上記の機能をサポートすることができます。ただし、クライアントは特別な処理を必要とする言語サーバーには対応していません。
言語サーバー用のMIMEタイプの追加
Qt Creator は、編集用にファイルを開いたときに、どの言語サーバーに情報を要求するかを決定するために、ファイルのMIME タイプを使用します。言語サーバーに一致させるために、新しいMIMEタイプまたはファイルパターンを追加します。少なくとも1つの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ファイルを開いたときにPython言語サーバーを更新します。

言語サーバーを更新するには、Update を選択します。選択を保存するには、Always Update を選択します。
更新をスキップし、今後の更新のためのメッセージを非表示にするには、Never を選択します。
サポートされているロケーターフィルター
ロケーターは、ファイルだけでなく、ロケーターフィルターで定義されたアイテムをブラウズすることができます。言語クライアントプラグインは、以下のロケーターフィルターをサポートしています:
- カ レ ン ト プ ロ ジ ェ ク ト 内のシ ン ボルの検索 (
:) - 現在のドキュメント内のシンボルを探す (
.) - プ ロ ジ ェ ク ト 内の ク ラ ス (
c) ・ 列挙型 ・ 関数 (m) 定義の検索
問題の報告
言語サーバー・クライアントは、ほとんど Python と C++ でテストされています。これらの言語や他の言語を試したときに問題が発生した場合は、Help >Report Bug を選択してQt Project Bug Tracker に報告してください。報告には環境変数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.