成功解决vscode使用code runner插件无法编译运行文件名带空格的文件

时间:2024-05-18 18:38:53

vscode一直以来用之写c/c++我甚是喜欢,本人才疏学浅,未能寻到更好的编辑器。codeblocks虽然也很轻,vscode的代码提示也不如codeblocks好用,但是codeblocks的界面不是很喜欢,devc++更不用说,vs又太大,另外发现有意思的是,vs图标里的闭环在vscode的图标里是张开的,也许意味着vscode是开源的吧!vscode开源也令我深受喜爱,待日后有时间自己学习写一个可满足我需求的vscode编译运行插件。另外本人还用eclipse写过c++,代码提示也是感觉就这样,因为先前eclipse写java那代码补全简直爽飞!clion也用过,代码提示也很快,也可以在console运行,但是每次运行,都会清空上次运行的东西(也许是我不会设置),而且不够轻量,还不如用vs,代码提示还好一些,只好弃用。
成功解决vscode使用code runner插件无法编译运行文件名带空格的文件
综上,目前在用过的编辑器中,以我所掌握的对它们的使用方法,vscode是最好的啦!尤其是配合win10的powershell和code runner插件在terminal里运行,花花绿绿的看着很有满足感,然后,看着也很方便,复制粘贴历史运行情况也超方便的!如图:
成功解决vscode使用code runner插件无法编译运行文件名带空格的文件
难耐,一直有一个心结,从前很是喜爱devc++,怎么命名都可以编译运行,然而这个插件不可以,难道是真的不可以名字有空格吗?有的插件却可以。虽说也不影响学习啦!但是能解决当然更好啦!先直接上解决方案,在setting.json里面自定义(也许你应该先了解一下setting.json怎么用?):
成功解决vscode使用code runner插件无法编译运行文件名带空格的文件
下面分析:
假设有一source为"hello world.cpp"
我发现一开始默认情况直接g++ hello world.cpp,导致运行情况为g++ hello,例如以下情况:
成功解决vscode使用code runner插件无法编译运行文件名带空格的文件
什么!?你找不到Still?我分明要的是Still TBD.cpp,好吧!于是自定义g++ “$fileName”,加上引号便可以编译,然鹅,不可运行!伤脑筋!原因在输出可执行文件的时候,又有空格,也不知道开发插件的人怎么想的,$dir竟然自带引号,然后执行程序的时候还要有.\,就不好加引号,于是干脆输出执行文件时命名为自己取得编译成功好了,于是就如上。
综上,这个插件可扩展性还是挺强的,可以自己调整,毕竟这个插件本质上也就是往终端输入一个命令而已。(这么好的插件简直应该是vscode标配)

其实如果不设置以上,大可有个叫成功解决vscode使用code runner插件无法编译运行文件名带空格的文件的方便插件可以用,只不过总觉得哪里怪怪的,而且0.3.0以后,便每次运行都clear terminal,于是装了0.2.7,并在github上提了一下,最近更新了0.5.0似乎,解决了(也许是看到了我建议,哈哈),不过最新版有点缓慢。不过这个插件还是蛮推介的。