VSCODE

VSCODE配置C语言环境

首先,下载VScode。初始语言环境为英语,如果要中文语言,在这里插入图片描述
或者按CTRL+SHIFT+S添加插件,如下图:在这里插入图片描述
即可。其次,VScode只相当于一个文本编辑器,所以我们还需要有编译器,WIN10我们用MinGW编译器。MinGW,是Minimalist GNUfor Windows的缩写。它是一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,允许你在GNU/Linux和Windows平台生成本地的Windows程序而不需要第三方C运行时(C Runtime)库。(百度百科)
安装教程:
https://blog.csdn.net/ksksjipeng/article/details/52150779
在这里插入图片描述
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210126114805672.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NhaV80,size_16,color_FFFFFF,t_70
下载后解压到任意地方。随后设置环境变量,右键我的电脑,属性
高级系统设置
环境变量-系统变量
找到 Path 一栏-双栏-新建
在这里插入图片描述
确定后 打开VScode
在桌面按住SHIFT+鼠标右键在这里插入图片描述

点击出输入g++或gcc出现即可。在这里插入图片描述
到此环境配置就完成了。
随后进入VScode,添加插件,插件位置还是开头说的那儿在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在桌面新建一个文件夹拖到VScode打开。在此文件下操作,在VScode里他会自动在你的文件夹下创立.VScode文件。在这里插入图片描述
如图在这里插入图片描述
点此新建文件(在你拖进来的那个文件夹下)。配置launch.json
内容重新编写如下
{

   "version": "0.2.0",  
    "configurations": [  
    {
        "name": "(gdb) Windows 上的 Bash 启动",
        "type": "cppdbg",
        "request": "launch",
        "program": "输入程序名称,例如 ${workspaceFolder}/a.exe",
        "args": [],
        "stopAtEntry": false,
        "cwd": "${workspaceFolder}",
        "environment": [],
        "externalConsole": false,
        "pipeTransport": {
            "debuggerPath": "/usr/bin/gdb",
            "pipeProgram": "${env:windir}\\system32\\bash.exe",
            "pipeArgs": ["-c"],
            "pipeCwd": ""
        },
        "setupCommands": [
            {
                "description": "为 gdb 启用整齐打印",
                "text": "-enable-pretty-printing",
                "ignoreFailures": true
            }
        ]
    },
        {  
            "name": "(gdb) Launch", // 配置名称,将会在启动配置的下拉菜单中显示  
            "type": "cppdbg",       // 配置类型,这里只能为cppdbg  
            "request": "launch",    // 请求配置类型,可以为launch(启动)或attach(附加)  
            "program": "${workspaceRoot}/${fileBasenameNoExtension}.exe",// 将要进行调试的程序的路径  
            "args": [],             // 程序调试时传递给程序的命令行参数,一般设为空即可  
            "stopAtEntry": false,   // 设为true时程序将暂停在程序入口处,一般设置为false  
            "cwd": "${workspaceRoot}", // 调试程序时的工作目录,一般为${workspaceRoot}即代码所在目录  
            "environment": [],  
            "externalConsole": true, // 调试时是否显示控制台窗口,一般设置为true显示控制台  
            "MIMode": "gdb",  
            "miDebuggerPath": "C:\\Users\\lenovo\\Desktop\\个人\\mingw64\\bin\\gdb.exe", // miDebugger的路径,注意这里要与MinGw的路径对应  
            "preLaunchTask": "g++", // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc  
            "setupCommands": [  
                {   
                    "description": "Enable pretty-printing for gdb",  
                    "text": "-enable-pretty-printing",  
                    "ignoreFailures": true  
                }  
            ]  
        }  
    ]  
}

注意 miDebugger的路径,注意这里要与MinGw的路径对应
3.Ctrl+Shift+P 选择Tasks: Configure Task<任务:(配置任务)>
选择使用模板创建task.json文件
选择other,进行如下设置配置tasks.json在这里插入图片描述
4.切换到C程序文件处,选择顶部状态栏----->调试
5.选择 C++ (GDB/LLDB),进行如下设置

内容如下
{

    "version": "2.0.0",
    "command": "g++",
    "args": ["-g","${file}","-o","${fileDirname}/${fileBasenameNoExtension}.exe"],    // 编译命令参数
    "problemMatcher": {
        "owner": "cpp",
        "fileLocation": ["relative", "${workspaceFolder}"],
        "pattern": {
            "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
            "file": 1,
            "line": 2,
            "column": 3,
            "severity": 4,
            "message": 5
        }
    },
    "presentation": {
        "echo": true,
        "reveal": "always",
        "focus": false,
        "panel": "new", 
        "showReuseMessage": true,
        "clear": false
    }
}

_cpp_properties.json代码
如果你确定不需要使用别人的库,则现在的版本不需要创建这个文件了,扩展会自动使用默认的设置。

如果你自己编写了头文件又不在workspaceFolder下,或是使用别人的库,路径就要加到includePath和browse里(不过还有别的操作要做,见下一大点的多文件编译)。如果需要递归包含,末尾加/**

此文件内容来自于Microsoft/vscode-cpptools;这个json不允许有注释(其实按照标准本来就不能有)。

如果没有合并Clang和MinGW,则该文件中的compilerPath必需修改成MinGW的完整路径,精确到gcc.exe,否则会提示找不到头文件;Linux下是/usr/bin/gcc。

Windows下的目录分隔符为反斜杠,原本应使用两个反斜杠来转义,但直接用斜杠在VS Code中也接受。

When you set the compilerPathproperty and change intelliSenseModeto clang-x64(or gcc-x64in version 0.18.0 and higher), you no longer need to copy the system include path or defines to includePath, browse.path, or definesto enable IntelliSense to work properly.
{
“configurations”: [
{
“name”: “MinGW”,
“intelliSenseMode”: “gcc-x64”,
“compilerPath”: “C:/LLVM/bin/gcc.exe”,
“includePath”: [
KaTeX parse error: Expected '}', got 'EOF' at end of input: … "{workspaceFolder}”
],
“limitSymbolsToIncludedHeaders”: true,
“databaseFilename”: “”
},
“cStandard”: “c11”,
“cppStandard”: “c++17”
}
],
“version”: 4
}
settings.json代码

{
“files.defaultLanguage”: “c”, // ctrl+N新建文件后默认的语言
“editor.formatOnType”: true, // 输入时就进行格式化,默认触发字符较少,分号可以触发
“editor.snippetSuggestions”: “top”, // snippets代码优先显示补全

"code-runner.runInTerminal": true, // 设置成false会在“输出”中输出,无法输入
"code-runner.executorMap": {
    "c": "cd $dir && clang $fileName -o $fileNameWithoutExt.exe -Wall -g -Og -static-libgcc -fcolor-diagnostics --target=x86_64-w64-mingw -std=c11 && $dir$fileNameWithoutExt",
    "cpp": "cd $dir && clang++ $fileName -o $fileNameWithoutExt.exe -Wall -g -Og -static-libgcc -fcolor-diagnostics --target=x86_64-w64-mingw -std=c++17 && $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.clang_format_sortIncludes": true, // 格式化时调整include的顺序(按字母排序)
"C_Cpp.intelliSenseEngine": "Default", // 可以为Default或Tag Parser,后者较老,功能较简单。具体差别参考cpptools扩展文档
"C_Cpp.errorSquiggles": "Disabled", // 因为有clang的lint,所以关掉
"C_Cpp.autocomplete": "Disabled", // 因为有clang的补全,所以关掉

"clang.cflags": [ // 控制c语言静态检测的参数
    "--target=x86_64-w64-mingw",
    "-std=c11",
    "-Wall"
],
"clang.cxxflags": [ // 控制c++静态检测时的参数
    "--target=x86_64-w64-mingw",
    "-std=c++17",
    "-Wall"
],
"clang.completion.enable":true // 效果效果比cpptools要好

}
运行代码时右上角已经有了我们的插件给我们带来的小三角。点击即可
例如在这里插入图片描述
在这里插入图片描述
注意如果提示include按更新为includepath,解决方案如下,在VScode里键盘按下“Shift+Ctrl+p” 输入: C++Configurations,选择UI界面,如图所示:在这里插入图片描述
右下角接近任务栏的地方,会提示需要打开文件夹,此时自己打开一个文件夹(注:在此之前无打开的文件夹)
之后的文件夹里会自动生成“.vscode”,如下图左边红框:
在这里插入图片描述
将包含路径改为mingw里bin文件里include的路径即可。
参考文献:1.https://blog.csdn.net/tang_yating_/article/details/107366004
2.https://blog.csdn.net/u013163834/article/details/85213443?ops_request_misc=%25257B%252522request%25255Fid%252522%25253A%252522161163267616780264047352%252522%25252C%252522scm%252522%25253A%25252220140713.130102334.pc%25255Fall.%252522%25257D&request_id=161163267616780264047352&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_v2~rank_v29-1-85213443.pc_search_result_cache&utm_term=vscode%E6%80%8E%E4%B9%88%E8%BF%90%E8%A1%8C%E4%BB%A3%E7%A0%81C%E8%AF%AD%E8%A8%80
3.https://blog.csdn.net/lyw851230/article/details/89352839?ops_request_misc=%25257B%252522request%25255Fid%252522%25253A%252522161163375016780264033984%252522%25252C%252522scm%252522%25253A%25252220140713.130102334.pc%25255Fall.%252522%25257D&request_id=161163375016780264033984&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_v2~rank_v29-2-89352839.pc_search_result_cache&utm_term=vscode%E6%80%8E%E4%B9%88%E8%BF%90%E8%A1%8C%E4%BB%A3%E7%A0%81
感谢以上博客主人
的内容,最后两条文献即是两位大佬的博客,再次感谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cai-4

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值