关于Vscode中C++的json配置文件解读

这篇具有很好参考价值的文章主要介绍了关于Vscode中C++的json配置文件解读。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

g++ 、gcc能在本地终端中运行一个c/cpp文件

终端尝试
gcc -v
g++ -v

如果有关于版本信息,则含有编译器。

g++  mian.cpp -o main.exe && main
-o 后接产生exe的文件名,exe可以省略
&& 后接产生的exe文件,exe可以省略
实际上这是两个命令,因为exe文件的执行直接命令行输入文件名即可。

        查看gcc,g++版本

        vscode json,编程,笔记,c++,vscode,json,编辑器

 gcc运行c程序

vscode json,编程,笔记,c++,vscode,json,编辑器

g++运行cpp程序

vscode json,编程,笔记,c++,vscode,json,编辑器

如果终端能运行,而vscode中运行不了大概率就是编译命令的问题了

打开设置

vscode json,编程,笔记,c++,vscode,json,编辑器

进入settings.json全局文件

vscode json,编程,笔记,c++,vscode,json,编辑器

 

修改运行命令 

 vscode json,编程,笔记,c++,vscode,json,编辑器

如果这步之后能成功运行,下面的都可以不用看了,下面是针对当前文件夹下的局部设置!!!

设置.vscode文件夹下settings.json文件

        其实最终要的是code-runner.executorMap,因为它设置你的命令行是怎么样的,换言之,变成通用的产生exe文件并运行的指令。

        如果在终端能够运行,那么将原来的命令改为我下面的,也应该是能够的。

        其次想深入探究的话,看看每一个后面的注释吧。

{
    "files.defaultLanguage": "cpp", // ctrl+N新建文件后默认的语言
    "editor.formatOnType": true, // 输入时就进行格式化,默认触发字符较少,分号可以触发
    "editor.snippetSuggestions": "top", // snippets代码优先显示补全
​
    "code-runner.runInTerminal": true, // 设置成false会在“输出”中输出,无法输入
    "code-runner.executorMap": {
        "c": "cd $dir && g++ $fileName -o $fileNameWithoutExt.exe  && $dir$fileNameWithoutExt",
        "cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt.exe  && $dir$fileNameWithoutExt"
    }, // 设置code runner的命令行
    "code-runner.saveFileBeforeRun": true, // run code前保存
    "code-runner.preserveFocus": true, // 若为false,run code后光标会聚焦到终端上。如果需要频繁输入数据可设为false
    "code-runner.clearPreviousOutput": false, // 每次run code前清空属于code runner的终端消息
​
}

c_cpp_properties.json - 编译环境相关的设置

  该文件用于指定一般的编译环境,包括头文件路径,编译器的路径等。通过 Ctrl + Shift + p 打开命令行,键入关键字 "C++",在下拉菜单中选择 "C/C++ Edit configuration",系统即自动在 .vscode 目录下创建 c_cpp_properties.json 文件,供用户进行编译方面的环境配置。

  • compilerPath要精确到: gcc.exe

  • Cmd获取includePath: gcc -v -E -x c++ - (作用:防止include报错:file not found)

  • includePath每项前后都要有: " " ,每项之间都要有: ,

  • 实在找不到路径,下载个everything软件,找找路径在哪

{
    "configurations": [
        {
            "name": "Win32",  //环境名
            "includePath": [
                "${workspaceFolder}/**", //指定头文件路径,这里指定的是当前工作目录,如有需要在后面添加,添加方式是加入 "/to/path" 格式的路径
                "C:\\Program Files (x86)\\Dev-Cpp\\MinGW64\\lib\\gcc\\x86_64-w64-mingw32\\4.8.1\\include\\c++",
                "C:\\Program Files (x86)\\Dev-Cpp\\MinGW64\\lib\\gcc\\x86_64-w64-mingw32\\4.8.1\\include",
                "C:\\Program Files (x86)\\Dev-Cpp\\MinGW64\\lib\\gcc\\x86_64-w64-mingw32\\4.8.1\\include\\c++\\x86_64-w64-mingw32",
                "C:\\Program Files (x86)\\Dev-Cpp\\MinGW64\\lib\\gcc\\x86_64-w64-mingw32\\4.8.1\\include\\c++\\backward",
                "C:\\Program Files (x86)\\Dev-Cpp\\MinGW64\\lib\\gcc\\x86_64-w64-mingw32\\4.8.1\\include-fixed",
                "C:\\Program Files (x86)\\Dev-Cpp\\MinGW64\\lib\\gcc\\x86_64-w64-mingw32\\4.8.1\\..\\..\\..\\..\\x86_64-w64-mingw32\\include"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "compilerPath": "D:\\Program Files (x86)\\mingw64\\bin\\gcc.exe",  //编译器的路径,可根据自己的安装情况进行设置
            "cStandard": "gnu17",
            "cppStandard": "gnu++14",  //设置使用的 C/C++ 标准
            "intelliSenseMode": "windows-gcc-x64"
        }
    ],
    "version": 4
}

tasks.json

        该文件用于指定程序的编译规则,即如何将源文件编译为可执行程序。通过 Ctrl + Shift + p 打开命令行,键入关键字 "task",并在下拉菜单中选择 Tasks: Configure Default Build Task -> Create tassk.json file from template -> Others ,系统即自动在 .vscode 目录下创建 task.json 文件( 基础模版 ),供用户设置具体的编译规则。

  注意此时仅生成了一个 task.json 的简化模板,修改该文件中 label 键的值,再打开命令行,选择 Tasks:Configure Default Build Task 选项,此时修改后的 label 名字会出现在选项栏中,此时选中该 label的名字,则对应的 task.json 文件会发生改变,并被设置为默认编译对象( 即执行命令 Tasks: Run Build Tasks 时默认执行的是该 task.json 文件对应的编译 ),其大致格式如下所示。用户需要根据实际情况对其中的键值进行修改。

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "Compile", // 任务名称,与launch.json的preLaunchTask相对应
            "command": "clang++", // 要使用的编译器
            "args": [
                "${file}",
                "-o", // 指定输出文件名,不加该参数则默认输出a.exe,Linux下默认a.out
                "${fileDirname}/${fileBasenameNoExtension}.exe",
                "-g", // 生成和调试有关的信息
                "-Wall", // 开启额外警告
                "-static-libgcc", // 静态链接
                "-fcolor-diagnostics", // 彩色的错误信息?但貌似clang默认开启而gcc不接受此参数
                "--target=x86_64-w64-mingw", // clang的默认target为msvc,不加这一条就会找不到头文件;Linux下去掉这一条
                "-std=c++17" // C语言最新标准为c11,或根据自己的需要进行修改
            ], // 编译命令参数
            "type": "shell", // 可以为shell或process,前者相当于先打开shell再输入命令,后者是直接运行命令
            "group": {
                "kind": "build",
                "isDefault": true // 设为false可做到一个tasks.json配置多个编译指令,需要自己修改本文件,我这里不多提
            },
            "presentation": {
                "echo": true,
                "reveal": "always", // 在“终端”中显示编译信息的策略,可以为always,silent,never。具体参见VSC的文档
                "focus": false, // 设为true后可以使执行task时焦点聚集在终端,但对编译c和c++来说,设为true没有意义
                "panel": "shared" // 不同的文件的编译信息共享一个终端面板
            }
            // "problemMatcher":"$gcc" // 如果你不使用clang,去掉前面的注释符,并在上一条之后加个逗号。照着我的教程做的不需要改(也可以把这行删去)
        }
    ]
}

精简自己的如下:

{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "shell",
            "label": "build",
            "command": "C:\\Program Files (x86)\\Dev-Cpp\\MinGW64\\bin\\g++.exe",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": "build",
            "detail": "编译器: \"C:\\Program Files (x86)\\Dev-Cpp\\MinGW64\\bin\\g++.exe\""
        },
        {
            "type": "cppbuild",
            "label": "C/C++: g++.exe 生成活动文件",
            "command": "C:/Program Files (x86)/Dev-Cpp/MinGW64/bin/g++.exe",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "C:/Program Files (x86)/Dev-Cpp/MinGW64/bin"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "调试器生成的任务。"
        }
    ]
}

launch.json

        该文件主要与程序的调试相关。用户可通过 Ctrl+Shift+p 打开命令行,键入关键字 "launch",选择 "Debug:Open launch.json" -> "C++(GDB/LLDB)",即可打开调试的配置文件 launch.json。该文件设置 VScode 在调试时的基本内容和要求.在配置好 launch.json 文件后, 按 F5 即可进入调试模式。launch.json 文件的基本选项如下所示。

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch", // 配置名称,将会在启动配置的下拉菜单中显示
            "type": "cppdbg", // 配置类型,这里只能为cppdbg
            "request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)
            "program": "${fileDirname}/${fileBasenameNoExtension}.exe", // 将要进行调试的程序的路径
            "args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可
            "stopAtEntry": false, // 设为true时程序将暂停在程序入口处,我一般设置为true
            "cwd": "${workspaceFolder}", // 调试程序时的工作目录
            "environment": [], // (环境变量?)
            "externalConsole": true, // 调试时是否显示控制台窗口,一般设置为true显示控制台
            "internalConsoleOptions": "neverOpen", // 如果不设为neverOpen,调试时会跳到“调试控制台”选项卡,你应该不需要对gdb手动输命令吧?
            "MIMode": "gdb", // 指定连接的调试器,可以为gdb或lldb。但目前lldb在windows下没有预编译好的版本。
            "miDebuggerPath": "gdb.exe", // 调试器路径,Windows下后缀不能省略,Linux下则去掉
            "setupCommands": [ // 用处未知,模板如此
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": false
                }
            ],
            "preLaunchTask": "Compile" // 调试会话开始前执行的任务,一般为编译程序。与tasks.json的label相对应
        }
    ]
}

精简自己的如下:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Launch", // 配置名称,将会在启动配置的下拉菜单中显示
            "type": "cppdbg", // 配置类型,这里只能为cppdbg
            "request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)
            "program": "${fileDirname}/${fileBasenameNoExtension}.exe", // 将要进行调试的程序的路径
            "args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可
            "stopAtEntry": true, // 设为true时程序将暂停在程序入口处,我一般设置为true
            "cwd": "${workspaceFolder}", // 调试程序时的工作目录
            "environment": [], // (环境变量?)
            "externalConsole": true, // 调试时是否显示控制台窗口,一般设置为true显示控制台
            "internalConsoleOptions": "neverOpen", // 如果不设为neverOpen,调试时会跳到“调试控制台”选项卡,你应该不需要对gdb手动输命令吧?
            "MIMode": "gdb", // 指定连接的调试器,可以为gdb或lldb。但目前lldb在windows下没有预编译好的版本。
            "miDebuggerPath": "C:\\Program Files (x86)\\Dev-Cpp\\MinGW64\\bin\\gdb.exe", // 调试器路径,Windows下后缀不能省略,Linux下则去掉
            "setupCommands": [ // 用处未知,模板如此
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": false
                }
            ],
            "preLaunchTask": "build" // 调试会话开始前执行的任务,一般为编译程序。与tasks.json的label相对应
        }
    ]
}

成功演示

vscode json,编程,笔记,c++,vscode,json,编辑器文章来源地址https://www.toymoban.com/news/detail-708797.html

到了这里,关于关于Vscode中C++的json配置文件解读的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 如何配置jsconfig.json文件解决VSCode中无法识别@别名引用的问题

    在现代web开发中,使用别名来引用模块已经成为了一个非常常见的做法。这样可以使得代码更加易读、易维护。然而,在使用VSCode进行开发时,如果不正确地配置jsconfig.json文件,就会遇到一些问题。 其中一个比较常见的问题是,在使用“@”符号来引用模块时,无法通过Ctr

    2023年04月10日
    浏览(40)
  • windows .vscode的json文件配置 CMake 构建项目 调试窗口中文设置等

    一、CMake 和 mingw64的安装和环境配置  二、tasks.json和launch.json文件配置 tasks.json launch.json  三、CMakeLists.txt文件 四、头文件和源文件 cat.h cat.cpp main.cpp 五、中文乱码问题解决  CMake C/C++程序输出乱码 Clion CMake C/C++程序输出乱码_cmake message 乱码-CSDN博客https://blog.csdn.net/qq_37274323/

    2024年01月24日
    浏览(54)
  • 1、vscode搭建C++开发环境及一些配置文件的含义

    下载地址:https://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-release/ 点击进去后然后下拉差不多到底 根据自身需求选择上图其中的一个下载 解压刚下载的压缩包,然后打开把mingw64这个文件夹复制到你想要放到的位置,类似如下(这就是你这个编译套件的地址) 在电脑上找

    2023年04月13日
    浏览(53)
  • MQTT,JSON,VSCODE(C语言编程环境)心得

    心得基于linux虚拟机和SSH方式,编辑基于VSCODE,编译基于GCC或G++,调试基于GDB的插件,代码管理基于git。 安装GIT:sudo apt-get install git 配置GIT: git config --global user.name “xxx” git config --global user.email “xxx@163.com” ssh-keygen -t rsa -C “xxx@163.com” 拷贝到网站 根据提示进入目录 cd

    2023年04月24日
    浏览(47)
  • VSCode打开Json 文件格式化

    在VSCode中打开JSON文件时,你可以使用以下步骤来格式化JSON并显示为多行: 使用快捷键: 在打开的JSON文件中,使用快捷键格式化文档。 Windows/Linux: Shift + Alt + F macOS: Shift + Option + F 右键菜单: 在打开的JSON文件中,右键单击,选择 \\\"Format Document\\\" 或 \\\"Format Selection\\\"。 命令面板

    2024年02月04日
    浏览(58)
  • vscode中setting.json配置详解

    vscode中的setting.json配置文件配置详解 话不多说上配置文件 大家按需复制到自己的setting.json配置文件中即可

    2024年02月16日
    浏览(86)
  • vscode debug 配置:launch.json

    打开新项目左边的“运行和调试” 点击蓝色字体“创建 launch.json 文件” 选择上方“python” 选择“Python 文件 调试当前正在运行的Python文件” 配置 launch.json 文件内容: \\\"justMyCode\\\": true debug时只进入项目自带文件,不进入安装的包文件 \\\"env\\\": {\\\"PYDEVD_WARN_SLOW_RESOLVE_TIMEOUT\\\": \\\"2\\\"} 多长

    2024年04月14日
    浏览(38)
  • VSCode修改配置(设置settings.json)汇总

    1.settings.json文件在哪(打开settings.json方式) (1)C:Users【你电脑名字username】AppDataRoamingCodeUser  (2)左下角设置按钮 (3)文件 - 首选项 - 设置 在这设置完属性后,settings.json也会自动更新 (4) 注意 :上面是全局的,如果是针对项目的设置,则在项目下面找 2.设置UI界

    2024年02月04日
    浏览(42)
  • ubuntu + VScode + C++ + openCV 运行调试launch.json和task.json编写

    近期在学习opencv的使用,在进行多文件编写时遇到了诸多问题,在查阅众多博客之后,问题一个一个解决了,用这篇文章记录下我的解决方法,希望可以为你提供一定的帮助。(新手拙见,欢迎批评指正)。 创建项目并编写代码。我的项目文件结构如下  在创建项目之后,点

    2024年02月14日
    浏览(33)
  • Vscode如何快速打开用户的 settings.json 文件

    快捷键 cmd+, (macos) ctrl+,(windows)

    2024年02月11日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包