言語サーバーの管理
いくつかのプログラミング言語では、言語サーバープロトコル(LSP)を介した通信に対応しているIDEに対して、言語サーバーがコードに関する情報を提供します。これにより、IDEは以下のサービスを提供できるようになります:
- コード補完
- 言語サーバーにドキュメントの書式設定リクエストを送信し、「Preferences 」>「Text Editor 」で指定された設定に基づいてドキュメントを自動的に書式設定するBehavior
- カーソル下のシンボルのハイライト表示
- 関数のツールチップの表示
- 「セマンティックハイライトプロトコル拡張の提案」で定義されているセマンティックハイライト
- ロケーターを使用するか、シンボルの定義に移動してコード内をナビゲートする
- アウトラインビューまたはエディタツールバーの「Symbols 」リストでドキュメントのアウトラインを表示してコードを検査する
- 関数の呼び出し元および呼び出し先を表示する
- クラスの基底クラスおよび派生クラスを表示する
- シンボルへの参照を検索する
- カーソル位置のシンボルの名前を変更する
- コードアクション
- 言語サーバーからの診断情報をツールチップとして表示します。また、コード範囲を選択して、その範囲の診断情報を表示することもできます。
Qt Creator は、言語サーバープロトコルのクライアントを提供することで、C++以外のいくつかのプログラミング言語に対しても上記の機能をサポートできます。ただし、このクライアントは、特別な処理を必要とする言語サーバーには対応していません。
言語サーバー用のMIMEタイプの追加
Qt Creator Qt Creator は、ファイルを編集用に開く際、そのファイルのMIMEタイプに基づいて、どの言語サーバーに情報をリクエストするかを決定します。言語サーバーに対応する新しいMIMEタイプやファイルパターンを追加してください。 MIME タイプまたはファイルパターンを 1 つ以上設定しない場合、ファイルは言語サーバーに送信されません。これは、言語サーバーが処理可能であることが確認されたファイルのみが送信されるため、不要なトラフィックや不正確な情報を回避するための措置です。 による MIME タイプの使用方法の詳細については、「MIME タイプの編集」を参照してください。
言語サーバーの追加
Qt Creator デフォルトでは、Python 言語サーバーが追加されます。
また、コンピュータ上にNPMパッケージマネージャーが見つかった場合、エディタで JSON ファイルや YAML ファイルを開いた際に、それらの言語サーバーのインストールを提案します。
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 Project バグトラッカーに報告してください。報告には、環境変数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.