文章目录
- 前言
- 下载
- 安装
- 设置.vscode
- c_cpp_properties.json
- launch.json
- settings.json
- 下载Code Runner 插件
- 运行代码
- 定制头文件和宏的引入
- 代码格式化
- 常用快捷键
- 高亮函数
- GIT使用
- 问题
- 用codeRun 出现中文乱码
- 解决VSCode终端中文乱码问题
前言
说明下如何在VSCode下面搭建C/C++环境以及运行
下载
点击该链接,进行ming64安装包下载:ming64安装包 VSCode安装请自行百度,这里不在赘述。
安装
- 将下载完成后的安装包,解压放到C盘下面即可,如下图所示:
- 添加环境变量
在我的电脑上点击右键–>属性:进入环境变量配置C:\mingw64\bin; (要与mingw64安装位置相对应)
设置.vscode
在对应的工程目录下面新建.vscode文件,并且对应创建如下三个文件
c_cpp_properties.json
将下面内容直接复制到该文件下面即可
{
"configurations": [
{
//win32 操作系统名字
"name": "Win32",
// 提供.h文件的搜索目录
"includePath": [
"C:/mingw64/include",
"C:/mingw64/x86_64-w64-mingw32/include",
//根据的安装路径更改
"${workspaceRoot}/**"
],
//编译时加入的宏定义
"defines": [
"_DEBUG",
"UNICODE"
],
"compilerPath": "C:\\mingw64\\bin\\gcc.exe",
"cStandard": "gnu17",
"cppStandard": "gnu++14"
}
],
"version": 4
}
launch.json
将下面内容直接复制到该文件下面即可
{
// 悬停以查看现有属性的描述。
"version": "0.2.0",
"configurations": [
{
"name": "C/C++",
"type": "cppdbg",
"request": "launch",
"targetArchitecture": "x64",
"program": "${workspaceFolder}/${fileBasenameNoExtension}.exe",
"miDebuggerPath": "C:/mingw64/bin/gdb.exe",
"MIMode": "gdb",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"internalConsoleOptions": "openOnFirstSessionStart",
"externalConsole": false,
"preLaunchTask": "gcc"
}
]
}
settings.json
将下面内容直接复制到该文件下面即可
{
"files.associations": {
"stdarg.h": "c",
"utils.h": "c",
"string.h": "c",
"typedef.h": "c",
"stdlib.h": "c",
"stdio.h": "c",
"gd32f4xx_usart.h": "c",
"gd32f4xx.h": "c",
"limits": "c",
"cmath": "cpp",
"*.tcc": "cpp",
"cstdlib": "cpp"
},
"code-runner.executorMap": {
"c": "cd $dir && g++ $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
"cpp": "cd $dir && g++ -std=c++11 $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt"
},
}
下载Code Runner 插件
打开VSCode, 进入应用商店,输入Code Runner 进行插件下载安装即可
运行代码
接下来在对应的工程下面 创建一个main文件,输入代码后,在main.c文件里点击右键选择RunCode 运行代码即可
定制头文件和宏的引入
在工程目录下面的.vscode/c_cpp_properties.json 里面
设置想要引入的头文件,如下:
{
"configurations": [
{
"name": "win32",
//引入想要的头文件的文件夹 防止多个分支识别问题
"includePath": [
"${workspaceRoot}/MS_Customize/**",
"${workspaceRoot}/MS_Ref/**",
"${workspaceRoot}/RTOS/**",
"${workspaceRoot}/common/**",
"${workspaceRoot}/chip_drv/**",
"${workspaceRoot}/Prj_mk/FF620V01_48X128_QVGA_6872/**",
"${workspaceRoot}/Prj_mk/Watch_demo_xm/**",
"${workspaceRoot}/MS_Customize/**",
"${workspaceRoot}/MS_MMI_Main/**",
"${workspaceRoot}/CAF/Template/**"
//"${workspaceRoot}/**"
],
//可以在本工程下面增加想要的宏
"defines": [
"BT_PBAP_SUPPORT",
"TOUCH_PANEL_CTRL_SUPPORT_MMI",
"MMI_MSTYLE_SUPPORT",
"MATRIX_MAIN_MENU_SUPPORT",
"CALL_TIMES_SUPPORT",
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"cStandard": "c11",
"cppStandard": "c++17",
"compilerPath": "C:\\mingw64\\bin\\gcc.exe"
}
],
"version": 4
}
实现效果如下图,方便快速阅读代码,非活跃区代码即可不用看
代码格式化
在工程目录下面的.vscode/settings.json 里面
增加格式化风格配置,常用的风格配置项说明如下:
/*
# 基于某一主题上的修改
BasedOnStyle: LLVM
# 每行字符的限制,0表示没有限制
ColumnLimit: 120
# 缩进宽度
IndentWidth: 4
# 大括号换行
WebKit(在函数前换行)
Allman(总是在大括号前换行)
Linux(除函数、命名空间和类定义,与Attach类似),
Mozilla(除枚举、函数、记录定义,与Attach类似),
Stroustrup(除函数定义、catch、else,与Attach类似),
GNU(总是在大括号前换行,并对于控制语句的大括号增加额外的缩进)
BreakBeforeBraces: Allman
# 允许短的if语句保持在同一行
AllowShortIfStatementsOnASingleLine: false
# 缩进case标签
IndentCaseLabels: false
# 访问说明符(public、private等)的偏移
AccessModifierOffset: -4
# 对齐连续宏定义
AlignConsecutiveMacros: AcrossComments
# 连续赋值时,对齐所有等号
AlignConsecutiveAssignments: true
# 不允许短的函数放在同一行
AllowShortFunctionsOnASingleLine: None
*/
"C_Cpp.clang_format_style": "{BasedOnStyle: LLVM, ColumnLimit: 120, IndentWidth: 4, BreakBeforeBraces: Allman, IndentCaseLabels: false, AccessModifierOffset: -4, AlignConsecutiveAssignments: true, AllowShortFunctionsOnASingleLine: None}",
常用快捷键
CTRL + P 查找工程目录下的文件
CTRL + SHIFT + F查找工程目录下所有文件的函数或者变量
CTRL + F 找到当前文件下的函数或变量
CTRL+左键 实现预览界面
在工程目录下面的.vscode/settings.json 里面
"editor.definitionLinkOpensInPeek": true,
CTRL + G 快速定位到当前文件第N行
高亮函数
"C_Cpp.dimInactiveRegions": true,
GIT使用
VSCode如何使用GIT
问题
用codeRun 出现中文乱码
打开文件-首选项-设置 在用户设置中添加:
"code-runner.runInTerminal": true,
解决VSCode终端中文乱码问题
VSCode终端其实调用的是cmd.exe,所以当这里出现中文乱码的时候要解决的是cmd的编码设置问题
打开终端
输入 chcp 65001
返回 Active code page: 65001