首页 > 编程语言 >VScode调用MSVC编译C++文件

VScode调用MSVC编译C++文件

时间:2024-03-12 17:36:41浏览次数:23  
标签:code bat exe VsDevCmd VScode C++ 批处理 调用 MSVC

批处理.bat

@echo off
chcp 65001
if not "%~1"=="" (set pos="%~1" & goto run)
set /p pos=工程路径Workspace path: 
:run
call "E:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\VsDevCmd.bat"
code %pos%

新建文本,然后保存成vscode_MSVC.bat
可以将工程文件夹直接拖到图标上,无需双击打开。这归功于第3行代码。
记得替换你的VsDevCmd.bat绝对路径,这东西主要修改了环境变量,以提供给code。
安利:可用Everything快速搜索VsDevCmd.bat

编写过程遇到了坑,记录下

仅当从 VS 开发人员命令提示符处运行 VS Code 时,cl.exe 生成和调试才可用。

https://blog.csdn.net/lichen849/article/details/109626205

call vs start

https://stackoverflow.com/questions/13257571/call-command-vs-start-with-wait-option

对于exe文件,我认为差异几乎无关紧要。
但是要启动 exe,您甚至不需要 .CALL

当启动另一个批处理时,这是一个很大的区别,因为将在同一窗口中启动它,
并且被调用的批处理可以访问相同的变量上下文。
因此,它还可以更改影响调用方的变量。CALL

START将为被调用的批处理创建一个新cmd.exe,如果没有 /b,它将打开一个新窗口。
由于这是一个新上下文,因此无法共享变量。

也不能使用setlocal enabledelayedexpansion,因为VsDevCmd.bat在code启动之前修改了一些环境变量
https://blog.csdn.net/csqxy547/article/details/89856034

标签:code,bat,exe,VsDevCmd,VScode,C++,批处理,调用,MSVC
From: https://www.cnblogs.com/nolca/p/18068805

相关文章

  • C++ 字符串和字符操作
    1.头文件#inlcude<string>2.std::string&char*区别char*是一个指针string是一个类,内部封装了char,是一个char管理容器3.std::string&C-style字符串区别std::string是C++标准库中的字符串类,提供了许多字符串操作的方法和功能,包括长度计算、拼接、查找、替换等......
  • C++新U4-贪心算法2
    [【贪心算法(二)】分发饼干]    【题意分析】将饼干分发孩子手上,并且使得满足的孩子数量最多【思路分析】为了尽可能满足最多数量的孩子,按照孩子想要获得的饼干大小从小到大的顺序依次满足每个孩子,且对于每个孩子,应该选择可以满足这个孩子的胃口且尺寸最小的饼......
  • C++ Qt开发:QNetworkAccessManager网络接口组件
    Qt是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍如何运用QNetworkAccessManager组件实现Web网页访问。QNetworkAccessManager是Qt网络模块中的关......
  • 使用VSCode撰写和发布博客园文章
    1、在VSCode中,安装扩展“博客园cnblogs客户端”,用来管理博客园。从VSCode打开博客园2、安装“OfficeViewer”扩展,用来书写MarkDown,所见即所得。3、在桌面上新建一个快捷方式,默认使用VSCODE打开VSCode中的博客园工作空间。......
  • c++20 模板约束
    concept在c++20中,提案许久的concept被加入到标准中了,这也意味着不用再写恼人的SFINAE了(除非你是一个受虐狂,喜欢对着一堆报错中找到错误的位置)。c++20之前在c++20之前,如果需要对模板实参进行编译期检查,只能使用SFINAE,或者是部分使用c++17添加的ifconstexpr进行......
  • Qt/C++音视频开发69-保存监控pcm音频数据到mp4文件/监控录像/录像存储和回放/264/265/
    一、前言用ffmpeg做音视频保存到mp4文件,都会遇到一个问题,尤其是在视频监控行业,就是监控摄像头设置的音频是PCM/G711A/G711U,解码后对应的格式是pcm_s16be/pcm_alaw/pcm_mulaw,将这个原始的音频流保存到mp4文件是会报错的,在调用avformat_write_header写文件头的时候提示(-22)Invali......
  • c++从零实现reactor高并发服务器!!!
    环境准备linux虚拟机安装升级c/c++编译器gcc/g++选项源代码文件1源代码文件2...源代码文件n-o指定输出的文件名(不能和源文件同名默认是a.out)-g调试-On链接时优化减小体积(n=1-3)-c只编译用于生成库-std=c++11支持c++11标准安装man功能man级别接口......
  • 线段树(C++)
    线段树的本质就是树状数组,只不过线段树不再需要lowbit函数来定位对应数据的存储位置,取而代之的则是直接计算分叉结果位置。node结构体​ 通常而言,线段树所需要的存储空间约等于原数组的4倍。由于线段树需要存储区间的范围,所以我们需要自己定义一个新结构体来方便存储:constint......
  • (C++)树状数组和线段树的VSCode Snippet
    学都学了,肯定要往snippet里塞好东西嘛{ //Placeyoursnippetsforcpphere.Eachsnippetisdefinedunderasnippetnameandhasaprefix,bodyand //description.Theprefixiswhatisusedtotriggerthesnippetandthebodywillbeexpandedandinserted.......
  • vscode-verilble
    参数名称说明默认值--column_limit目标行长度限制,用于指定格式化后的代码每行的最大字符数100--indentation_spaces每个缩进级别增加的空格数2--line_break_penalty每引入一行换行符的惩罚值2--over_column_limit_penalty超出列限制的基线惩罚值,超出此......