2021-03-29
vscode源文件和可执行文件分离
前言
用vscode写c/c++时, 为了方便, 会把不同的源文件放在一个文件夹里
这里不是做项目, 一个源文件就是一个单独的程序
然后生成的可执行文件和源代码就会放在一个目录里, 还是同名, 就很容易点错, 所以就想着改改
环境和版本
- Visual Studio Code 1.54.3
- Liunx Ubuntu 18.04 LTS
- g++ 7.5.0
code-runner设置
打开vscode, 菜单栏文件
->首选项
->设置

使用搜索功能, 搜索code-runner
并找到Excutor Map
, 点击在settings.json
编辑
出来这样的页面, 我们要修改的是cpp
这一行, 当然, 其它语言也是一样
修改成如下:
1 | "cpp": "cd $dir && if [ ! -d \"bin\" ];then mkdir bin;fi && g++ $fileName -o bin/$fileNameWithoutExt && bin/$fileNameWithoutExt" |
其中if [ ! -d \"bin\" ];then mkdir bin;fi
为判断bin
是否存在, 如果不存在则创建, 当然, bin
这个名字也改成自己喜欢的
调试
配置调试的是launch.json
这个文件, 而在调试程序执行前会需要先进行编译生成可执行二进制文件, 这时就需要配置task.json
文件
在launch.json
中, 通过改写preLaunchTask
参数, 并在task.json
中添加参数, 可以达到预先创建bin
文件夹的目的
task.json
中加上如下任务:
1 | { |
并在生成可执行文件的参数中, 更改目录
1 | "args": [ |
launch.json
中修改可执行文件的位置
1 | "program": "bin/${fileBasenameNoExtension}" |
lauch.json
中添加任务:
1 | "preLaunchTask": [ |
完整tasks.json
参考代码
1 | { |
完整的launch.json
1 | { |
没必要直接复制粘贴, 版本可能会更改而不适用, 看懂怎么改的即可
windows系统方法也类似, 要注意的
路径分隔符号不一样, linux是
/
, windows是\
创建文件夹的命令需要修改, 这里给出参考
1
if not exist bin ( md bin);