このページでは

言語サーバー

いくつかのプログラミング言語では、言語サーバーは、IDEが言語サーバープロトコル(LSP)による通信をサポートしている限り、IDEにコードに関する情報を提供します。IDEは以下のサービスを提供することができます:

言語サーバー・プロトコルのクライアントを提供することで、Qt Creator 、C++以外のいくつかのプログラミング言語でも上記の機能をサポートすることができます。ただし、クライアントは特別な処理を必要とする言語サーバーには対応していません。

言語サーバー用のMIMEタイプの追加

Qt Creator は、編集のためにファイルを開いたときに、どの言語サーバーに情報を要求するかを決定するために、ファイルのMIME タイプを使用します。言語サーバーに一致させるために、新しいMIMEタイプまたはファイルパターンを追加します。少なくとも1つのMIMEタイプまたはファイルパターンを設定しないと、ファイルは言語サーバーに送信されません。これは、不要なトラフィックや不正確な情報を避けるためで、言語サーバーで扱えることがわかっているファイルだけが言語サーバーに送信されます。Qt Creator 、MIMEタイプの使用方法について詳しくは、MIMEタイプの編集をご覧ください。

言語サーバーの追加

Qt Creator はデフォルトでPython言語サーバーを追加します。

また、コンピュータ上でNPMパッケージマネージャを見つけることができれば、エディタでJSONとYAMLファイルを開いたときに言語サーバーのインストールを提案します。

JSON言語サーバーをインストールするプロンプト

Android開発用にJava言語サーバーを追加します。その他の言語については、汎用のstdIO言語サーバーを追加します。

言語サーバーを追加するには、Preferences>Language Client に進み、Add を選択します。

言語クライアント環境設定の「一般」タブ

言語サーバーを有効にするには、言語サーバー名の横にあるチェックボックスを選択し、サーバー環境設定を設定します。

言語サーバーをリストから削除するには、Delete を選択します。

Python言語サーバーの更新

Qt Creator Python言語サーバーの更新は、エディターで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 コンソール出力を含める必要があります。

How To: Manage Language ServersandBehaviorも参照して ください。

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.