

如何在Linux/MacOS使用vscode构建一个c/c++开发环境
source link: https://www.myfreax.com/how-to-build-a-c-c-development-environment-using-vscode-on-linux-macos/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

更新于 2021/12/29 | 创建于 2021/12/24
如何在Linux/MacOS使用vscode构建一个c/c++开发环境
无论您是否是《指环王》电影的粉丝,您都会同意几乎每个人都喜欢统一性,而拥有统一的开发体验是开发人员一直在努力和欢迎的东西。
长期以来,开发环境一直与特定技术(例如 Visual Studio)紧密结合,用于主要基于.NET的开发。我们已经看到开发人员之间的激烈争论,他们无休止地争论一种工具而不是另一种工具。这永远不会结束,也不应该结束,因为很多时候这些争论会产生我们今天正在使用的很棒的工具。
在这篇文章中,我将与您分享一个使用VS Code的简单C/C++开发环境设置。如果您已经将VS Code与其他一些编程语言一起使用,那么您已经成功了一半。对于其他人,你们可以看看Linux用户都是怎么构建自己的开发环境,以及是否想尝试一下。
VS Code是一个轻量级、开源、免费且可扩展的IDE,并且它每天都在变得更好。我经常在我的Node.js开发工作中使用它。
在本教程中,我将向您展示如何在Linux/MacOS使用vscode构建一个c/c++开发环境。我们还将说明如何是用vscode创建c/c++项目。如何使用vscode调试c/c++项目。安装调试c/c++的调试器gdb,编译器gcc与g++等工具以及语法检查工具clang和cppcheck。还有vscode需要的语法高亮,linter扩展如C/C++ for Visual Studio Code,C/C++ Advanced Lint等。
如果你是windows用户,请看这篇文章。如何在windows中安装Visual Studio并构建一个c/c++开发环境。
安装c/c++开发工具包
Fedora/Red Hat/CentOS/Opensuse或者 Scientific
yum groupinstall 'Development Tools'
ubuntu/Debian
sudo apt-get update
sudo apt-get install build-essential manpages-dev
安装Vscode
vscode具体安装方式请参考下面的连接,里面包括各种Centos,Ubuntu,Debian等发行版安装vscode教程。
安装C/C++ for Visual Studio Code扩展
打开你的Vscode,在活动栏中选择扩展图标按钮或者按下快捷键Ctrl+Shift+X
,然后搜索c++,点击安装。
配置C/C++扩展
你也许会看不惯函数之后的中括号{
换行,但这是C/C++的默认风格。我们认为如果你想折腾请继续使用这种风格,毕竟是官方标准,形成这个习惯看很多c/c++代码就不难。这种风格只有对长期使用使用不换行的人才就会形成强逼症,习惯已经养成难以改变,还有一点就是找写着写着中括号不知道在那里了。接下来我们改变这种函数后面中括号的换行的风格。
打开你的vsocde设置,找到c/c++扩展设置,在搜索框中输入format,找到C_Cpp: Clang_format_fallback Style设置,这是一个输入框,你可以输出值的包括Visual Studio
, LLVM
, Google
, Chromium
, Mozilla
, WebKit
, Microsoft
, GNU
, none
,个人选择Google。请安装你的个人喜好配置,这里不细说各个风格设置。
你也可以直接编辑vscode的设置json,像下面这样:
{
....
"C_Cpp.clang_format_fallbackStyle": "Google",
....
}
安装C/C++ Advanced Lint for VS Code扩展
打开你的Vscode,在活动栏中选择扩展图标按钮或者按下快捷键Ctrl+Shift+X
,然后搜索c++,点击安装。
配置C/C++ Advanced Lint for VS Code扩展
C/C++ Advanced Lint仅只是一个插件,对代码的分析是使用clang或者cppcheck进行lint检查。因此我们还需要安装clang以及cppcheck程序。对与Linux用户安装这个也是非常简单。只需要简单执行下面的命令即可。
Debian/Ubuntu安装clang与cppcheck
sudo apt-get install clang cppcheck
macOS
对于macOS用户,安装Xcode及其CLI工具时已包含Clang。
brew install cppcheck
现在,lint检查工具已经安装完成。但是在默认情况,C/C++ Advanced Lint会对c/c++都进行lint检查。这回导致某些语法冲突。因此,我们需要针对特定c语言项目或者c++项目启用获取关闭插件。如果你是同时写c++或者c在一个项目。那你自己看着办吧,相信你已经大佬了。
接下来我们说说怎么打开关闭c/c++的lint检查。打开你的C/C++ Advanced Lint扩展的设置,找到C-cpp-flylint › Clang: Enable的复选框,打勾表示启用。对于c++,c++使用的是cppcheck。启用或者关闭c++的lint的检查选项是C-cpp-flylint › Cppcheck: Enable,这个一个复选框,打勾表示启用。
创建c语言的项目
使用cd命令切换到你的家目录并且使用mkdir命令执行mkdir -p c/helloworld创建文件夹,我们将在此文件夹中创建c项目。接下来,我们先关闭C/C++ Advanced Lint扩展的c++ lint检查,选项是C-cpp-flylint › Cppcheck。接着创建一个helloworld.c文件,请在c文件输出以下内容:
时间问题,后面补上
创建c++语言项目
使用cd命令切换到你的Home家目录并且使用mkdir命令执行mkdir -p cpp/helloworld
创建文件夹,我们将在此文件夹中创建c++项目。接下来,我们先关闭C/C++ Advanced Lint扩展的c lint检查,选项是C-cpp-flylint › Clang。接着创建一个helloworld.cpp文件,请在helloworld.cpp文件输出以下内容:
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main()
{
vector<string> msg{"Hello", "C++", "World", "from", "VS Code", "and the C++ extension!"};
for (const string &word : msg)
{
cout << word << " ";
}
cout << endl;
}
如何使用Vscode调试c++项目
现在我们已经创建c++项目的需要的文件,接下来我们要配置vscode,让vscode可以调试c++代码。在你的项目根目录中创建文件夹.vscode
使用mkdir命令:mkdir -p cpp/helloworld/.vscode
,创建三个文件分别是c_cpp_properties.json
,launch.json
,tasks.json
,内容如下:
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [],
"compilerPath": "/usr/bin/g++",
"cStandard": "c11",
"cppStandard": "c++17",
"intelliSenseMode": "${default}"
}
],
"version": 4
}
c_cpp_properties.json
c_cpp_properties.json文件主要是配置c++项目的include的path,以及使用c/c++的版本,在这个示例中使用c的标准版本是c11,c++的标准版本是c17。include路径是标准的Linux系统头文件路径和项目文件夹下所有的include目录。
{
"version": "0.2.0",
"configurations": [
{
"name": "g++ build and debug active file",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}/${fileBasenameNoExtension}",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "g++ build active file",
"miDebuggerPath": "/usr/bin/gdb"
}
]
}
launch.json
{
"version": "2.0.0",
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: g++ build active file",
"command": "/usr/bin/g++",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": "build",
"detail": "compiler: /usr/bin/g++"
}
]
}
tasks.json
当上面文件你都已经创建完成,请按下ctrl+shift+b先构建cpp文件的二进制,解下来按下F5键开始进行调试。
至此,你已经基本完成了如何在Linux/MacOS使用vscode构建一个c/c++开发环境。如果你遇到任何问题欢迎在下面发表评论。
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK