感觉linux是与我无缘了,我现在想想能不能在windows下面把emacs lsp-mode玩转
用cmake+ninjia/nmake CMakeLists.txt里添加
if(NOT MSVC_IDE)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
add_custom_target(
clangd ALL
${CMAKE_COMMAND} -E copy_if_different
${CMAKE_BINARY_DIR}/compile_commands.json
${CMAKE_SOURCE_DIR}
)
add_dependencies(你的项目 clangd)
endif()
如果你是vs的工程的话,可以用我写的vs_export.可以分析sln工程,导出compile_commands.json。cmake的话,生成ninja的可以。如果你是qmake的工程,qtcreator 7.0版本支持导出compile_commands.json。qtcreator 7.0也集成的clangd,不过可以不开启。
直接用 CMake + Ninja 比较方便生成 compile_commands.json。 这样编译就可以
cmake -S . -B build -GNinja -DCMAKE_EXPORT_COMPILE_COMMANDS=1
cmake --build build
参考 clangd 的官方文档:Getting started
CMake 使用指南:
英文版:An Introduction to Modern CMake · Modern CMake