VScode:配置一鍵編譯運行(Windows+MinGW)


vscode用了一段時間了, 發現確實比較好用,不過有個地方讓人很不爽,就是它默認只有編譯的功能(按 Ctrl+Shift+B), 沒有自動執行的功能。要想執行編譯后的程序查看結果,還要每次在PowerShell下寫個.\xxx.exe, 煩死了,今天實在是受不了,終於找到了解決辦法。

主要參考了這篇文章:VSCODE 一鍵編譯運行 ,不過這哥們的環境是在linux下的,而我因為不方便使用Vmware, 所以一般都是在Windows下使用MinGW來做驗證。

關於如何在VScode下配置C++運行環境以及Task的概念,請參考微軟官方的說明:https://code.visualstudio.com/docs/cpp/config-mingw, 里面詳細介紹了如何運行一個簡單的HelloWorld, 以及如何配置一個簡單的Task, 這里不再贅述。

主要說一下Windows下使用MinGw作為編譯器時task該如何配置:

{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "shell",
            "label": "build",
            "command": "E:\\sys\\devcpp\\Dev-Cpp\\MinGW64\\bin\\g++.exe",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "${workspaceFolder}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "編譯器: E:\\sys\\devcpp\\Dev-Cpp\\MinGW64\\bin\\g++.exe"
        },

        {
            "label": "run",
            "type": "process",
            "command": "${fileDirname}\\${fileBasenameNoExtension}.exe",
            //依賴build task(剛剛創建的那個),執行該task之前先執行build
            "dependsOn": [
                "build"
            ],
            "presentation": {
                "echo": true,
                "reveal": "always",
                //自動聚焦
                "focus": true,
                //共享控制台,利用之前的控制台,並不重新創建
                "panel": "shared",
                "showReuseMessage": true,
                //啟動之前清理控制台輸出
                "clear": true
            }
        }
    ]
}

修改的主要是標紅的地方,

“type” 代表任務類型,自定義任務可以設置為“shell” 或 “process”, 設置為shell的話,后面跟的command會被解釋成shell指令,設置成 process的話,后面跟的command會被當做單獨的進程去被執行。

"command"  我就寫成了要執行的程序名字。

關於自定義task的詳細配置請參考:https://code.visualstudio.com/docs/editor/tasks

 

最后不要忘了給task重新綁定一個快捷鍵:

ctrl+shift+P打開全局終端,輸入open keyboard shutcuts.打開鍵盤快捷鍵設置

 打開 keybindings.json 文件,添加如下配置

{
    "key": "ctrl+shift+r",
    "command": "workbench.action.tasks.runTask",
    "args": "run"
}

這樣就把Ctrl+Shift+R按鍵綁定到我們自定義的Task上,每次我們按下這組快捷鍵時,就會自動執行編譯和運行動作。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM