如何使用VsCode的RunCode编译多文件并执行
注意:本文基于Mac电脑操作
执行步骤
编辑runcode的配置文件
打开Code>>首选项>>配置,搜索run code,找到Code-runner Executor Map,如下图
编辑runcode配置文件
点击在settings.json中编辑,得到以下默认配置
{
"code-runner.saveFileBeforeRun": true,
"code-runner.clearPreviousOutput": true
}
需要新增一个元素,配置执行的默认命令,输入code-runner之后,会有补全提示,找到executorMap,可以自动补全,会展示所有语言的默认执行命令,如下(删掉一些无关的元素)
{
"code-runner.saveFileBeforeRun": true,
"code-runner.clearPreviousOutput": true,
"code-runner.executorMap": {
"javascript": "node",
"java": "cd $dir && javac $fileName && java $fileNameWithoutExt",
"c": "cd $dir && gcc $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
"cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
"objective-c": "cd $dir && gcc -framework Cocoa $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt"
}
}
可以看到,cpp默认值编译当前文件,并且直接编译到当前目录下,我们需要稍作修改,让他编译所有的文件,并且编译到当前的out子目录中,集中管理
只改cpp即可,修改后如下
{
"code-runner.saveFileBeforeRun": true,
"code-runner.clearPreviousOutput": true,
"code-runner.executorMap": {
"cpp": "cd $dir && g++ *.cpp -o out/$fileNameWithoutExt && $dir/out/$fileNameWithoutExt"
},
"code-runner.runInTerminal": true
}
最后又额外加了一个元素,让code-runner在terminal中运行,这里是解决一个交互的问题,默认run-code执行之后在输出tab,如果写了键盘输入的代码,比如cin>>a,是无法输入的,会一直卡住,通过这个配置,能够让代码在terminal中运行,支持输入数据。
|