Eclipse CDT1Mac上的C++/CMake开发环境抉择开发环境闲话编程ContentsEclipse CDT ........................................................................................... 1导入工程运行测试下字体设置缺点Visual Studio Code ................................................................................... 3安装插件调试使用从状态栏启动调试创建调试使用插件Qt Creator ............................................................................................. 6KDevelop .............................................................................................. 6之前写过一篇文章因为在上一直没有找到免费且又比较好用的开发工具。但相比起而言,还是太简陋了。而今时不同往日了,现在比较倾向于使用来构建项目,所以希望能支持,所以又把各种开发工具尝试了一下。Eclipse CDT最近又更新了一下,再次体验了一下,而且根据之前的经验,是直接支持了的,所以是我的首选目标。导入CMake工程默认是支持的,所以不用使用生成的工程,直接就可以用。新建项目的时候是可以直接选用项目的,那么,怎么导入一个现有的工程呢?实际上,并不能使用来导入,而是要用,然后就可以选择现有项目,导入到中去了。是不是很坑? Eclipse CDT2运行Google Test测试可以直接在中运行,因为本身编译测试出来是一个应用,其实可以直接运行,但是集成的可以让结果更好看一点:要运行这样的测试必须在中新建一个的目标,并选择编译出来的程序。Mac下字体设置在下有一个问题就是默认的字体实在太小了,看着眼睛疼。 Visual Studio Code3默认字体有一个解决办法就是安装一个,然后设置字体的大小。参见这个。更改后的字体缺点也许最大的问题就在于调试了,动不动就卡死在上,或者好不容易进去了,却告诉你没有调试信息,要不要看汇编?尝试了很久也没有找到解决办法,除此之外,别的都能接受。但是这个问题很致命啊另外一个问题就是,(即使支持的也不好),是不直接支持的。Visual Studio Code看来还是把希望寄托在上了。 Visual Studio Code4安装插件有以下的几个插件需要安装:插件插件安装完成之后,就可以打开工程了。使用打开命令窗口,可以看到有很多相关的选项:配置支持工程清理也可以通过系统下面的状态栏来设置,设置好之后,一般长这个样子:可以看到下面的状态栏已经集成了的。调试使用lldb-mi从状态栏启动调试调试有两种方式:一种是通过状态栏下面的调试图标启动的,不需要,但是默认情况下是不能工作的,需要做如下设置:新建.vscode/settings.json,将下面的路径配置进去,比如我的:{ "cmake.debugConfig": { "miDebuggerPath": "/Users/hfli/.vscode/extensions/ms-vscode.cpptools-0.27.0/debugAdapters/lldb-mi/bin/lldb-mi" }} Visual Studio Code5但是这个玩意感觉支持很有限,我调试测试的的时候就直接挂掉了。创建launch.json调试另外一个方式是创建,这样可以从左边的调试菜单那里开始:{ "version": "0.2.0", "configurations": [ { "name": "(gdb) Launch", "type": "cppdbg", "request": "launch", // Resolved by CMake Tools: "program": "${command:cmake.launchTargetPath}", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}/build", "environment": [], "externalConsole": true, "MIMode": "gdb", "MIDebuggerPath": "/Users/hfli/.vscode/extensions/ms-vscode.cpptools-0.27.0/debugAdapters/lldb-mi/bin/lldb-mi", "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true } ] } ]} KDevelop6但上面照样使用的是,有着跟上面的方法同样的问题。换成后就更是奇怪的到处乱跳了。使用CodeLLDB插件另一个选项就是使用插件,安装完成之后配置launch.json:{ "version": "0.2.0", "configurations": [ { "name": "Launch debug", "type": "lldb", "request": "launch", "program": "${command:cmake.launchTargetPath}", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}/build", "environment": [] } ]}这样终于不会在我调试的时候死掉了,Qt CreatorKDevelop