Windows系统vscode安装与配置G++、Cmake

如果你是初学者,建议先用vs或者pycharm,等你拥有一定的功底在使用vscode

简介

VSCode,全称为Visual Studio Code,是由微软开发的一款轻量级,跨平台的代码编辑器。大家能来搜用VSCode配置c/c++,想必也知道VSCode的强大,可以手握一个VSCode同时编写如C,C++,C#,Java,python等等语言的代码。得益于在VSCode上可以下载很多不同种类的插件,可以给vscode添加很多扩展功能,如代码高亮美化,代码补全和代码检查等。

VSCode的下载和安装

下载链接,点进去下载,会为你匹配适合你电脑配置的下载链接给你

Visual Studio Code - Code Editing. Redefined

 下好之后,我们打开安装包,开始安装

接下来是设置一些开始菜单的目录,按默认就好了,点击 " Next(下一步) "。

选择安装位置,默认情况下 VS Code 会安装在以下目录 C:\Users\{Username}\AppData\Local\Programs\Microsoft VS Code,Username 为你的用户名,没特别要求按默认的来,点击" Next(下一步) "。 (如果路径有中文,建议更换路径)

接下来,可以勾选以下选项(推荐):

可以全选,看需要

  • 在桌面创建快捷方式。
  • 将 VS Code 添加到右键菜单中(方便直接用 VS Code 打开文件)。
  • 将 VS Code 添加到 PATH 环境变量(方便在终端中运行 code 命令)。

点击"Install(安装)"按钮,等待完成后启动 VS Code。

点击 "Finish(完成)" 按钮完成安装:

启动 VS Code ,界面如下所示:


安装汉化包

VScode 安装汉化包很简单,打开 VScode,点击左侧安装扩展图标,在搜索框输入 Chinese:

然后点击第一个搜索出来选项【Chinese (Simplified) (简体中文)】的 Install 按钮就可以:

安装完成后,重启 VSCode,界面显示的就是中文了。


VSCode 的 code 命令

启用 VSCode 的 code 命令 非常简单,先打开命令面板:

  • macOS 系统快捷键:⇧⌘P
  • Windows/Linux 快捷键: Ctrl + Shift + P

搜索安装 >shell command:

然后选择 Shell Command: Install 'code' command in PATH 即可为系统 PATH 路径添加了 code 命令的引用。

配置C/C++环境

VSCode安装好之后,我们还是要知道,VSCode毕竟是一个高级的编辑器,只能用来写C/C++代码,不能直接编译代码。
所以,如果我们要能使用VSCode搭建C/C++的编译和调试环境,还必须有编译器使用。
为了方便,我们就使用MinGw-w64 ,MinGw-w64移植到windows平台的一个gcc编译器,使用起来也是非常方便的。
下面我们就演示怎么下载和配置MinGw-w64

地址:https://sourceforge.net/projects/mingw-w64/

 

 随便选个时间段进去,但是文件的格式得是这个样子的

x86_64-14.1.0-release-win32-seh-msvcrt-rt_v12-rev0.7z

 解压后我们会得到一个mingw文件夹

将其复制到你需要的位置

双击打开并进入bin文件夹内,这里有我们的gcc(C语言编译器)、g++(C++编译器),gdb调试器(可以使用断点调试)等

复制bin路径

!这样我们的准备环境就配置好了
我们可以使用一些命令来测试一下,按win+r输入cmd打开终端
以此输入

安装插件就不介绍了

正常装一下python的扩展   c++的扩展就行 

配置文件

需要新建一个.vscode文件   下面放四个子文件,我这里主要讲cmake配置,这部分我就简单介绍一下

创建一个Code文件,后面是两个子文件,可以进vscode里面在创建

vscode下面是 

c++下面是 

 一个简单的Hello world

#include <iostream>

int main()
{
    std::cout << "Hello, world!" << std::endl;
    return 0;
}

 c_cpp_properties.json内容如下:

{
    "configurations": [
      {
        "name": "Win64",
        "includePath": ["${workspaceFolder}/**"],
        "defines": ["_DEBUG", "UNICODE", "_UNICODE"],
        "windowsSdkVersion": "10.0.18362.0",
        "compilerPath": "E:/Software/Microsoft VS Code/mingw64/bin/g++.exe",
        "cStandard": "c17",
        "cppStandard": "c++17",
        "intelliSenseMode": "gcc-x64"
      }
    ],
    "version": 4
  }

 launch.json内容如下

{
    "version": "0.2.0",
    "configurations": [
      {
        "name": "(gdb) Launch", 
        "type": "cppdbg", 
        "request": "launch", 
        "program": "${fileDirname}\\${fileBasenameNoExtension}.exe", 
        "args": [], 
        "stopAtEntry": false,
        "cwd": "${workspaceRoot}",
        "environment": [],
        "externalConsole": true, 
        "MIMode": "gdb",
        "miDebuggerPath": "E:/Software/Microsoft VS Code/mingw64/bin/gdb.exe",
        "preLaunchTask": "g++",
        "setupCommands": [
          {
            "description": "Enable pretty-printing for gdb",
            "text": "-enable-pretty-printing",
            "ignoreFailures": true
          }
        ]
      }
    ]
  }

 settings.json

{
    "files.associations": {
      "*.py": "python",
      "iostream": "cpp",
      "*.tcc": "cpp",
      "string": "cpp",
      "unordered_map": "cpp",
      "vector": "cpp",
      "ostream": "cpp",
      "new": "cpp",
      "typeinfo": "cpp",
      "deque": "cpp",
      "initializer_list": "cpp",
      "iosfwd": "cpp",
      "fstream": "cpp",
      "sstream": "cpp",
      "map": "c",
      "stdio.h": "c",
      "algorithm": "cpp",
      "atomic": "cpp",
      "bit": "cpp",
      "cctype": "cpp",
      "clocale": "cpp",
      "cmath": "cpp",
      "compare": "cpp",
      "concepts": "cpp",
      "cstddef": "cpp",
      "cstdint": "cpp",
      "cstdio": "cpp",
      "cstdlib": "cpp",
      "cstring": "cpp",
      "ctime": "cpp",
      "cwchar": "cpp",
      "exception": "cpp",
      "ios": "cpp",
      "istream": "cpp",
      "iterator": "cpp",
      "limits": "cpp",
      "memory": "cpp",
      "random": "cpp",
      "set": "cpp",
      "stack": "cpp",
      "stdexcept": "cpp",
      "streambuf": "cpp",
      "system_error": "cpp",
      "tuple": "cpp",
      "type_traits": "cpp",
      "utility": "cpp",
      "xfacet": "cpp",
      "xiosbase": "cpp",
      "xlocale": "cpp",
      "xlocinfo": "cpp",
      "xlocnum": "cpp",
      "xmemory": "cpp",
      "xstddef": "cpp",
      "xstring": "cpp",
      "xtr1common": "cpp",
      "xtree": "cpp",
      "xutility": "cpp",
      "stdlib.h": "c",
      "string.h": "c"
    },
    "editor.suggest.snippetsPreventQuickSuggestions": false,
    "aiXcoder.showTrayIcon": true
  }

tasks.json

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "g++",
            "command": "g++",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}.exe"
            ],
            "problemMatcher": {
                "owner": "cpp",
                "fileLocation": [
                    "relative",
                    "${workspaceRoot}"
                ],
                "pattern": {
                    "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
                    "file": 1,
                    "line": 2,
                    "column": 3,
                    "severity": 4,
                    "message": 5
                }
            },
            "group": "build"
        },
        {
            "type": "cppbuild",
            "label": "C/C++: g++.exe 生成活动文件",
            "command": "E:/Software/Microsoft VS Code/mingw64/bin/g++.exe",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "E:/Software/Microsoft VS Code/mingw64/bin"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "调试器生成的任务。"
        }
    ]
}

 Cmake配置

前置要求

在开始之前,您需要安装以下软件:

  • Visual Studio Code及插件
  • CMake
  • C++编译器

安装配置CMake

Download CMake

选择一个后缀为.msi的Windows安装包下载,尽量选最新的

安装时记得勾选“Add CMake to the system PATH for all users”,这样就不用自己再配置环境变量了

安装后在cmd输入以下目录验证是否安装成功

 cmake -version

安装配置MinGw

前面的安装的MinGw

  • 进入bin文件夹,找到mingw32-make.exe,复制一份,将其中一份重命名为make.exe(依旧保存在bin文件夹中

  • 验证是否配置成功,cmd中输入

gcc -v
make -v

 可以判断是否安装成功

安装3个插件

 C/C++ Extension Pack

下面两个好像已经不用安装了,当然后面缺什么的话,会报提示

单文件工程

在本节中,我们将创建一个简单的单文件工程,并使用CMake构建它。

创建项目

首先,我们需要创建一个文件夹,将其命名为hello-world。在该文件夹中,创建一个名为main.cpp的文件,并将以下内容复制到其中:

#include <iostream>

int main()
{
    std::cout << "Hello, world!" << std::endl;
    return 0;
}

创建CMakeLists.txt文件

接下来,我们需要在hello-world文件夹中创建一个名为CMakeLists.txt的文件,并将以下内容复制到其中:

cmake_minimum_required(VERSION 3.10)

project(hello-world)

add_executable(hello-world main.cpp)

该文件告诉CMake如何构建我们的项目。首先,我们指定了CMake的最低版本为3.10。然后,我们指定了项目名称为hello-world。最后,我们使用add_executable命令将main.cpp文件添加到我们的项目中。

构建项目

使用命令行cmake构建 

  • 手动创建build文件夹
  • mkdir build
  • 进入至build文件夹中
  • cd build

    如果已安装了VS,可能会调用MS的MSVC编译器,使用下面命令来代替 cmake ..即可

cmake -G "MinGW Makefiles" ..

 只有第一次使用cmake时使用以上命令,后续便可直接使用cmake ..

  • 编译文件
    make
    cmake --build . --config Release

    依靠vs构建的话,需要底下的指令生成main.exe

  • 该命令将会编译并链接我们的程序,最终生成一个名为hello-world的可执行文件。

  • 运行exe
  • 最后,我们可以在终端中运行该可执行文件:

./hello-world

多文件工程

在本节中,我们将创建一个包含多个文件的工程,并使用CMake构建它。

创建项目

首先,我们需要创建一个文件夹,将其命名为multi-file。在该文件夹中,创建一个名为main.cpp的文件,并将以下内容复制到其中:

#include <iostream>
#include "hello.hpp"

int main()
{
    std::cout << hello() << std::endl;
    return 
}

在同一个文件夹中,创建一个名为hello.cpp的文件,并将以下内容复制到其中:

#include "hello.hpp"

std::string hello()
{
    return "Hello, world!";
}

 还需在同一文件夹中,创建一个名为hello.hpp的文件,并将以下内容复制到其中:

#pragma once
#include <string>

std::string hello();

创建CMakeLists.txt文件

接下来,我们需要在multi-file文件夹中创建一个名为CMakeLists.txt的文件,并将以下内容复制到其中:

cmake_minimum_required(VERSION 3.10)

project(multi-file)

add_executable(multi-file main.cpp hello.cpp)

该文件与单文件工程的文件类似,我们添加了hello.cpp文件并将其与main.cpp一起添加到我们的项目中。

构建项目

接下来,我们需要使用CMake构建我们的项目。打开VSCode,将文件夹multi-file打开为工作区。

如前面操作即可

### 配置 VSCode 进行 C 和 C++ 开发 #### 插件安装 为了高效地进行 C/C++ 的开发,在 Visual Studio Code (VSCode) 中需安装特定插件来增强功能。推荐安装的三个主要插件包括用于语法高亮和支持 IntelliSense 功能的 "C/C++" 插件,提供 CMake 支持的 "CMake" 插件,还有简化项目管理流程的 "CMake Tools"[^4]。 #### 工具链安装 除了上述提到的编辑器扩展外,还需确保本地已安装必要的编译工具链,比如 GCC 或 Clang 编译器以及 GDB 调试器等基础组件[^2]。这些可以通过包管理器轻松获取;对于大多数 Linux 发行版而言,通常命令如下所示: ```bash sudo apt update && sudo apt install build-essential gdb ``` #### 初始化工作区 创建一个新的文件夹作为项目的根目录,并通过 `File -> Open Folder...` 将其加载到 VSCode 当前会话中。这一步骤至关重要,因为后续操作都将基于此路径展开[^3]。 #### 构建 CMakeLists.txt 文件 在一个典型的 C/C++ 项目里,`CMakeLists.txt` 是定义构建系统配置文件。下面是一个简单的例子,适用于单源文件的小型应用程序[^1]: ```cmake # 确定最低版本需求 cmake_minimum_required(VERSION 3.20) # 声明项目名称及其编程语言 project(hello_world C) # 设置标准库版本(这里指定了 C99) set(CMAKE_C_STANDARD 99) # 添加可执行目标 add_executable(${PROJECT_NAME} main.c) ``` 这段代码片段展示了如何指定最小支持的 CMake 版本、声明项目名和所使用的编程语言、设定 C 标准级别最后添加了一个名为 `${PROJECT_NAME}` 的可执行文件目标,它由单一源码文件 `main.c` 组成。 #### 测试程序编写 在同一文件夹内新建一个名为 `main.c` 的文本文件,输入以下内容以验证整个设置过程是否成功完成: ```c #include <stdio.h> int main(int argc, char **argv) { printf("hello world\n"); return 0; } ``` 保存更改后回到终端窗口,按照常规方式调用 cmake 来生成 Makefile 并启动构建进程即可得到最终产物——即刚才定义的那个叫作 hello_world 的二进制文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

陈子迩

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

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

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

打赏作者

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

抵扣说明:

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

余额充值