Ubuntu 16.04下VSCode实现Geany式CPP代码终端交互需求
解决VSCode中C++程序终端交互的问题(Ubuntu 16.04)
嘿,我之前也碰到过一模一样的需求——想让VSCode像Geany那样,运行C++代码时弹出终端支持输入交互,刚好你已经装了Code Runner,咱们直接改它的配置就能搞定,不用太头疼JSON的复杂设置:
开启终端运行模式
- 按下
Ctrl + ,打开VSCode设置面板,在搜索框输入code-runner.runInTerminal,勾选这个选项。这一步直接让Code Runner放弃输出框,改用终端来运行程序。
- 按下
修改C++的编译运行命令(核心步骤)
默认的C++命令可能会导致终端一闪而过或者无法交互,咱们自定义一下:- 还是在设置面板,搜索
code-runner.executorMap,点击「编辑 in settings.json」。 - 找到
"cpp"对应的行,把原有命令替换成:
简单解释:先切换到代码所在目录,用g++编译生成可执行文件,最后调用Ubuntu默认的gnome-terminal打开新窗口运行程序,这样就能正常输入交互了。"cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt && gnome-terminal -- ./$fileNameWithoutExt"
- 还是在设置面板,搜索
测试验证
写个简单的测试程序试试:#include <iostream> using namespace std; int main() { int age; cout << "Enter your age: "; cin >> age; cout << "You are " << age << " years old!" << endl; return 0; }点击Code Runner的运行按钮(右上角的三角图标),会弹出新的终端窗口,输入数字后就能看到对应的输出,完全和Geany的体验一致~
如果你的默认终端不是gnome-terminal(比如用konsole),把命令里的gnome-terminal换成你使用的终端命令就行,比如konsole -e ./$fileNameWithoutExt。
内容的提问来源于stack exchange,提问作者matyd




