因为一些奇奇怪怪的问题重装了系统,所以重新配置了vscode,上次配置vscode时由于没有用过,所以环境配置一头雾水,甚至还有些历史遗留问题,一直都是在凑活着用,这次刚好重新开始。
1.vscode下载安装
将“通过code 打开“操作添加到windows资源管理器文件上下文菜单
- 勾选上,可以对文件,目录点击鼠标右键,选择使用 VScode 打开。
将code注册为受支持的文件类型的编辑器
- 说明:默认使用 VScode 打开诸如 txt,py 等文本类型的文件,一般建议不勾选。
安装之后,可以选择安装使用“Chinese”中文简体插件
2.下载安装g++
https://github.com/niXman/mingw-builds-binaries/releases/tag/12.2.0-rt_v10-rev0
github上有mingw-w64gcc 12.2.2
我下载了x86_64-12.2.0-release-posix-sjlj-rt_v10-rev0.7z
解压缩,把mingw64文件夹直接放到了c盘根目录
C:\mingw64
windows中搜索 “编辑系统环境变量”
在用户变量中-path下如下添加
注意路径是自己的
之后在Win+r cmd中输入,检查一下
g++ --version
3.安装拓展
c/c++ 和Code Runner,以及vscode-icons
其中对于Code Runner,ctrl+, 在设置中把Code-runner的 Run In Termial勾选上,之后ctrl+alt+N或者右键选择RunCode 输出在终端里
4. .vscode配置
首先在想要存代码的位置建立文件夹,作为之后c/c++代码存放位置
然后进入VSCode,点击Open Folder或者点击左上角File -> Open Folder,然后打开刚刚建的文件夹,选择信任父级文件夹
点击这个图标新建一个文件夹,命名为.vscode(注意必须是这个名字!)
之后在.vscode目录下建立三个文件
c_cpp_properties.json
launch.json
tasks.json
c_cpp_properties.json内容如下
{
"configurations": [
{
"name": "Win64",
"includePath": ["${workspaceFolder}/**"],
"defines": ["_DEBUG", "UNICODE", "_UNICODE"],
"windowsSdkVersion": "10.0.18362.0",
"compilerPath": "C:/mingw64/bin/gcc.exe",
"cStandard": "c17",
"cppStandard": "c++17",
"intelliSenseMode": "gcc-x64"
}
],
"version": 4
}
launch.json内容如下
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch", // 配置名称,将会在启动配置的下拉菜单中显示
"type": "cppdbg", // 配置类型,这里只能为cppdbg
"request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)
"program": "${workspaceFolder}/build/${fileBasenameNoExtension}.exe",// 将要进行调试的程序的路径
"args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可
"stopAtEntry": false, // 设为true时程序将暂停在程序入口处,一般设置为false
"cwd": "${workspaceFolder}", // 调试程序时的工作目录,一般为${workspaceFolder}即代码所在目录
"environment": [],
"externalConsole": true, // 调试时是否显示控制台窗口,一般设置为true显示控制台
"MIMode": "gdb",
"miDebuggerPath": "C:/mingw64/bin/gdb.exe", // miDebugger的路径,注意这里要与MinGw的路径对应
"preLaunchTask": "g++.exe build active file", // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}
tasks.json内容如下
{
"version": "2.0.0",
"tasks": [
{
"type": "cppbuild",
"label": "g++.exe build active file",
"command": "C:\\mingw64\\bin\\g++.exe",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${workspaceFolder}/build/${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "C:\\mingw64\\bin"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "编译器: C:\\mingw64\\bin\\g++.exe"
},
]
}
5. Code Runner的exe文件指定生成位置
在上面launch.json与tasks.json中,有如下语句
"program": "${workspaceFolder}/build/${fileBasenameNoExtension}.exe",
"${workspaceFolder}/build/${fileBasenameNoExtension}.exe"
build文件夹在我们最初建立的c++代码库文件夹之下
之后,ctrl+, 进入设置,搜索code runner 选择Code-runner的某项,在setting .json中编辑
将
"c": "cd $dir && gcc $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
替换为
"c": "cd $dir && gcc $fileName -o $workspaceRoot/build/$fileNameWithoutExt && $workspaceRoot/build/$fileNameWithoutExt",
将
"cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
替换为
"cpp": "cd $dir && g++ $fileName -o $workspaceRoot/build/$fileNameWithoutExt && $workspaceRoot/build/$fileNameWithoutExt",
最终,新建hellword.cpp
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main(int argc, char const *argv[])
{
cout << "hello 世界" << endl;
system("pause");
return 0;
}
ctrl+alt+N,或者邮件Run Code,或者右上小三角旁的小三角里的RunCode运行,在终端中输出,同时在build中生成exe
ps.连续Run会间次有错误提示
d : 无法将“d”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
因为运行了 system("pause"); 只有按任意键继续之后再Run才是正确的。
中文
ctrl+, 搜索在Files:Encoding中,选择GBK
好文推荐
Vscode修改.exe文件生成位置
vscode配置C/C++环境
VSCode配置C/C++环境