zoukankan      html  css  js  c++  java
  • vs code c/c++编程配置文件

    之前的C语言课程老师只讲了C没有接触C++,但是觉得C++挺重要的,而且python和java再去转exe有点麻烦,所以还是学一下C++。

    问过朋友推荐了几个IDE,最后他用的是visual studio,但是我嫌太大了。我说只要代码提示和高亮就行了,朋友说vs code就行。

    安装了vs code、c/c++插件、mingw-64后开始用,发现和当时学c的时候的vc++ 6.0不太一样,不能直接编译调试,还要设置相应的配置文件。

    经过一番搜索后,大概理解了是怎么回事。

    程序源码目录下有一个.vscode的文件夹,里面要存放各种配置文件。我目前就涉及到了两个,launch.json和tasks.json。

    launch.json是用来调试并启动程序的配置文件

    tasks.json是用来编译源码的配置文件(可能有其他用处,但目前我就知道他能编译源码)

    其中的tasks.json如果是c那么command是gcc,如果是c++那么command是g++(我套用的可能是c的模板,然后写cpp的时候编译出现问题,改成g++就好了)

    launch.json

    {
        "version": "0.2.0", //配置版本
        "configurations": [
            {
                // 配置名称,在启动配置下拉菜单中显示
                "name": "(gdb) Launch", 
                // 调试会话开始前要运行的任务
                "preLaunchTask": "build", 
                // 配置类型
                "type": "cppdbg", 
                // 请求配置类型,可以为启动(launch)或附加(attach)
                "request": "launch", 
                // 将要进行调试的程序的路径
                "program": "${fileDirname}/${fileBasenameNoExtension}.exe", 
                // 程序调试时传递给程序的命令行参数,一般设为空即可
                "args": [], 
                // 设为true时程序将暂停在程序入口处,一般设置为false
                "stopAtEntry": false, 
                // 调试程序时的工作目录,一般为${workspaceFolder}即代码所在目录
                "cwd": "${workspaceFolder}", 
                "environment": [],
                // 调试时是否显示控制台窗口,一般设置为true显示控制台
                "externalConsole": true, 
                "MIMode": "gdb",
                // GDB的路径,注意替换成自己的位置中的 gdb
                "miDebuggerPath": "H:/mingw-64/mingw64/bin/gdb.exe", 
                "setupCommands": [
                    {
                        "description": "Enable pretty-printing for gdb",
                        "text": "-enable-pretty-printing",
                        "ignoreFailures": true
                    }
                ]
            }
        ]
    }

    tasks.json

    {
        "version": "2.0.0",
        "tasks": [
            {
                "label": "build",
                "type": "shell",
                // 编译参数 ggc -g ${file} -o ${fileDirname}${fileBasenameNoExtension}.exe
                "windows": {
                    "command": "gcc",
                    "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
                    }
                },
                "group": {
                    "kind": "build",
                    "isDefault": true
                },
                // 终端面板配置
                "presentation": {
                    "echo": true,
                    "reveal": "always",
                    "focus": false,
                    "panel": "shared" // 控制面板是否在任务中共享面板,shared=共享,new=新面板
                }
            }
        ]
    }
  • 相关阅读:
    Vulnhub-靶机-DJINN: 1
    8.8-9 sqlmap从入门到精通-其中小技巧-分析大文件日志技巧
    Vulnhub-靶机-EVM: 1
    8.7 sqlmap从入门到精通-Linux服务器登录连接日志分析
    Linux操作系统常规的分析SSH登录日志需要使用的命令和记录
    CentOS最小安装无法使用ifconfig命令
    CentOS7下安装FTP服务
    解决Centos7安装后无法联网的问题
    Maven引入本地jar包
    Tomcat下安装solr6.x
  • 原文地址:https://www.cnblogs.com/roadwide/p/10504492.html
Copyright © 2011-2022 走看看