前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >vscode配置 -- 编写C语言

vscode配置 -- 编写C语言

作者头像
OY
发布2022-03-12 14:00:02
7.9K0
发布2022-03-12 14:00:02
举报
文章被收录于专栏:OY_学习记录OY_学习记录

一、前言

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

下载编译器:MinGW-w64 - for 32 and 64 bit Windows 往下稍微翻一下,选最新版本中的x86_64-posix-seh。最好不要用 Download Latest Version,这个是在线安装包,可能因为国内的“网络环境”下载失败。如果浏览器下载失败就换迅雷下或者连手机开的热点下,还失败,那就使用能访问Google的那种方法下。

即成功了

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

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

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

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

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

代码语言:javascript
复制
{
    // 有关 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文件,将里边的内容替换为:

代码语言:javascript
复制
{
    // 使用 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,如下:

内容为:

代码语言:javascript
复制
{
    "files.associations": {
        "tidl_alg_int.h": "c",
        "limits": "c"
    }
}

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

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

代码语言:javascript
复制
#include<stdio.h>
#include<stdlib.h>
int main()
{
    int a, b, sum;
    scanf ("%d %d", &a, &b);
    sum = a + b;
    printf("%d\n", sum);
    system("pause");
}

点击F5运行:

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-03-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、前言
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档