Windows 下 VS code 中 Code Runner 无法输入 & 中文乱码 & 编译报错 等问题解决
程序员文章站
2022-06-26 11:56:38
...
无法输入
在 Visual Studio Code 中安装 Code Runner 插件后,运行c++程序无法输入,是因为默认使用的不是终端,添加code-runner.runInTerminal为true即可
中文乱码
如果cpp文件是utf-8文件,使用终端输出中文默认会出现乱码,修改code-runner.executorMap 加入-fexec-charset=GBK 即可
路径报错
提示找不到路径,报错如下:
g++: error: xxx.cpp: No such file or directory
g++: fatal error: no input files
compilation terminated.
一般打开的文件夹是不会报这个错的,打开单个文件的时候,终端默认路径是在c盘,而打开的文件不在c盘时会报错,因为windows使用cd是无法切换盘符的,所以需要在code-runner.executorMap中加入切换盘符的命令。
另外如果文件名中有空格的话也会报错,所以需要使用 \" 把文件名包含起来。路径使用$dir自带 "。
完整设置
打开 首选项 - 设置,在用户设置中加入
或者"crtl+shift+p",输入"settings.json", 在settings.json文件中加入
"code-runner.runInTerminal":true,
"code-runner.executorMap": {
"cpp": "$driveLetter && cd $dir && g++ -std=c++11 -fexec-charset=GBK \"$fileName\" -o \"$fileNameWithoutExt.exe\" && \"$fileNameWithoutExt.exe\""
}
路径说明
- $ workspaceRoot:在VS Code中打开的文件夹的路径
- $ dir:正在运行的代码文件的目录
- $ dirWithoutTrailingSlash:运行的代码文件目录不带斜杠
- $ fullFileName:正在运行的代码文件的全名
- $ fileName:正在运行的代码文件的基本名称,即没有目录的文件
- $ fileNameWithoutExt:代码文件的基本名称,不带扩展名
- $ driveLetter:正在运行的代码文件的驱动器号(仅Windows)
- $ pythonPath:Python解释器的路径(由Python: Select Interpreter命令设置)
上一篇: PHP实现HTTP断点续传的方法
下一篇: 常用类(Math类)