讓Visual Studio Code成為你的日常編輯器(二)

上一篇文章我介紹VS Code 的簡單配置,這篇來點認(rèn)真的。
作為一個編輯器,我們當(dāng)然是要拿來寫代碼了,VS Code支持很多語言文件的編輯的同時,也能通過一些簡單的配置,使它支持簡單的語言調(diào)試。As follows.

C/C++

首先我們需要安裝下面這款專門針對C/C++環(huán)境的擴展。


C/C++語言編輯調(diào)試擴展

這個擴展比較大,下載會有段時間,請耐心等待...

重新加載VS Code后

關(guān)于調(diào)試的提示
想要對一個項目/文件進行調(diào)試,必須用VS Code 打開項目文件夾,或者叫打開包含項目的文件夾,只有在文件夾中才能使用調(diào)試功能,也就是說,不能打開一個源代碼文件開始調(diào)試。
如果你要調(diào)試一個代碼文件,請把這個文件放到一個文件夾里,用VS Code的打開文件夾功能加載項目進行調(diào)試。
用打開文件夾功能打開以后,會在項目文件夾下多出一個.vscode文件夾,里面會包含一些對這個項目的配置文件。

項目文件夾

打開以后大約是這個樣子
VS Code資源管理器

好了,要調(diào)試的話編譯器是肯定少不了的,目前Windows下只支持Cygwin和MinGW,這里我們用MinGW 從這里下載安裝器 http://www.mingw.org/,點進去右上角有個Download Installer,就是他。打開安裝。

MinGW安裝器

選擇一個安裝目錄后繼續(xù)即可,由于眾所周知的原因,可能會遇到一點問題,相信你能解決。

MinGW安裝管理器下載完成

進入安裝管理器,在All Packages-MinGW-MinGW Base System下面找到mingw32-gccmingw32-gcc-g++右鍵 mark for installation,選上這兩項,有依賴項目也會自動標(biāo)記。
選擇安裝包

然后為了能夠調(diào)試我們需要標(biāo)記mingw32-gdb
標(biāo)記gdb

然后在這里確認(rèn)選擇,下載。為了能順利完成安裝,請保證自己的網(wǎng)絡(luò)條件良好。


應(yīng)用更改

下載完成后,把你的MinGW\bin目錄追加到系統(tǒng)PATH環(huán)境變量下,我的路徑是C:\MinGW\bin。
確保能在命令行下輸入gcc回車能有輸出。


添加環(huán)境變量

完成之后重新打開項目文件夾,編寫代碼進行測試。選擇調(diào)試選項。


進入調(diào)試

選擇GDB作為調(diào)試環(huán)境。


調(diào)試環(huán)境

然后會出現(xiàn)一個配置文件。

Paste_Image.png

將內(nèi)容替換為如下代碼,保存。

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "C++ Launch (GDB)",                 // 配置名稱,將會在啟動配置的下拉菜單中顯示
            "type": "cppdbg",                           // 配置類型,這里只能為cppdbg
            "request": "launch",                        // 請求配置類型,可以為launch(啟動)或attach(附加)
            "targetArchitecture": "x86",                // 生成目標(biāo)架構(gòu),一般為x86或x64,可以為x86, arm, arm64, mips, x64, amd64, x86_64
            "program": "${file}.exe",                   // 將要進行調(diào)試的程序的路徑
            "miDebuggerPath":"c:\\MinGW\\bin\\gdb.exe", // miDebugger的路徑,注意這里要與MinGw的路徑對應(yīng)
            "args": [],                                 // 程序調(diào)試時傳遞給程序的命令行參數(shù),一般設(shè)為空即可
            "stopAtEntry": false,                       // 設(shè)為true時程序?qū)和T诔绦蛉肟谔帲话阍O(shè)置為false
            "cwd": "${workspaceRoot}",                  // 調(diào)試程序時的工作目錄,一般為${workspaceRoot}即代碼所在目錄
            "externalConsole": true,                    // 調(diào)試時是否顯示控制臺窗口,一般設(shè)置為true顯示控制臺
            "preLaunchTask": "g++"                    // 調(diào)試會話開始前執(zhí)行的任務(wù),一般為編譯程序,c++為g++, c為gcc
        }
    ]
}

注意
miDebugger的路徑,注意這里要與MinGw的路徑對應(yīng)

切換到我們的代碼文件,按F5進入調(diào)試,選擇配置任務(wù)運行程序。


配置任務(wù)運行程序

這里隨便選擇一個任務(wù),我選了最后一個。

選擇任務(wù)運行程序

然后會出現(xiàn)一個task.json配置文件,同樣地,將內(nèi)容替換為如下代碼

{
    "version": "0.1.0",
    "command": "g++",
    "args": ["-g","${file}","-o","${file}.exe"],    // gcc編譯命令參數(shù)
    "problemMatcher": {
        "owner": "cpp",
        "fileLocation": ["relative", "${workspaceRoot}"],
        "pattern": {
            "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
            "file": 1,
            "line": 2,
            "column": 3,
            "severity": 4,
            "message": 5
        }
    }
}

完成之后,保存?;氐酱a文件,按F5,如果你的代碼沒有問題的話,出現(xiàn)黑框框就完成啦。
具體的調(diào)試可以在代碼里設(shè)置斷點,進行單步調(diào)試,類似下面。

單步調(diào)試

python

第一步當(dāng)然是去https://www.python.org/下載了,安裝時注意勾選添加的PATH環(huán)境變量。
在VS Code里安裝Python的插件

Python插件

新建一個py文件,寫一點測試代碼,按F5

選擇python環(huán)境

然后又會出來一個配置文件,其實只要保存一下這個配置文件,回到代碼文件,再按F5就能直接調(diào)試了。
如果你需要直接運行,那么只要按ctrl+shift+B,然后出來一個tasks.json文件,把里面的內(nèi)容替換為如下代碼

{
    "version": "0.1.0",
    "command": "python",
    "isShellCommand": true,
    "args": ["${file}"],
    "showOutput": "always"
}

我們再來研究一下launch.json這個配置文件,這個json文件的配置其實是調(diào)試的不同選項,默認(rèn)我們選的是Python,但是這個調(diào)試選項有一個缺點,如果你的程序里用到了輸入,那么你會發(fā)現(xiàn)你沒有地方輸入。只有在控制臺中才能輸入,這個時候我們就要用到調(diào)試選項中的External Terminal/Console這個選項了,直接選這個選項調(diào)試你會發(fā)現(xiàn)出現(xiàn)錯誤????

Paste_Image.png

我們需要研究一下這個配置文件,由于里面代碼太多,我只列出了兩項,大家對比一下。

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python",
            "type": "python",
            "request": "launch",
            "stopOnEntry": true,
            "pythonPath": "${config.python.pythonPath}",
            "program": "${file}",
            "cwd": "${workspaceRoot}",
            "debugOptions": [
                "WaitOnAbnormalExit",
                "WaitOnNormalExit",
                "RedirectOutput"
            ]
        },
        {
            "name": "External Terminal/Console",
            "type": "python",
            "request": "launch",
            "stopOnEntry": true,
            "pythonPath": "${config.python.pythonPath}",
            "program": "${file}",
            "cwd": "${workspaceRoot}",//注意這里,默認(rèn)是null所以不能調(diào)試,改成${workspaceRoot}當(dāng)前工作目錄
            "console": "externalTerminal",  
            "debugOptions": [
                "WaitOnAbnormalExit",
                "WaitOnNormalExit"
            ]
        }
    ]
}

別的調(diào)試選項大家也可以試試看。

.Net Core

如果你安裝了.Net Core的話,你就已經(jīng)有了C#的編譯器了。還沒有裝的話可以在https://www.microsoft.com/net/core#windowsvs2015下載
還要在VS Code中編寫調(diào)試C#代碼首先還是安裝一個C#的插件。

C#插件

重新打開以后需要一段時間下載調(diào)試器,耐心等待,保持網(wǎng)絡(luò)良好。
兩布完成以后,你可是試著打開命令行,輸入dotnet,如果有輸出說明安裝成功。
新建一個目錄,輸入dotnet new 新建一個.net core 項目,輸入dotnet restore還原一些可能的引用和依賴后,執(zhí)行dotnet run運行項目,可以看到默認(rèn)項目hello world的輸出。
我們用VS Code打開剛才新建的項目,會出現(xiàn)提示

提示

點擊Yes,自動為我們配置好tasks.json和launch.json文件,再次回到代碼文件,F(xiàn)5直接運行,可以看到輸出。

另外,VS Code 可以內(nèi)聯(lián)命令提示符,快捷鍵是Ctrl+.就和Windows的控制臺是一樣的,還長的好看一點,可以直接在里面操作,對.net core項目的retore就不用再開一個控制臺了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,697評論 19 139
  • 大家應(yīng)該都用過被稱為宇宙第一IDE的Visual Studio了吧,VS雖然強大無比,但是它也會為我們的硬盤帶來數(shù)...
    天堂邁舞閱讀 7,232評論 5 8
  • 實質(zhì)上,Visual Studio Code是一款代碼編輯器,像許多其他代碼編輯器一樣,VS Code的左邊采用了...
    天天luck閱讀 53,911評論 16 86
  • error code(錯誤代碼)=0是操作成功完成。error code(錯誤代碼)=1是功能錯誤。error c...
    Heikki_閱讀 3,545評論 1 9
  • 有人牽掛固然很好 但沒有時間陪伴 覺得虧欠 好像還是無牽無掛好一些 唉 加班好累 希望能趕上最后一班
    三言兩語啰啰嗦嗦閱讀 285評論 0 0

友情鏈接更多精彩內(nèi)容