iT邦幫忙

5

[VSCode] Visual Studio Code 執行 C++ (6) - Code Runner

之前有人問過我,可不可以讓 VSCode 使用內部終端機執行 C++,
而不另外跳出 cmd 視窗,那時我不知道有什麼辦法可以做到,
不過今天剛好透過 bluerick12 大大發現 Code Runner 這個套件,
好像可以達到類似的功能,所以就來研究一下,沒想到真的成功了。
/images/emoticon/emoticon39.gif

1. 安裝 Code Runner
https://ithelp.ithome.com.tw/upload/images/20171128/20106865I7kXuZemob.jpg

3. 設定 VSCode settings.json
https://ithelp.ithome.com.tw/upload/images/20171128/20106865DawUmVbNw5.jpg
在左下角開啟 VSCode 設定檔,加入以下內容。

"code-runner.executorMap": {
    "c": "cd $dir && gcc $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt"
}

Code Runner 的開啟方式
1.快捷鍵 Ctrl+Alt+N
2.F1 後選擇 Run Code
3.右鍵 選擇 Run Code
4.還有另外兩個,沒有特別研究 XD

Code Runner 的停止方式
1.快捷鍵 Ctrl+Alt+M
2.F1 後選擇 Stop Code Run
3.在輸出視窗 右鍵 選擇 Stop Code Run

測試結果發現中文會有亂碼
https://ithelp.ithome.com.tw/upload/images/20171128/20106865vFjBg8DLVC.jpg

4. 設定 VSCode settings.json
在左下角開啟 VSCode 設定檔,加入以下內容,
讓 Code Runner 在內建的終端機上執行。

"code-runner.runInTerminal": true

測試結果可以正常輸出中文
https://ithelp.ithome.com.tw/upload/images/20171128/20106865Xiv9P2UVnW.jpg

因為 Code Runner 的快速鍵為 Ctrl+Alt+N 和之前安裝的 Template Generator 這個套件的一樣,所以需要改變快速鍵設定,Template Generator 我習慣使用 F1 直接選擇功能,所以我只保留 Code Runner 的,將 Template Generator 的移除,當然也可以不移除換成其他的快速鍵。

4. VSCode 快速鍵設定
https://ithelp.ithome.com.tw/upload/images/20171128/20106865XMEE9tlX1r.jpg
在左下角開啟 VSCode 鍵盤快速鍵。

https://ithelp.ithome.com.tw/upload/images/20171128/20106865tOoJzKbnCo.jpg
找到 New File from Template 右鍵選擇 移除按鍵繫結關係,這樣就完成了。

結語:
Code Runner 預設的輸出視窗亂碼問題還是沒有解決,只找到了折衷的辦法,將 Code Runner 改為使用 VSCode 內建的終端機,這算是美中不足的地方。
/images/emoticon/emoticon70.gif

相關文章:
[VSCode] Visual Studio Code 執行 C++ (1) - 安裝 VSCode + MinGW
[VSCode] Visual Studio Code 執行 C++ (2) - IntelliSense + Building + Debugging
[VSCode] Visual Studio Code 執行 C++ (3) - 語法檢查
[VSCode] Visual Studio Code 執行 C++ (4) - 範本 (Template)
[VSCode] Visual Studio Code 執行 C++ (5) - 中文亂碼
[VSCode] Visual Studio Code 執行 C++ (6) - Code Runner


1
bluerick12
iT邦新手 5 級 ‧ 2017-11-29 14:04:31

噗...感謝fysh711426大大一直幫我解惑
code runner其實直接點介面右上角的三角形就好
https://ithelp.ithome.com.tw/upload/images/20171129/20107434moDD6oFvyb.jpg
其實這樣看下來反而終端機比較好,如果有要輸入變數的值的話終端機可以輸入,預設的輸入無法key in任何的數值。

fysh711426 iT邦研究生 3 級‧ 2017-11-29 20:32:46 檢舉

對阿,終端機可以輸入輸出,那就安心服用吧
/images/emoticon/emoticon37.gif

0
jcw
iT邦新手 5 級 ‧ 2018-03-01 02:13:44

感謝版主這一系列的教學
想請問一下版主 我哪裡設定錯誤了
https://ithelp.ithome.com.tw/upload/images/20180301/20108881GELfXw43nu.jpg

fysh711426 iT邦研究生 3 級‧ 2018-03-01 11:22:56 檢舉
"code-runner.executorMap": {
    "c": "cd $dir && gcc $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt"
},
"code-runner.runInTerminal": true

試試看
/images/emoticon/emoticon12.gif

0
jcw
iT邦新手 5 級 ‧ 2018-03-01 16:39:19

還是有問題
https://ithelp.ithome.com.tw/upload/images/20180301/20108881999KtbtTmT.jpg

看更多先前的回應...收起先前的回應...
fysh711426 iT邦研究生 3 級‧ 2018-03-01 17:09:16 檢舉

我沒注意到,您最外層少了大括號

fysh711426 iT邦研究生 3 級‧ 2018-03-01 17:11:10 檢舉
{
    "code-runner.executorMap": {
        "c": "cd $dir && gcc $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt"
    },
    "code-runner.runInTerminal": true
}
jcw iT邦新手 5 級‧ 2018-03-06 18:47:10 檢舉

問題解決了 謝謝

fysh711426 iT邦研究生 3 級‧ 2018-03-06 19:19:48 檢舉

很高興能幫助到您
/images/emoticon/emoticon12.gif

我要留言

立即登入留言