如果你是初学者,建议先用vs或者pycharm,等你拥有一定的功底在使用vscode
简介
VSCode,全称为Visual Studio Code,是由微软开发的一款轻量级,跨平台的代码编辑器。大家能来搜用VSCode配置c/c++,想必也知道VSCode的强大,可以手握一个VSCode同时编写如C,C++,C#,Java,python等等语言的代码。得益于在VSCode上可以下载很多不同种类的插件,可以给vscode添加很多扩展功能,如代码高亮美化,代码补全和代码检查等。
VSCode的下载和安装
下载链接,点进去下载,会为你匹配适合你电脑配置的下载链接给你
Visual Studio Code - Code Editing. Redefined
下好之后,我们打开安装包,开始安装
接下来是设置一些开始菜单的目录,按默认就好了,点击 " Next(下一步) "。
选择安装位置,默认情况下 VS Code 会安装在以下目录 C:\Users\{Username}\AppData\Local\Programs\Microsoft VS Code,Username 为你的用户名,没特别要求按默认的来,点击" Next(下一步) "。 (如果路径有中文,建议更换路径)
接下来,可以勾选以下选项(推荐):
可以全选,看需要
- 在桌面创建快捷方式。
- 将 VS Code 添加到右键菜单中(方便直接用 VS Code 打开文件)。
- 将 VS Code 添加到 PATH 环境变量(方便在终端中运行 code 命令)。
点击"Install(安装)"按钮,等待完成后启动 VS Code。
点击 "Finish(完成)" 按钮完成安装:
启动 VS Code ,界面如下所示:
安装汉化包
VScode 安装汉化包很简单,打开 VScode,点击左侧安装扩展图标,在搜索框输入 Chinese:
然后点击第一个搜索出来选项【Chinese (Simplified) (简体中文)】的 Install 按钮就可以:
安装完成后,重启 VSCode,界面显示的就是中文了。
VSCode 的 code 命令
启用 VSCode 的 code 命令 非常简单,先打开命令面板:
- macOS 系统快捷键:⇧⌘P
- Windows/Linux 快捷键: Ctrl + Shift + P
搜索安装 >shell command:
然后选择 Shell Command: Install 'code' command in PATH 即可为系统 PATH 路径添加了 code 命令的引用。
配置C/C++环境
VSCode安装好之后,我们还是要知道,VSCode毕竟是一个高级的编辑器,只能用来写C/C++代码,不能直接编译代码。
所以,如果我们要能使用VSCode搭建C/C++的编译和调试环境,还必须有编译器使用。
为了方便,我们就使用MinGw-w64 ,MinGw-w64移植到windows平台的一个gcc编译器,使用起来也是非常方便的。
下面我们就演示怎么下载和配置MinGw-w64
地址:https://sourceforge.net/projects/mingw-w64/
随便选个时间段进去,但是文件的格式得是这个样子的
x86_64-14.1.0-release-win32-seh-msvcrt-rt_v12-rev0.7z
解压后我们会得到一个mingw文件夹
将其复制到你需要的位置
双击打开并进入bin文件夹内,这里有我们的gcc(C语言编译器)、g++(C++编译器),gdb调试器(可以使用断点调试)等
复制bin路径
!这样我们的准备环境就配置好了
我们可以使用一些命令来测试一下,按win+r输入cmd打开终端
以此输入
安装插件就不介绍了
正常装一下python的扩展 c++的扩展就行
配置文件
需要新建一个.vscode文件 下面放四个子文件,我这里主要讲cmake配置,这部分我就简单介绍一下
创建一个Code文件,后面是两个子文件,可以进vscode里面在创建
vscode下面是
c++下面是
一个简单的Hello world
#include <iostream>
int main()
{
std::cout << "Hello, world!" << std::endl;
return 0;
}
c_cpp_properties.json内容如下:
{
"configurations": [
{
"name": "Win64",
"includePath": ["${workspaceFolder}/**"],
"defines": ["_DEBUG", "UNICODE", "_UNICODE"],
"windowsSdkVersion": "10.0.18362.0",
"compilerPath": "E:/Software/Microsoft VS Code/mingw64/bin/g++.exe",
"cStandard": "c17",
"cppStandard": "c++17",
"intelliSenseMode": "gcc-x64"
}
],
"version": 4
}
launch.json内容如下
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceRoot}",
"environment": [],
"externalConsole": true,
"MIMode": "gdb",
"miDebuggerPath": "E:/Software/Microsoft VS Code/mingw64/bin/gdb.exe",
"preLaunchTask": "g++",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
settings.json
{
"files.associations": {
"*.py": "python",
"iostream": "cpp",
"*.tcc": "cpp",
"string": "cpp",
"unordered_map": "cpp",
"vector": "cpp",
"ostream": "cpp",
"new": "cpp",
"typeinfo": "cpp",
"deque": "cpp",
"initializer_list": "cpp",
"iosfwd": "cpp",
"fstream": "cpp",
"sstream": "cpp",
"map": "c",
"stdio.h": "c",
"algorithm": "cpp",
"atomic": "cpp",
"bit": "cpp",
"cctype": "cpp",
"clocale": "cpp",
"cmath": "cpp",
"compare": "cpp",
"concepts": "cpp",
"cstddef": "cpp",
"cstdint": "cpp",
"cstdio": "cpp",
"cstdlib": "cpp",
"cstring": "cpp",
"ctime": "cpp",
"cwchar": "cpp",
"exception": "cpp",
"ios": "cpp",
"istream": "cpp",
"iterator": "cpp",
"limits": "cpp",
"memory": "cpp",
"random": "cpp",
"set": "cpp",
"stack": "cpp",
"stdexcept": "cpp",
"streambuf": "cpp",
"system_error": "cpp",
"tuple": "cpp",
"type_traits": "cpp",
"utility": "cpp",
"xfacet": "cpp",
"xiosbase": "cpp",
"xlocale": "cpp",
"xlocinfo": "cpp",
"xlocnum": "cpp",
"xmemory": "cpp",
"xstddef": "cpp",
"xstring": "cpp",
"xtr1common": "cpp",
"xtree": "cpp",
"xutility": "cpp",
"stdlib.h": "c",
"string.h": "c"
},
"editor.suggest.snippetsPreventQuickSuggestions": false,
"aiXcoder.showTrayIcon": true
}
tasks.json
{
"version": "2.0.0",
"tasks": [
{
"label": "g++",
"command": "g++",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}.exe"
],
"problemMatcher": {
"owner": "cpp",
"fileLocation": [
"relative",
"${workspaceRoot}"
],
"pattern": {
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
},
"group": "build"
},
{
"type": "cppbuild",
"label": "C/C++: g++.exe 生成活动文件",
"command": "E:/Software/Microsoft VS Code/mingw64/bin/g++.exe",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "E:/Software/Microsoft VS Code/mingw64/bin"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "调试器生成的任务。"
}
]
}
Cmake配置
前置要求
在开始之前,您需要安装以下软件:
- Visual Studio Code及插件
- CMake
- C++编译器
安装配置CMake
选择一个后缀为.msi的Windows安装包下载,尽量选最新的
安装时记得勾选“Add CMake to the system PATH for all users”,这样就不用自己再配置环境变量了
安装后在cmd输入以下目录验证是否安装成功
cmake -version
安装配置MinGw
前面的安装的MinGw
-
进入bin文件夹,找到
mingw32-make.exe
,复制一份,将其中一份重命名为make.exe
(依旧保存在bin文件夹中) -
验证是否配置成功,cmd中输入
gcc -v
make -v
可以判断是否安装成功
安装3个插件
C/C++ Extension Pack
下面两个好像已经不用安装了,当然后面缺什么的话,会报提示
单文件工程
在本节中,我们将创建一个简单的单文件工程,并使用CMake构建它。
创建项目
首先,我们需要创建一个文件夹,将其命名为hello-world
。在该文件夹中,创建一个名为main.cpp
的文件,并将以下内容复制到其中:
#include <iostream>
int main()
{
std::cout << "Hello, world!" << std::endl;
return 0;
}
创建CMakeLists.txt文件
接下来,我们需要在hello-world
文件夹中创建一个名为CMakeLists.txt
的文件,并将以下内容复制到其中:
cmake_minimum_required(VERSION 3.10)
project(hello-world)
add_executable(hello-world main.cpp)
该文件告诉CMake如何构建我们的项目。首先,我们指定了CMake的最低版本为3.10。然后,我们指定了项目名称为hello-world
。最后,我们使用add_executable
命令将main.cpp
文件添加到我们的项目中。
构建项目
使用命令行cmake构建
- 手动创建build文件夹
-
mkdir build
- 进入至build文件夹中
-
cd build
如果已安装了VS,可能会调用MS的MSVC编译器,使用下面命令来代替
cmake ..
即可
cmake -G "MinGW Makefiles" ..
只有第一次使用cmake时使用以上命令,后续便可直接使用cmake ..
- 编译文件
make
cmake --build . --config Release
依靠vs构建的话,需要底下的指令生成main.exe
-
该命令将会编译并链接我们的程序,最终生成一个名为
hello-world
的可执行文件。 - 运行exe
-
最后,我们可以在终端中运行该可执行文件:
./hello-world
多文件工程
在本节中,我们将创建一个包含多个文件的工程,并使用CMake构建它。
创建项目
首先,我们需要创建一个文件夹,将其命名为multi-file
。在该文件夹中,创建一个名为main.cpp
的文件,并将以下内容复制到其中:
#include <iostream>
#include "hello.hpp"
int main()
{
std::cout << hello() << std::endl;
return
}
在同一个文件夹中,创建一个名为hello.cpp
的文件,并将以下内容复制到其中:
#include "hello.hpp"
std::string hello()
{
return "Hello, world!";
}
还需在同一文件夹中,创建一个名为hello.hpp
的文件,并将以下内容复制到其中:
#pragma once
#include <string>
std::string hello();
创建CMakeLists.txt文件
接下来,我们需要在multi-file
文件夹中创建一个名为CMakeLists.txt
的文件,并将以下内容复制到其中:
cmake_minimum_required(VERSION 3.10)
project(multi-file)
add_executable(multi-file main.cpp hello.cpp)
该文件与单文件工程的文件类似,我们添加了hello.cpp
文件并将其与main.cpp
一起添加到我们的项目中。
构建项目
接下来,我们需要使用CMake构建我们的项目。打开VSCode,将文件夹multi-file
打开为工作区。
如前面操作即可