不知道论坛里面做windows c++开发的多不多。之前一直做windows下的c++开发,用的是Visual Studio管理项目。不过当时没有办法为sln生成compile_commands.json文件,后来有一个插件可以,不过速度感人,自己就简单了写了一个分析sln工程然后生成compile_commands.json的小工具。用了几年下来,感觉还可以,反正ccls和clangd是能正常加载使用的。虽然我已经基本不用了,但是或许有朋友需要这个。可以尝试一下。vs_export
4 个赞
现在干啥去了,我也是windows的坑还没跳出来
因为现在基本换成cmake和qmake了,并且主要在linux下开发了。不过cmake如果生成sln工程而不是ninja工程, 我还是需要vs_export为我生成json文件的。我总感觉这个应该用的人比较少。
我有放二进制的文件,可以直接下载二进制的文件下来,省的编译了。
感谢分享。
请问下,用这个工具生成了 compile_commands.json 后,clangd 是不是就认识 VS 的 sln 项目了?
是的。当初就是为了这个目的。
,看来这个对我有帮助。回头试试看。
可以用xmake生成,也很方便
xmake project -k compile_commands
xmake 可以用于 Visual Studio 的 C/C++ 项目??
单纯的xmake调用msvc编译器,很早就可以了。 问题在于之前如果compile_commands里面有msvc的一些参数,mingw 的 clangd 解析得不好。
现在vscode + xmake + clangd + msvc 也可以配合得很好了,从vs 2019开始提供了clang(最好用vs2022的,现在是clang 15,2019是clang 12)。
用visual studio installer 装一下clang,把他的clangd加到环境变量,就可以完美解析compile_commands了
我把生成的compile_commands.json放在项目根目录,可是转到定义还是不好用。不知道是哪里还漏了
不在于放在哪,放在哪里得看你的clangd或者ccls 去哪找这个文件,clangd和ccls都有参数的可以指定的