日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Ubuntu >内容正文

Ubuntu

Ubuntu下使用VSCode的launch.json及tasks.json编写

發布時間:2025/3/15 Ubuntu 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Ubuntu下使用VSCode的launch.json及tasks.json编写 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

程序

調試

遇到的問題及解決方式

拓展

預定義變量#

預定義變量示例:


?

tasks用于在launch前執行任務,launch用于讀取執行文件。

這兩者經常組合起來用于需要編譯語言的自動編譯+自動執行,下面以C++、Rust和Typescript為例。

程序

工作區包含main.cpp、頭文件夾include以及文件夾中的h文件、src文件夾以及文件夾中的cpp文件。

.vscode是后面生成的,不用管。

在swap.h文件中對類進行了聲明,在swap對類進行了定義,然后在面函數中使用類。

swap.h文件

#pragma once #include<iostream> using namespace std; class Swap {public:Swap(int a, int b){this->_a = a;this->_b = b;}void run();void printInfo();private:int _a;int _b; };

?swap.cpp

#include"swap.h"void Swap::run(){int temp;temp = _a;_a = _b;_b = temp; } void Swap::printInfo() {cout << "_a = " << _a << endl;cout << "_b = " << _b << endl; }

?main.cpp

#include <iostream> #include "swap.h"int main() {Swap myswap(10, 20);myswap.printInfo();myswap.run();myswap.printInfo();cout << "After swap" << endl;return 0; }

調試

run->g++

遇到的問題及解決方式

1.最開始是使用g++命令能夠成功執行程序,但是使用VSCode就報錯,即h文件沒有包含;

解決方式:

在tasks.json文件的args參數中加上圖中方框中的命令,注意前一句需要加上逗號!

?

"-I", "${workspaceFolder}/include"

?2.將頭文件包含后報錯,對類的成員函數未引用;

重新執行顯示未引用,因為上面的tasks.json文件只編譯了main.cpp 沒有編譯swap.cpp

?解決方式:

將swap.cpp加到-g命令后就行

"-g", "${file}", "${workspaceFolder}/src/swap.cpp",

?如果有更多的cpp文件,也能這樣解決。

拓展

預定義變量#

支持下面的預定義變量:

  • ${workspaceFolder}?- 當前工作目錄(根目錄)
  • ${workspaceFolderBasename}?- 當前文件的父目錄
  • ${file}?- 當前打開的文件名(完整路徑)
  • ${relativeFile}?- 當前根目錄到當前打開文件的相對路徑(包括文件名)
  • ${relativeFileDirname}?- 當前根目錄到當前打開文件的相對路徑(不包括文件名)
  • ${fileBasename}?- 當前打開的文件名(包括擴展名)
  • ${fileBasenameNoExtension}?- 當前打開的文件名(不包括擴展名)
  • ${fileDirname}?- 當前打開文件的目錄
  • ${fileExtname}?- 當前打開文件的擴展名
  • ${cwd}?- 啟動時task工作的目錄
  • ${lineNumber}?- 當前激活文件所選行
  • ${selectedText}?- 當前激活文件中所選擇的文本
  • ${execPath}?- vscode執行文件所在的目錄
  • ${defaultBuildTask}?- 默認編譯任務(build task)的名字

預定義變量示例:

假設你滿足以下的條件

  • 一個文件?/home/your-username/your-project/folder/file.ext?在你的編輯器中打開;
  • 一個目錄?/home/your-username/your-project?作為你的根目錄.
  • 下面的預定義變量則代表:

    • ${workspaceFolder}?-?/home/your-username/your-project
    • ${workspaceFolderBasename}?-?your-project
    • ${file}?-?/home/your-username/your-project/folder/file.ext
    • ${relativeFile}?-?folder/file.ext
    • ${relativeFileDirname}?-?folder
    • ${fileBasename}?-?file.ext
    • ${fileBasenameNoExtension}?-?file
    • ${fileDirname}?-?/home/your-username/your-project/folder
    • ${fileExtname}?-?.ext
    • ${lineNumber}?- 光標所在行
    • ${selectedText}?- 編輯器中所選擇的文本
    • ${execPath}?- Code.exe的位置
    Tip: vscode的智能提示會在tasks.json和launch.json?提示所有支持的預定義變量.

    總結

    以上是生活随笔為你收集整理的Ubuntu下使用VSCode的launch.json及tasks.json编写的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。