zoukankan      html  css  js  c++  java
  • vscode配置 -- 编写C语言

    一、前言:

    使用vscode编写单页面的小程序还是很方便的,但是,它不是集成开发环境,编写相应的程序,比如C语言,需要安装对应的插件和扩展,配置起来相对比较麻烦一些,但是用熟练了就非常好用,无论是调试还是编码,vscode都相当强大,毕竟是微软的玩意,下边总结一下:如何使用vscode来编写C语言。

    1:

    首先下载vscode,地址:https://code.visualstudio.com/

    2:

    然后对vscode进行汉化(看个人习惯,我这里汉化了一下),在vscode的左方功能列表中,可以找到 Extensions,点选后输入 “Chinese” 即可搜寻到中文的相关语系,选择中文(繁体)后页面的右方即会出现相关介绍,此时按下 “Install” 就会安装中文语系套件。

    3:

    安装后系统会自动跳出是否切换成该语系,让你重新启动,按下 ResStart now后就会套用成中文版啰~如下:

    不过人生中最怕的就是那个 “But”,如果没有自动跳出右下方的提示该如何切换呢?另外 VSCode 如果更新时,可能也会再次切换为英文版,这时候就需要手动切换语系。

    手动切换流程也并不复杂,可使用以下三个步骤手动切换

    1:按下 ctrl + shift + P(Mac 版请按下 cmd + shift + P)

    2:输入 display language 就会跳出 “Configure Display Language”

    3:选择安装的语系 “zh-tw” 即可安装

    然后开始进入主题,在桌面新建一个文件夹,取名为:ZZULIOJ,然后进入该文件夹,对着资源管理器里的路径进行cmd,输入:code .   (后边的点别忘了)如下:

     

    这个时候,vscode就默认打开该文件夹,进入到环境当中了,如下:

    在左边可以再新建文件夹,或者一些文件等等...

    接下来安装编写C语言需要的插件和配置环境变量,如下

    1:首先在vscode里安装两个扩展,分别是C/C++和code runnne

    2:然后接着下载MinGW,解压到相应盘中(我这里解压到了D盘)然后配置环境变量,环境变量的配置我这里配置了两个,一个就是在系统环境变量中原有的path后边加上解压后的MinGW的路径,即到bin的路径(我的是:D:MinGWin),还有一个是INCLUDE环境变量,首先检查自己的系统环境变量里有没有INCLUDE,如果没有就新建一个,然后把mingw的include路径加进去,(我的是:D:MinGWinclude),然后打开cmd,在窗口里输入gcc -v,如下:

    即成功了

    3:然后创建配置文件,我们需要创建三个json文件,分别是:launch.json,task.json,setting.json

    首先创建task.json。按Ctrl+shift+b,

    点击如上图中的文字:没有找到要运行的生成任务......结果如下:

    再继续点击:使用模板创建task.json文件,出现如下页面:

    点击最后一个,即可生成task.json文件。将里边的内容替换,如下:

    {
        // 有关 tasks.json 格式的参考文档:https://go.microsoft.com/fwlink/?LinkId=733558 。
        "version": "2.0.0",
        "tasks": [{
            "label": "gcc",
            "type": "shell", // { shell | process }
            // 适用于 Windows 的配置:
            "windows": {
                "command": "gcc",
                "args": [
                    "-g",
                    ""${file}"",
                    "-o",
                    ""${fileDirname}\${fileBasenameNoExtension}.exe""
                    // 设置编译后的可执行文件的字符集为 GB2312:
                    // "-fexec-charset", "GB2312"
                    // 直接设置命令行字符集为 utf-8:
                    // chcp 65001
                ]
            },
            // 定义此任务属于的执行组:
            "group": {
                "kind": "build", // { build | test }
                "isDefault": true // { true | false }
            },
            // 定义如何在用户界面中处理任务输出:
            "presentation": {
                // 控制是否显示运行此任务的面板。默认值为 "always":
                // - always:    总是在此任务执行时显示终端。
                // - never:     不要在此任务执行时显示终端。
                // - silent:    仅在任务没有关联问题匹配程序且在执行时发生错误时显示终端
                "reveal": "silent",
                // 控制面板是否获取焦点。默认值为 "false":
                "focus": false,
                // 控制是否将执行的命令显示到面板中。默认值为“true”:
                "echo": false,
                // 控制是否在任务间共享面板。同一个任务使用相同面板还是每次运行时新创建一个面板:
                // - shared:     终端被共享,其他任务运行的输出被添加到同一个终端。
                // - dedicated:  执行同一个任务,则使用同一个终端,执行不同任务,则使用不同终端。
                // - new:        任务的每次执行都使用一个新的终端。
                "panel": "dedicated"
            },
            // 使用问题匹配器处理任务输出:
            "problemMatcher": {
                // 代码内问题的所有者为 cpp 语言服务。
                "owner": "cpp",
                // 定义应如何解释问题面板中报告的文件名
                "fileLocation": [
                    "relative",
                    "${workspaceFolder}"
                ],
                // 在输出中匹配问题的实际模式。
                "pattern": {
                    // The regular expression.
                    "regexp": "^(.*):(\d+):(\d+):\s+(warning|error):\s+(.*)$",
                    // 第一个匹配组匹配文件的相对文件名:
                    "file": 1,
                    // 第二个匹配组匹配问题出现的行:
                    "line": 2,
                    // 第三个匹配组匹配问题出现的列:
                    "column": 3,
                    // 第四个匹配组匹配问题的严重性,如果忽略,所有问题都被捕获为错误:
                    "severity": 4,
                    // 第五个匹配组匹配消息:
                    "message": 5
                }
            }
        }]
    }

    然后点击F5,选择GDB/LLDB,如下:

    就会生成launch.json文件,将里边的内容替换为:

    {
        // 使用 IntelliSense 了解相关属性。 
        // 悬停以查看现有属性的描述。
        // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
        // "program": "${fileDirname}/${fileBasenameNoExtension}.exe",
        // "program": "${workspaceFolder}/Demo/${fileBasenameNoExtension}.exe",
        "version": "0.2.0",
        "configurations": [
            {
                "name": "(gdb) 启动",
                "type": "cppdbg",
                "request": "launch",
                "program": "${fileDirname}/${fileBasenameNoExtension}.exe",
                "args": [],
                "stopAtEntry": false,
                "cwd": "${workspaceFolder}",
                "environment": [],
                "externalConsole": true,
                "MIMode": "gdb",
                "miDebuggerPath": "D:\MinGW\bin\gdb.exe",
                "preLaunchTask": "gcc",
                "setupCommands": [
                    {
                        "description": "为 gdb 启用整齐打印",
                        "text": "-enable-pretty-printing",
                        "ignoreFailures": true
                    }
                ]
            }
        ]
    }
    

    其中miDebuggerPath是你自己的MinGW中的gdb.exe路径

    最后对着左边空白处,右键新建文件,取名为:setting.json,如下:

     内容为:

    {
        "files.associations": {
            "tidl_alg_int.h": "c",
            "limits": "c"
        }
    }
    

    到这里就结束了,测试如下:

    在根目录下新建一个文件夹 取名为Demo,在里边再新建一个1000文件夹,在1000文件夹里新建1000.c文件(这个随意),代码如下:

    #include<stdio.h>
    #include<stdlib.h>
    int main()
    {
        int a, b, sum;
        scanf ("%d %d", &a, &b);
        sum = a + b;
        printf("%d
    ", sum);
        system("pause");
    }
    

    点击F5运行:

    文件夹随意建,编译器都能找到你的C语言文件,因为上边的launch.json中,我们配置的是:动态获取文件夹路径,动态获取的文件名称!!!

    完成!

  • 相关阅读:
    剑指offer的前16题-java版
    JAVA基本数据类型所占字节数是多少?(32位系统)
    二叉树的镜像
    阿里简历问题
    javaSE基础总结
    小心情
    九九乘法表-for循环和while循环
    Python PEP8 编码规范及中文版
    比大小和猜数字
    猜拳游戏
  • 原文地址:https://www.cnblogs.com/dcy521/p/13672279.html
Copyright © 2011-2022 走看看