"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 运行, 操作如下:
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 下的项
来源: http://www.bubuko.com/infodetail-2494747.html