首页 > 编程语言 >【VS Code】c++环境配置 && .vscode文件 && Code Runner的exe文件指定生成位置

【VS Code】c++环境配置 && .vscode文件 && Code Runner的exe文件指定生成位置

时间:2023-01-05 21:22:05浏览次数:57  
标签:文件 Code vscode json exe build &&

因为一些奇奇怪怪的问题重装了系统,所以重新配置了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++环境

标签:文件,Code,vscode,json,exe,build,&&
From: https://www.cnblogs.com/something-/p/17028854.html

相关文章

  • [LeetCode]016-最接近的三数之和
    >>>传送门题目给你一个长度为n的整数数组 nums 和一个目标值 target。请你从nums中选出三个整数,使它们的和与 target 最接近。返回这三个数的和。假定每组......
  • QQ音乐文件解密转MP3
    最近想搞个iphone闹钟,用爱思可以不限制在30s.缺mp3文件,所以又要转文件类型,记录一下. (我后来发现可以边放music边介绍天气状况,都不用闹钟了.)具体说一......
  • .gitignore文件配置以及gitee提交报Push rejected...错误解决
    .gitignore文件配置.gitignore文件可以用来忽略被指定的文件或文件夹的改动。记录在.gitignore文件里的文件或文件夹是不会被git跟踪到,也就是被忽略的文件是不会被上......
  • Codeforces Contest 1616
    A.IntegerDiversity直接用个map贪心,如果有相同的就反向即可。B.MirrorintheString这道题洛谷的翻译锅了,所以建议去看原题。考虑这样一个字符串baacc,那么答案显......
  • VSCode使用小技巧
    VSCode写C/C++项目我们需要先下载minGW,并需要在VSCode里面下载相应的插件,如下:然后,将vscode保存c++项目的文件夹用vscode打开,就会出现这样的形式:一个标准的、在V......
  • 文件及目录操作
     一、实验目的和要求1、学会基本文件操作;2、学会目录操作;3、学会高级文件操作。二、实验环境软件版本:Python3.1064_bit三、实验过程1、实例1:创建并打开记录蚂......
  • php+vscode+nginx+Xdebug 安装教程(vscode用debug的调试php)
    环境:window10+ phpstudy+vscode php全篇用php8.0.2,也可以用其他的版本,但要注意所有配置路径都要统一版本一、环境变量将你正在使用的php加入环境变量。因为phpstudy......
  • 实现简单的csv文件上传和bootstrap表格的下载
    一、写一个简单的页面并发送文件引入bootstrap.js,jQuery.js等,具体的网页就不细写了,很简单。加入input框,button控件,进度条。如下:<liclass="list-group-item"......
  • git忽略提交特定文件(.idea/workspace.xml)
    参考链接:https://www.cnblogs.com/lizexiong/p/16444830.html1.背景在用git拉取代码时或者提交代码时,在提交时出现modified:.idea/workspace.xml 或拉取代码时出现......
  • leetcode-657. 机器人能否返回原点
    657.机器人能否返回原点-力扣(Leetcode)刚开始用了个map,比较复杂,后来看了答案,按照这种简单的方式,并且做了len(moves)%2!=0的判断funcjudgeCircle(movesstring......