之前的C語言課程老師只講了C沒有接觸C++,但是覺得C++挺重要的,而且python和java再去轉exe有點麻煩,所以還是學一下C++。
問過朋友推薦了幾個IDE,最后他用的是visual studio,但是我嫌太大了。我說只要代碼提示和高亮就行了,朋友說vs code就行。
安裝了vs code、c/c++插件、mingw-64后開始用,發現和當時學c的時候的vc++ 6.0不太一樣,不能直接編譯調試,還要設置相應的配置文件。
經過一番搜索后,大概理解了是怎么回事。
程序源碼目錄下有一個.vscode的文件夾,里面要存放各種配置文件。我目前就涉及到了兩個,launch.json和tasks.json。
launch.json是用來調試並啟動程序的配置文件
tasks.json是用來編譯源碼的配置文件(可能有其他用處,但目前我就知道他能編譯源碼)
其中的tasks.json如果是c那么command是gcc,如果是c++那么command是g++(我套用的可能是c的模板,然后寫cpp的時候編譯出現問題,改成g++就好了)
launch.json
{ "version": "0.2.0", //配置版本 "configurations": [ { // 配置名稱,在啟動配置下拉菜單中顯示 "name": "(gdb) Launch", // 調試會話開始前要運行的任務 "preLaunchTask": "build", // 配置類型 "type": "cppdbg", // 請求配置類型,可以為啟動(launch)或附加(attach) "request": "launch", // 將要進行調試的程序的路徑 "program": "${fileDirname}/${fileBasenameNoExtension}.exe", // 程序調試時傳遞給程序的命令行參數,一般設為空即可 "args": [], // 設為true時程序將暫停在程序入口處,一般設置為false "stopAtEntry": false, // 調試程序時的工作目錄,一般為${workspaceFolder}即代碼所在目錄 "cwd": "${workspaceFolder}", "environment": [], // 調試時是否顯示控制台窗口,一般設置為true顯示控制台 "externalConsole": true, "MIMode": "gdb", // GDB的路徑,注意替換成自己的位置中的 gdb "miDebuggerPath": "H:/mingw-64/mingw64/bin/gdb.exe", "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true } ] } ] }
tasks.json
{ "version": "2.0.0", "tasks": [ { "label": "build", "type": "shell", // 編譯參數 ggc -g ${file} -o ${fileDirname}${fileBasenameNoExtension}.exe "windows": { "command": "gcc", "args": [ "-g", "\"${file}\"", "-o", "\"${fileDirname}\\${fileBasenameNoExtension}.exe\"" ] }, // 控制台輸出的錯誤信息 "problemMatcher": { "owner": "cpp", "fileLocation": [ "relative", "." // ${workspaceFolder} ], "pattern": { "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$", "file": 1, "line": 2, "column": 3, "severity": 4, "message": 5 } }, "group": { "kind": "build", "isDefault": true }, // 終端面板配置 "presentation": { "echo": true, "reveal": "always", "focus": false, "panel": "shared" // 控制面板是否在任務中共享面板,shared=共享,new=新面板 } } ] }