在clang官网上有这么一句话:
To bring basic IDE-like features to text editor you need 2 things:
就Emacs+lsp-mode用法而言,libclang分析语法是在clangd内部完成的吗,lsp-mode只是配合compilation-db做了一个转发的功能?
在clang官网上有这么一句话:
To bring basic IDE-like features to text editor you need 2 things:
就Emacs+lsp-mode用法而言,libclang分析语法是在clangd内部完成的吗,lsp-mode只是配合compilation-db做了一个转发的功能?
libclang 是 clang 提供的一套 API,使用 libclang 可以完成对 C/C++ 语言的词法、语法解析。
clangd 是 clang 基于内部 API (通常 libclang 是指 C 的版本) 实现的,因此相对于 C 版本的 libclang 来说可以获得信息会更多。
compile_commands.json 文件主要是辅助提供编译时选项,主要是那些 include path、宏定义,以避免在解析文件时头文件找不到导致的解析文件失败。
您好,那lsp-mode本身更多起到的是转发、与用户交互方面控制的功能是吗
对的, lsp-mode 是一个 client, 只是把对应的请求发送至 clangd。