clangd
LSP (Language Server Protocol) メッセージを介して 1 つのファイルのみがインデックス化されている場合、関数定義がどこにあるかをどのように知ることができますtextDocument/didOpen
か?
この質問は、作業するcompile_commands.json
ファイルがないという前提に基づいています。clangd
私の知る限りでは、ワークスペースにファイルがない(?) LSP メッセージを受信したときに、特定のファイルclangd
を部分的にインデックス化 (?) します。clangd
textDocument/didOpen
compile_commands.json
したがって、部分的にインデックスが作成されるファイルのインデックスは、メモリ内にのみ存在します。
では、外部ファイルをまったく認識していない場合、部分的にインデックスclangd
が作成されたファイルの外部の定義をどのように認識するのでしょうか?
それとも意識している?
それとも#include "<filename.hpp>"
、ディレクトリなどにのみ存在する相対パスまたはインクルード ( ) を調べる何らかのヒューリスティックによって、他のファイルを認識していroot-project-dir/src
ますか?