当前位置:   article > 正文

VS Code安装与配置_vscode

vscode

目录

前言

一、VS Code下载与安装

1. 概述

2. 下载

3. 安装

二、编译器的下载、安装与配置

1. 概述

2. 下载

3. 安装

4. 配置环境变量

5. 测试

三、VS Code配置

1. 概述

2. 安装C/C++扩展

3. .vscode配置文件

3.1 c_cpp_properties.json

3.2 tasks.json

3.3 launch.json

4. 收纳生成的.exe可执行文件

四、常见问题

1. 中文乱码

2. 程序目录结构

参考文章


前言

本篇文章记录了本人安装并配置VS Code的全过程,包括VS Code下载与安装、Windows环境下GCC编译器的安装与配置、VS Code中C/C++语言的配置以及一些常见问题,适合初次使用VS Code并在配置C/C++时存在困难的读者阅读。


一、VS Code下载与安装

1. 概述

Visual Studio Code简称VS Code,是一款功能强大的代码编辑器,与IDE(集成开发环境)不同,VS Code需要安装平台相应的编译器和语言的扩展。

IDE:是用于提供程序开发环境的应用程序,包括代码编辑器、编译器、调试器和图形用户界面等工具,集成了代码编写、分析、编译和调试等功能。

2. 下载

官网 https://code.visualstudio.com/

3. 安装

选择安装路径。

勾选后点击下一步。(此处可以勾选上“通过Code打开”,即右击文件可以通过VS Code打开)

添加到PATH”选项会自动将VS Code安装目录下的bin目录添加到用户环境变量中。(后文会提到用户变量与系统变量的区别)

安装完成。

二、编译器的下载、安装与配置

1. 概述

作者使用的是GCC的Windows移植版MinGW,包含了GCC编译器和一系列工具,如gcc、g++编译器(对应C、C++语言)、gdb调试器等。

GCC:原名为GNU C Compiler(GNU C语言编译器),初衷是为GNU操作系统专门编写的一款编译器,开始只能处理C语言,后来扩展为能够支持多种编程语言,改名为GNU Compiler Collection(GNU编译器套件)。感兴趣的朋友可以了解一下GNU项目。

参考文章:GCC、GNU到底啥意思?-CSDN博客

2. 下载

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

页面下拉后选择x86_64-win32-sjlj(x86_64表示64位,i686表示32位操作系统,win32是Windows操作系统的接口标准)。

3. 安装

解压到VS Code目录(可自行选择)。

bin目录下的gcc、g++、gdb等可执行文件

4. 配置环境变量

右击此电脑->属性->高级系统设置->高级->环境变量

Path变量新增变量值为MinGW的bin目录。

有关环境变量的知识可以查看参考文章。用户变量只对当前用户有效,系统变量对所有用户有效。由于安装VS Code时程序自动选择了用户Path变量,这里选择与其一致。

参考文章:windows系统中环境系统变量和用户变量的区别-CSDN博客

Win+R输入cmd后回车,打开Windows命令行Shell(cmd.exe),输入g++ --versiongcc --versiongdb --version查看版本,至此编译器安装配置完成。(此时计算机中就有了编译器且可以通过命令行Shell编译运行程序

补充一下Shell的概念:Shell作为用户和操作系统内核交互的中介,负责接收、解析用户从终端发送来的命令,并发送给内核执行,然后把执行结果返回给终端。Shell分为命令行Shell和图形Shell,Windows中的cmd.exe、PowerShell都是命令行Shell。

参考文章:命令行界面 (CLI)、终端 (Terminal)、Shell、TTY,这些都是啥意思?

5. 测试

使用Windows记事本编写C语言代码,保存为hello.c(注意修改后缀名)。

打开命令行Shell进入hello.c所在目录,输入gcc hello.c -o hello进行编译(-o hello表示编译输出的文件名为hello),此时目录中会生成hello.exe文件,输入hello.exe即可执行编译生成的可执行文件。

三、VS Code配置

1. 概述

除了安装C/C++扩展配置.vscode文件,本节内容还补充了一些VS Code中的预定义变量以及如何收纳生成的.exe文件

2. 安装C/C++扩展

VS Code只是一款编辑器,在VS Code中任意编写C++代码并点击菜单栏中的运行,会出现下图提示,表明此时VS Code并不支持调试、运行功能。

C/C++扩展为VS Code提供了对C/C++语言的支持,包括编辑(智能代码提示)和调试功能。 

安装完成后会发现页面右上角多出一个调试/运行按钮,同时发现代码编辑错误提示

3. .vscode配置文件

在C/C++扩展的支持下VS Code具有了调试和运行功能,需要联系上编译器来实现,.vscode配置文件就充当了VS Code和编译器的媒介。配置.vscode过程中会产生三个文件:

1. c_cpp_properties.json编译器路径和智能代码提示配置文件,用于指定编译器路径和智能提示模式,还可选择用于智能提示的C或C++标准的版本。

2. tasks.json编译器构建配置文件,告诉VS Code如何编译程序

3. launch.json调试器设置配置文件,用于自定义调试。

新建一个C/C++文件夹作为工作目录,通过VS Code打开,在工作目录下新建hello.c/hello.cpp文件。参考图片为C++程序

3.1 c_cpp_properties.json

Ctrl+Shift+P所有命令->输入C/C++ ->选择Edit Configurations。(使用UI完成创建,目录中会自动生成c_cpp_properties.json)

编译器路径为MinGW的bin目录下的gcc.exe/g++.exe(分别对应C/C++语言,下文同理)。

3.2 tasks.json

点击右上角的播放按钮,第一次运行时被要求选择编译器,该编译器将被设置为tasks.json文件中的默认编译器,从检测到的编译器列表中选择C/C++:gcc.exe 生成和调试活动文件或C/C++:g++.exe生成和调试活动文件。(图片以C++语言为例)

3.3 launch.json

点击播放旁边的设置按钮,然后将看到各种预定义调试配置的下拉列表,选择C/C++:gcc.exe 生成和调试活动文件或C/C++:g++.exe 生成和调试活动文件。

通过内置终端使用命令行PowerShell运行正常,至此VS Code配置完成。

4. 收纳生成的.exe可执行文件

收纳可执行文件就是在目录中创建一个bin文件夹存放该目录所有源文件的编译结果.exe

首先介绍一下tasks.json中标注红框的部分(以E:\C++\hello.cpp为例):

${file}:当前打开的文件,包括文件路径、文件名和后缀名。(如:E:\C++\hello.cpp)

-g ${file}:表示编译当前文件。

${fileDirname}:当前文件的路径,不包括文件。(如:E:\C++)

${fileBasenameNoExtension}:当前文件的文件名,不包括路径和后缀名。(如:hello)

-o ${fileDirname}\\${fileBasenameNoExtension}.exe:表示在当前文件所在路径中编译生成了一个文件名相同后缀名为.exe的可执行文件。(如:E:\C++\hello.exe)

 参考文章:Visual Studio Code中预定义变量-CSDN博客

修改tasks.json文件,把:${fileDirname}\\${fileBasenameNoExtension}.exe

修改为:${fileDirname}\\bin\\${fileBasenameNoExtension}.exe(把.exe可执行文件存放在了路径下的bin文件夹中)

相应地,修改launch.json文件,把:${fileDirname}\\${fileBasenameNoExtension}.exe

修改为:${fileDirname}\\bin\\${fileBasenameNoExtension}.exe

删除原hello.exe并重新运行。

四、常见问题

1. 中文乱码

通过内置终端使用命令行cmd时,Shell返回给终端的内容出现中文乱码。

解决:在tasks.json文件中新增"-fexec-charset=GBK"。

但修改后默认的命令行PowerShell返回给终端的内容又会出现乱码,所以干脆还是不修改了。

2. 程序目录结构

.vscode放在C/C++工作目录下,与所有C/C++语言项目同级。(图片以C语言为例)


参考文章

GCC、GNU到底啥意思?-CSDN博客

windows系统中环境系统变量和用户变量的区别-CSDN博客

命令行界面 (CLI)、终端 (Terminal)、Shell、TTY,这些都是啥意思?

Visual Studio Code中预定义变量-CSDN博客

Visual Studio Code官方文档 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/657314
推荐阅读
相关标签
  

闽ICP备14008679号