vscode是个不错的编辑器,简洁轻量,就是一开始的时候需要对环境进行配置,开个贴记录一下怎么用MingGW64+clang来配置。

下载地址

安装MinGW与Clang

Clang 下载完安装,选择Add LLVM to the system PATH for all users(一般重启电脑,这一步才生效)。

MinGW安装的时候Architecture选x86_64,装好以后,复制到Clang的文件夹里,同时自己将MinGW的bin文件夹加到环境变量path中。

win+r,输入cmd,打开输入clang -v, 如果显示版本号就安装完成了。

下面是比较关键的四组代码

记得把路径根据自己的具体情况修改

launch.josn代码:

  1. // https://github.com/Microsoft/vscode-cpptools/blob/master/launch.md
  2. {
  3. "version": "0.2.0",
  4. "configurations": [
  5. {
  6. "name": "(gdb) Launch", // 配置名称,将会在启动配置的下拉菜单中显示
  7. "type": "cppdbg", // 配置类型,这里只能为cppdbg
  8. "request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)
  9. "program": "${fileDirname}/${fileBasenameNoExtension}.exe", // 将要进行调试的程序的路径
  10. "args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可
  11. "stopAtEntry": true, // 设为true时程序将暂停在程序入口处,我一般设置为true
  12. "cwd": "${workspaceFolder}", // 调试程序时的工作目录
  13. "environment": [], // (环境变量?)
  14. "externalConsole": true, // 调试时是否显示控制台窗口,一般设置为true显示控制台
  15. "internalConsoleOptions": "neverOpen", // 如果不设为neverOpen,调试时会跳到“调试控制台”选项卡,你应该不需要对gdb手动输命令吧?
  16. "MIMode": "gdb", // 指定连接的调试器,可以为gdb或lldb。但目前lldb在windows下没有预编译好的版本。
  17. "miDebuggerPath": "gdb.exe", // 调试器路径。
  18. "setupCommands": [
  19. {
  20. "description": "Enable pretty-printing for gdb",
  21. "text": "-enable-pretty-printing",
  22. "ignoreFailures": false
  23. }
  24. ],
  25. "preLaunchTask": "Compile" // 调试会话开始前执行的任务,一般为编译程序。与tasks.json的label相对应
  26. }
  27. ]
  28. }

tasks.josn代码:

  1. // https://code.visualstudio.com/docs/editor/tasks
  2. {
  3. "version": "2.0.0",
  4. "tasks": [
  5. {
  6. "label": "Compile", // 任务名称,与launch.json的preLaunchTask相对应
  7. "command": "clang++", // 要使用的编译器
  8. "args": [
  9. "${file}",
  10. "-o", // 指定输出文件名,不加该参数则默认输出a.exe
  11. "${fileDirname}/${fileBasenameNoExtension}.exe",
  12. "-g", // 生成和调试有关的信息
  13. "-Wall", // 开启额外警告
  14. "-static-libgcc", // 静态链接
  15. "-fcolor-diagnostics",
  16. "--target=x86_64-w64-mingw", // 默认target为msvc,不加这一条就会找不到头文件
  17. "-std=c++17" // C语言最新标准为c11,或根据自己的需要进行修改
  18. ], // 编译命令参数
  19. "type": "shell",
  20. "group": {
  21. "kind": "build",
  22. "isDefault": true // 设为false可做到一个tasks.json配置多个编译指令,需要自己修改本文件,我这里不多提
  23. },
  24. "presentation": {
  25. "echo": true,
  26. "reveal": "always", // 在“终端”中显示编译信息的策略,可以为always,silent,never。具体参见VSC的文档
  27. "focus": false, // 设为true后可以使执行task时焦点聚集在终端,但对编译c和c++来说,设为true没有意义
  28. "panel": "shared" // 不同的文件的编译信息共享一个终端面板
  29. }
  30. // "problemMatcher":"$gcc" // 如果你不使用clang,去掉前面的注释符,并在上一条之后加个逗号。照着我的教程做的不需要改(也可以把这行删去)
  31. }
  32. ]
  33. }

settings.json代码:

  1. {
  2. "files.defaultLanguage": "cpp", // ctrl+N新建文件后默认的语言
  3. "editor.formatOnType": true, // 输入时就进行格式化,默认触发字符较少,分号可以触发
  4. "editor.snippetSuggestions": "top", // snippets代码优先显示补全
  5.  
  6. "code-runner.runInTerminal": true, // 设置成false会在“输出”中输出,无法输入
  7. "code-runner.executorMap": {
  8. "c": "cd $dir && clang $fileName -o $fileNameWithoutExt.exe -Wall -g -Og -static-libgcc -fcolor-diagnostics --target=x86_64-w64-mingw -std=c11 && $dir$fileNameWithoutExt",
  9. "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"
  10. }, // 设置code runner的命令行
  11. "code-runner.saveFileBeforeRun": true, // run code前保存
  12. "code-runner.preserveFocus": true, // 若为false,run code后光标会聚焦到终端上。如果需要频繁输入数据可设为false
  13. "code-runner.clearPreviousOutput": false, // 每次run code前清空属于code runner的终端消息
  14.  
  15. "C_Cpp.clang_format_sortIncludes": true, // 格式化时调整include的顺序(按字母排序)
  16. "C_Cpp.intelliSenseEngine": "Default", // 可以为Default或Tag Parser,后者较老,功能较简单。具体差别参考cpptools扩展文档
  17. "C_Cpp.errorSquiggles": "Disabled", // 因为有clang的lint,所以关掉
  18. "C_Cpp.autocomplete": "Disabled", // 因为有clang的补全,所以关掉
  19.  
  20. "clang.cflags": [ // 控制c语言静态检测的参数
  21. "--target=x86_64-w64-mingw",
  22. "-std=c11",
  23. "-Wall"
  24. ],
  25. "clang.cxxflags": [ // 控制c++静态检测时的参数
  26. "--target=x86_64-w64-mingw",
  27. "-std=c++17",
  28. "-Wall"
  29. ],
  30. "clang.completion.enable": true,
  31. "files.associations": {
  32. "iostream": "cpp",
  33. "ostream": "cpp",
  34. "string_view": "cpp",
  35. "*.tcc": "cpp",
  36. "string": "cpp",
  37. "cmath": "cpp"
  38. } // 效果效果比cpptools要好
  39. }

c_cpp_properties.json代码:

  1. {
  2. "configurations": [
  3. {
  4. "name": "MinGW",
  5. "intelliSenseMode": "clang-x64",
  6. "compilerPath": "C:/Program Files/LLVM/bin/gcc.exe",
  7. "includePath": [
  8. "${workspaceFolder}"
  9. ],
  10. "defines": [],
  11. "browse": {
  12. "path": [
  13. "${workspaceFolder}"
  14. ],
  15. "limitSymbolsToIncludedHeaders": true,
  16. "databaseFilename": ""
  17. },
  18. "cStandard": "c11",
  19. "cppStandard": "c++17"
  20. }
  21. ],
  22. "version":
  23. }

vscode用MinGW和Clang配置C++环境的更多相关文章

  1. vscode 基本知识以及如何配置 C++ 环境

    参考: 在用VSCode? 看完这篇文章, 开发效率翻倍!最后一条厉害了~ Visual Studio Code(VS code)你们都在用吗?或许你们需要看一下这篇博文 按下 ctrl+K,再按下 ...

  2. VS Code + MinGW + Clang + OpenGL (vscode 配置 opengl环境)

    vscode配置opengl环境会遇到一些问题,这里是在看了一些博文之后给出的一篇完整的可行的配置 首先,要配置C++环境,网上有很多完整的配置C++环境的教程,这里就引用一条 https://www ...

  3. VSCode配置c++环境简单教程

    VSCode配置c++环境简单教程 1.下载MinGW 安装有关gdb,gcc,g++的所有包 2.文件夹 打开一个文件夹 在里面随便写一个cpp 不管是VS还是VSCode,它的基本操作单位都是文件 ...

  4. vscode加MinGw三步搭建c/c++调试环境

    vscode加MinGw三步搭建c/c++调试环境 step1:安装vscode.MinGw 1.1 vscod常规安装:https://code.visualstudio.com/ 1.2 MinG ...

  5. QT + OpenCV + MinGW 在windows下配置开发环境

           由于研究项目需要,最近开始接触C++界面设计,关于“QT + OpenCV + MinGW在windows下配置开发环境”着实让人头疼,单次配置时间相当长,也十分不容易,本人第一次配置成 ...

  6. VScode 配置 C++ 环境进行编译和调试

    这里记录为 VScode 配置 C++ 环境的简单步骤,实践环境为 Ubuntu 18.04 ,VScode 1.27 .在 Ubuntu 环境下,系统默认安装 gcc 和 g++ 编译器,故而下列步 ...

  7. Win10下 VSCode配置LaTex环境

    ------------恢复内容开始------------ 环境:win10 软件:Tex Live, VSCode ,Sumatra Tex Live官网下载速度很慢,所以推荐使用清华镜像下载链接 ...

  8. vscode 配置 c++ 环境

    vscode 配置 c++ 环境 参考的这篇bloghttps://blog.csdn.net/bat67/article/details/81268581 1.安装编译器.这里安装 codebloc ...

  9. Win10安装VSCode并配置Python环境 完整版超详细简单【原创】

    我们分为三个步骤进行: 一.下载VSCode 二.配置Python环境 三.测试Python 一.下载VSCode 1.打开国内镜像vscode下载地址,即可自动下载:https://vscode.c ...

随机推荐

  1. 数据库事务(1)----- JDBC事务与JTA事务

    数据库事务(一)- JDBC事务与JTA事务 本文主要对JDBC事务与JTA事务做一个简单介绍. 1. 数据库事务概念 一个数据库事务通常包含对数据库进行读或写的一个操作序列.它的存在包含有以下两个目 ...

  2. Django的F查询和Q查询,事务,ORM执行原生SQL

    F查询和Q查询,事务及其他   F查询和Q查询 F查询 在上面所有的例子中,我们构造的过滤器都只是将字段值与某个我们自己设定的常量做比较.如果我们要对两个字段的值做比较,那该怎么做呢? Django ...

  3. Python3-os模块-操作系统的各种接口

    Python3中的os模块提供了一个便携的方式去使用操作系统的相关功能 os.name 返回导入的操作系统相关模块的名字,如 posix(unix/linux),nt(windows)等 os.env ...

  4. Pytorch入门——手把手带你配置云服务器环境

    本文始发于个人公众号:TechFlow,原创不易,求个关注 今天这篇是Pytorch专题第一篇文章. 大家好,由于我最近自己在学习Pytorch框架的运用,并且也是为了响应许多读者的需求,推出了这个P ...

  5. 如何在Linux下使用Tomcat部署Web应用(图文)

    学习Java必不可少的视同Tomcat,但是如果不会使用tomcat部署项目,那也是白扯,在这里教大家如果在Linux系统下视同Tomcat部署Web应用.   工具/原料   Apache-tomc ...

  6. 函数进化到Lambda表达式的三过程

    假如我们想要从一个整型数组中取出其中是奇数的选项,其实现方式有很多, 接下来通过三种方法的对比理解Lambda表达式的用途,需要了解的朋友可以参考下         //声明委托类型 public d ...

  7. 洛谷 P6145 【[USACO20FEB]Timeline G】

    这道题难就难在建图吧,建图懂了之后,跑一遍最长路就好了(也就是关键路径,但是不会用拓补排序求qnq,wtcl). 怎么建图呢?先不管输入的S,看下面的输入,直接建有向边即可,权值为x.如果现在跑最长路 ...

  8. Python3-在windows快速运行一个简单的本地 HTTP 服务器

    1.打开控制台2.python -m http.server

  9. HotSpot的启动过程

    HotSpot通常会通过java.exe或javaw.exe来调用/jdk/src/share/bin/main.c文件中的main()函数来启动虚拟机,使用Eclipse进行调试时,也会调用到这个入 ...

  10. Caocao's Bridges HDU - 4738 求桥

    题目描述 Caocao was defeated by Zhuge Liang and Zhou Yu in the battle of Chibi. But he wouldn't give up. ...