vs012中如何写c语言,Visual Studio Code配置C、C++运行环境

系统环境:64位 Windows 10

1. 环境的准备

(1)、下载 MinGW-w64

MinGW-w64 - for 32 and 64 bit Windows 在此页面下载MinGW-w64,点击 Download

MinGW、MinGW-w64,它们是两个不同的项目,MinGW已经很久没有更新了,不推荐

(2)、添加环境变量,我的电脑 -> 右键 -> 高级系统设置 -> 环境变量 -> 系统变量 -> 在 path 中添加 MinGW-w64 的安装路径

(3)、运行cmd,输入 gcc -v 显示出对应的版本

(4)、需要安装的插件:

C/C++(就是有些教程里的cpptools)

Code Runner:运行选中代码段(支持大量语言,包括Node)

Include Autocomplete:提供头文件补全

C/C++ Snippets:Snippets即重用代码块

其他可选插件:

Bracket Pair Colorizer:彩虹花括号

One Dark Pro:大概是VS Code安装量最高的主题

GBKtoUTF8:把GBK编码的文档转换成UTF8编码的

C/C++ Clang Command Adapter:提供静态检测(Lint)

2. 配置四个.json文件

(1)、创建一个你打算存放代码的文件夹(称作工作区),路径不能含有中文和空格

(2)、打开VS Code,选择打开文件夹,选择刚才那个文件夹,点VS Code上的新建文件夹,名称为.vscode(这样做的原因是Windows的Explorer不允许创建的文件夹第一个字符是点)

(3)、创建以下4个文件放到.vscode文件夹下,效果如下图所示:

launch.json

tasks.json

settings.json

c_cpp_properties.json

b024fa6a277b

(4)、launch.json 文件中,加入如下代码:*

"miDebuggerPath": "D:\mingw-w64\mingw64\bin\gdb.exe", 需要修改为你安装的 MinGW-w64 的路径

{

"version": "0.2.0",

"configurations": [

{

"name": "CppDebug",

"type": "gdb",

"request": "launch",

"target": "${fileDirname}/${fileBasenameNoExtension}.exe",

"cwd": "${workspaceRoot}",

"preLaunchTask": "CppDebug" // 调试会话开始前执行的任务,一般为编译程序。与tasks.json的label或者taskName相对应

},

{

"name": "C++ Launch", // 配置名称,将会在调试配置下拉列表中显示

"type": "cppdbg", // 调试器类型:Windows表示器使用cppvsdbg;GDB和LLDB使用cppdbg。该值自动生成

"request": "launch", // 调试方式

"program": "${fileDirname}/${fileBasenameNoExtension}.exe", // 要调试的程序(完整路径,支持相对路径)

"args": [], // 传递给上面程序的参数,没有参数留空即可

"stopAtEntry": false, // 是否停在程序入口点(停在main函数开始)

"cwd": "${workspaceRoot}", // 调试程序时的工作目录

"environment": [],

"externalConsole": true, // 调试时是否显示控制台窗口

"preLaunchTask": "LaunchBuild",

"linux": { // 下面是Linux平台下,需要配置的参数,这里暂时不用关心

"MIMode": "gdb",

"setupCommands": [

{

"description": "Enable pretty-printing for gdb",

"text": "-enable-pretty-printing",

"ignoreFailures": true

}

]

},

"osx": { // 下面是Mac平台下,需要配置的参数,这里暂时不用关心

"MIMode": "lldb"

},

"windows": { // 下面是Windows平台下,需要配置的参数

"MIMode": "gdb", // VSCode要使用的调试工具

"miDebuggerPath": "D:\\mingw-w64\\mingw64\\bin\\gdb.exe", // miDebugger的路径,该值必须设置。尽管会自动搜索

"setupCommands": [

{

"description": "Enable pretty-printing for gdb",

"text": "-enable-pretty-printing",

"ignoreFailures": true

}

]

}

},

{ // 不用关心

"name": "C++ Attach",

"type": "cppdbg",

"request": "attach",

"program": "${fileDirname}/${fileBasenameNoExtension}.exe",

"processId": "${command:pickProcess}", // 要Attach的进程ID

"linux": {

"MIMode": "gdb",

"setupCommands": [

{

"description": "Enable pretty-printing for gdb",

"text": "-enable-pretty-printing",

"ignoreFailures": true

}

]

},

"osx": {

"MIMode": "lldb"

},

"windows": {

"MIMode": "gdb",

"setupCommands": [

{

"description": "Enable pretty-printing for gdb",

"text": "-enable-pretty-printing",

"ignoreFailures": true

}

]

}

}

]

}

(5)、tasks.json 文件中,加入如下代码:

{

"version": "0.1.0",

"tasks": [

{

"taskName": "LaunchBuild", //任务名称

"command": "g++",

"isBuildCommand": true, //编译, 快捷键crtl+shift+B,需要这个标识

"args": [

"-fexec-charset=GBK", // 支持中文显示

"-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

}

}

},

{

"taskName": "CppDebug", //任务名称,进行Debug调试,快捷键:F5

"command": "g++",

"args": [

"-fexec-charset=UTF-8",

"-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

}

}

}

]

}

(6)、settings.json 文件中,加入如下代码:

Code Runner的命令行和某些选项可以根据自己的需要在此处修改, 以下代码根据自己的情况调整,写完一个以后要打逗号,最后一个就不用了

这个设置会用在全局 settings.json 里(如果不需要,这个文件可以为空)

{

"editor.fontFamily": "Consolas, 微软雅黑", // 控制编辑器字体

"workbench.colorTheme": "One Dark Pro", // 主题

"files.trimTrailingWhitespace": true, // 保存时,删除每一行末尾的空格

"workbench.colorCustomizations": {

"activityBar.foreground": "#33ff66" // 自定义颜色

},

"git.enabled": false, // 如果你不用git,我建议你关闭它

"editor.minimap.enabled": false, // 我个人不用minimap,就是右边那个东西

"editor.dragAndDrop": false, // 选中文字后,可以拖动它们调整位置。我是不需要

"files.autoGuessEncoding": true // 启用后,会在打开文件时尝试猜测字符集编码

}

(7)、c_cpp_properties.json 文件中,加入如下代码:

我的版本是 7和 7.2.0,若是和我的不同,则需要修改该文件中的路径 (必须修改成 MinGW-w64 的安装路径),否则会提示找不到头文件;

输入 gcc -v 可以查看版本号

Windows下的路径为反斜杠,原本应使用两个反斜杠来转义,但直接用斜杠在VS Code中也接受

{

"configurations": [

{

"name": "Win32",

"intelliSenseMode": "clang-x64",

"includePath": [

"${workspaceFolder}",

"D:/mingw-w64/mingw64/lib/gcc/x86_64-w64-mingw32/7.2.0/include/c++",

"D:/mingw-w64/mingw64/lib/gcc/x86_64-w64-mingw32/7.2.0/include/c++/x86_64-w64-mingw32",

"D:/mingw-w64/mingw64/lib/gcc/x86_64-w64-mingw32/7.2.0/include/c++/backward",

"D:/mingw-w64/mingw64/lib/gcc/x86_64-w64-mingw32/7.2.0/include",

"D:/mingw-w64/mingw64/include",

"D:/mingw-w64/mingw64/x86_64-w64-mingw32/include",

"D:/mingw-w64/mingw64/lib/gcc/x86_64-w64-mingw32/7.2.0/include-fixed"

],

"defines": [

"_DEBUG",

"UNICODE",

"__GNUC__=7",

"__cdecl=__attribute__((__cdecl__))"

],

"browse": {

"path": [

"${workspaceFolder}",

"D:/mingw-w64/mingw64/lib/gcc/x86_64-w64-mingw32/7.2.0/include/c++",

"D:/mingw-w64/mingw64/lib/gcc/x86_64-w64-mingw32/7.2.0/include/c++/x86_64-w64-mingw32",

"D:/mingw-w64/mingw64/lib/gcc/x86_64-w64-mingw32/7.2.0/include/c++/backward",

"D:/mingw-w64/mingw64/lib/gcc/x86_64-w64-mingw32/7.2.0/include",

"D:/mingw-w64/mingw64/include",

"D:/mingw-w64/mingw64/x86_64-w64-mingw32/include",

"D:/mingw-w64/mingw64/lib/gcc/x86_64-w64-mingw32/7.2.0/include-fixed"

],

"limitSymbolsToIncludedHeaders": true,

"databaseFilename": ""

}

}

],

"version": 3

}

(8)、调式

直接按快捷键 F5,就可以进行了调试

存在一个问题:程序中出现“ system("pause"); ”, 进行调试,在vs code的调试控制台显示乱码,显示的字符是�밴���������. . .

解决方式:注释 system("pause"); 不影响调试 ( 不知道怎么更改 vs code的调试控制台的编码格式 )

(9)、编译、运行

需要先编辑,再运行

1、编译,按快捷键 crtl+shift+B,进行编译

2、运行,操作如下:

b024fa6a277b

3、如果之前执行过调试,需要再次编译后,再运行,不然会产生中文乱码

原因:调试F5 产生的运行文件的编码格式是UTF-8,在终端中,中文显示乱码

(10)、永久解决cmd窗口,中文显示乱码

1. win+R 输入regedit 进入注册表

2. 找到 HKEY_CURRENT_USER\Console%SystemRoot%_system32_cmd.exe 如果 该项下已存在CodePage项,则把值改为十进制”65001”;如果不存在,在该项下新建一个 DWORD(32位值),命名为“CodePage”,值设为“65001”

3. 重启cmd后生效

4. 对于Power shell修改同样,只需在第2步修改

%SystemRoot%_system32_WindowsPowerShell_v1.0_powershell.exe 下的项。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值