Q:sublime在Ubuntu環境下配置好,能使用gcc編譯運行程序后,發現cin,scanf 這樣的命令不執行
A:sublime自帶的控制台不支持這樣的輸入操作,解決辦法就是調用Linux本地終端,在終端上執行程序,
網上關於windows下調用cmd的例子已經好多了,可是卻很少找到Linux環境下的配置方法,
以下是我自己總結的方法,自己感覺很好用,希望可以幫到需要的朋友。
1.Sublime界面-->Tools-->Build System-->New Build System,彈出一個簡單的文件,把以下代碼粘貼進去,
最后結果如下所示:
{ "cmd": ["g++ ${file} -o ${file_base_name}"], "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$", "working_dir": "${file_path}", "selector": "source.c, source.c++", "shell": true, "variants": [ { "name": "Run", "cmd": ["${file_path}/${file_base_name}"] }, { "name": "RunInShell", "cmd": ["gnome-terminal -x bash -c '${file_path}/${file_base_name};read' "] } ] }
2.保存為g++.sublime-build,保存位置就是默認路徑,即Packages-->User 目錄下
3.第三步,設置快捷鍵,Sublime界面-->Preferences-->Key Bindings-User, 打開后寫入以下代碼,結果如下所示
[ { "keys": ["f8"], "command": "build","args": {"variant": "RunInShell"} }, ]
保存。
4.這樣就完成調用Linux下的終端了,Sublime寫好C/C++程序后,
ctrl+B編譯程序,ctrl+shift+B使用Sublime自帶的控制台運行程序,F8為調用Ubuntu終端運行程序。
關鍵之處就在於一點,也是我廢了點力氣測試出來的,
"cmd": ["gnome-terminal -x bash -c '${file_path}/${file_base_name};read' "],
這條代碼就是調用gnome-terminal來執行程序,后面的;read 必須要加,否則程序執行完終端會閃退,加上以后程序執行完,敲回車關閉終端。
