一文解决在ubuntu下,删除vscode插件code runner执行时c/cpp文件生成的exe文件

一文解决在ubuntu下,删除vscode插件code runner执行时c/cpp文件生成的exe文件_第1张图片

背景

Code Runner是一款VS Code上的代码运行插件,响应速度比软件自带调试速度快,唯一缺点就是无法Debug。
在使用过程中,伴随着代码执行会出现很多exe文件,代码文件一多就会导致文件管理麻烦。
一文解决在ubuntu下,删除vscode插件code runner执行时c/cpp文件生成的exe文件_第2张图片
在拜读多篇博客之后,终于找到了一个一劳永逸的解决办法,特此将这些博客与自己踩的坑记录一下。

法1:通过更改exe生成路径,重定向exe文件生成位置(未成功)

博客链接如下:
VScode C/C++更改编译后的exe文件输出到一个指定的文件夹的方法
————————————————
版权声明:本文为CSDN博主「Quan_2022」的原创文章,遵循CC 4.0
BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_34543927/article/details/118056155

该方法是通过更改exe生成路径,将这些文件统一的生成在某一个规定的文件夹内

但是该内容对于ubuntu系统似乎不能适用

原本直接对着博客照做无法在build文件夹内生成exe文件,思考后发现

ubuntu系统路径采用斜杠而不是反斜,因此将.\\build\\改为./build/
vnMZi6.png
vnM1eA.png
令人惊喜的是build文件夹里有exe文件了
一文解决在ubuntu下,删除vscode插件code runner执行时c/cpp文件生成的exe文件_第3张图片
但是还是会报错

报错为:bash: ./build//home/yang/桌面/cpp/test01: 没有那个文件或目录

尝试多次无果后只能再浏览其他博客

最终寻找到了对linux系统适用的方法

法2:通过利用del/rm指令,将生成的exe文件删除

博客链接如下:
vscode中coderunner插件删除C/C++生成的exe文件
————————————————
版权声明:本文为CSDN博主「Quan_2022」的原创文章,遵循CC 4.0
BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_34543927/article/details/118056155

该方法同样是修改code runner的配置文件settings.json中的c和cpp项,但是是在当前目录下直接利用del删除了exe文件

需要注意的是:linux下的删除命令是rm,并且文件后缀的.exe要删除

因此最终配置文件的代码应该由:

"code-runner.executorMap": {
        "c": "cd $dir && gcc $fileName -o $fileNameWithoutExt.exe && $dir$fileNameWithoutExt.exe && del $dir$fileNameWithoutExt.exe",
        "cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt.exe && $dir$fileNameWithoutExt.exe && del $dir$fileNameWithoutExt.exe",
}//win下
/*
第一个指令为`cd $dir`,即转到当前cpp源文件目录下
第二个指令为`g++ $fileName -o $fileNameWithoutExt.exe`,即编译文件
第三个指令为`del $dir$fileNameWithoutExt.exe`,即删除编译出的执行文件
/*

变为:

"code-runner.executorMap": {
        "c": "cd $dir && gcc $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt && rm $dir$fileNameWithoutExt",
        "cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt && rm $dir$fileNameWithoutExt"
}//linux下

最后勾选上博客末尾所指出的两个设置即可

你可能感兴趣的:(疑难解答,vscode,ubuntu,linux)