VSCode终端无法运行C++代码问题求助
解决VSCode Code Runner运行C++弹出打开方式的问题
问题场景
使用VSCode+MinGW+Code Runner运行C++代码,开启「在终端运行」后,执行命令:
PS C:\Users\nothu\Projects> cd "c:\Users\nothu\Projects" ; if ($?) { g++ 8.UserInputs.cpp -o 8.UserInputs } ; if ($?) { .\8.UserInputs }
原本可正常接收输入,突然弹出选择文件打开方式的窗口,选择后仍无法运行。代码本身无问题,已尝试重启VSCode、重装扩展、新建/重命名文件、重置settings.json等操作,均未解决。
解决步骤
1. 修复Windows的EXE文件关联
这是最常见的触发原因——系统误修改了.exe可执行文件的默认打开方式:
- 按下Win+R,输入
regedit打开注册表编辑器 - 定位到
HKEY_CLASSES_ROOT\.exe,确保默认值为exefile - 再定位到
HKEY_CLASSES_ROOT\exefile\shell\open\command,默认值必须是"%1" %*(注意引号和空格格式) - 若值不正确,右键修改;权限不足时,右键对应注册表项选择「权限」,给自己添加完全控制权限后再修改
2. 调整Code Runner的执行命令
可能是Code Runner默认命令未添加.exe后缀,导致系统无法识别可执行文件:
- 打开VSCode设置(快捷键Ctrl+,),搜索
Code Runner: Executor Map,点击「编辑 in settings.json」 - 找到
"cpp"对应的命令,修改为:
核心是编译时生成带"cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt.exe && $dir$fileNameWithoutExt.exe".exe后缀的可执行文件,运行时明确调用后缀齐全的文件
3. 手动验证编译运行
先排除Code Runner的配置问题,手动在终端操作验证:
- 打开项目目录,右键选择「在终端中打开」(PowerShell)
- 执行编译命令:
g++ 8.UserInputs.cpp -o 8.UserInputs.exe - 再执行运行命令:
.\8.UserInputs.exe
如果手动操作能正常运行,说明问题出在Code Runner配置,按步骤2调整即可;如果手动也不行,优先解决EXE文件关联问题,再检查MinGW环境变量(Win+R输入cmd,执行g++ --version能输出版本号即环境正常)
附用户提供的代码
#include <iostream> // cout << (insertion operator) // cin >> (extraction operator) int main(){ std::string name; int age; std::string food; std::string hobby; std::cout << "What's your full name?: "; std::cin >> name; //std::getline (std::cin >>std::ws, name); std::cout << "What's your age?: "; std::cin >> age; std::cout << "What's your favorite food?: "; std::cin >> food; std::cout << "What's a hobby of yours you love doing?: "; std::cin >> hobby; //std::getline (std::cin >>std::ws, hobby); std::cout << "Hello " << name << "!" <<std::endl; std::cout << "You are " << age << " years old!" <<std::endl; std::cout << "Your favorite food is " << food << "!" <<std::endl; std::cout << "A hobby you love doing is " << hobby << "! That's a good one!"; return 0; }
内容的提问来源于stack exchange,提问作者ZephyrCodes
相关产品推荐
相关产品推荐

