VSCode 工作區配置文件通用模板(CMake + Ninja + MinGW/GCC 編譯器 的 C++ 或 Qt 項目)

下面是一個通用模板,適用于大多數使用 VSCode + CMake + Ninja + MinGW/GCC 編譯器 的 C++ 或 Qt 項目。你可以將這個 .vscode 文件夾復制到你的項目根目錄下,稍作路徑調整即可使用。
在這里插入圖片描述


📁 .vscode/ 目錄結構(通用模板)

.vscode/
├── settings.json       # 工作區設置(CMake 配置)
├── tasks.json          # 構建任務配置(CMake Configure & Build)
└── launch.json         # 調試器配置(GDB)

? 1. settings.json

{"cmake.generator": "Ninja","cmake.configureOnOpen": true,"cmake.buildDirectory": "${workspaceFolder}/build","cmake.clearOutputBeforeBuild": true,"cmake.useCmakeListsTxt": true,"files.exclude": {"**/.git": true,"**/.DS_Store": true,"**/__pycache__": true},"editor.tabSize": 4,"editor.formatOnSave": true
}

?? 說明:

  • 使用 Ninja 作為生成器;
  • 打開項目時自動配置 CMake;
  • 構建輸出目錄為 build/
  • 排除一些不必要的文件顯示在資源管理器中;
  • 設置默認縮進為 4 空格,保存時格式化代碼。

? 2. tasks.json

{"version": "2.0.0","tasks": [{"label": "CMake: Configure","type": "shell","command": "cmake","args": ["-B", "${workspaceFolder}/build", "-G", "Ninja"],"group": { "kind": "build", "isDefault": true },"problemMatcher": ["$cmake"]},{"label": "CMake: Build","type": "shell","command": "cmake","args": ["--build", "${workspaceFolder}/build"],"group": { "kind": "build", "isDefault": true },"problemMatcher": ["$cmake"]},{"label": "CMake: Clean","type": "shell","command": "rm -rf build/*"}]
}

?? 說明:

  • CMake: Configure:運行 cmake -B build -G Ninja 來配置構建系統;
  • CMake: Build:運行 cmake --build build 進行編譯;
  • CMake: Clean:清理構建目錄(僅限 Unix-like 系統);
    • 如果你在 Windows 上使用 CMD 或 PowerShell,可以用如下命令代替:
rd /s /q build && mkdir build

? 3. launch.json

{"version": "0.2.0","configurations": [{"name": "GDB Debug","type": "cppdbg","request": "launch","program": "${workspaceFolder}/build/myapp.exe","args": [],"stopAtEntry": false,"cwd": "${workspaceFolder}","environment": [],"externalConsole": true,"MIMode": "gdb","miDebuggerPath": "C:\\msys64\\mingw64\\bin\\gdb.exe"}]
}

?? 說明:

  • "program" 是你要調試的可執行文件路徑;
  • "miDebuggerPath" 根據你安裝的 GDB 路徑修改;
    • 如果你用的是 MSYS2 或 MinGW-w64,請確認 gdb.exe 存在;
    • 如果你用的是 MSVC(Visual Studio 編譯器),則需要使用 Windows Debugger 插件。

🧪 使用方法

  1. 把這三個文件放到你的項目根目錄下的 .vscode/ 文件夾中;
  2. 確保你的項目根目錄有 CMakeLists.txt
  3. Ctrl+Shift+P,輸入并運行 CMake: Configure
  4. Ctrl+Shift+B 構建項目;
  5. F5 啟動調試器;

📦 可選建議(針對 Qt 項目)

如果你是 Qt 項目,確保 CMakeLists.txt 中包含以下內容:

set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUI ON)find_package(Qt6 COMPONENTS Widgets REQUIRED)target_link_libraries(myapp PRIVATE Qt6::Widgets)

📝 提示:路徑問題要特別注意!

  • miDebuggerPath 要根據你實際安裝路徑填寫;
  • program 要指向你生成的 .exe 文件路徑;
  • 如果你不知道路徑,可以在終端中運行:
which gdb

🎁 小福利:一鍵創建腳本(可選)

如果你經常新建項目,可以寫一個 Python 或 Shell 腳本來自動生成 .vscode 文件夾和配置。
VSCode 工作區配置文件通用模板創建腳本

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/82482.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/82482.shtml
英文地址,請注明出處:http://en.pswp.cn/web/82482.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

棧-20.有效的括號-力扣(LeetCode)

一、題目解析 對于這個字符串需要左右括號匹配,并且是以正確的順序 二、算法原理 解法1.圖棧 解法2.用else if代替圖棧 正常做法:對于三種左括號直接進棧((,[,{進棧),然后判斷與下一個括號是否匹配,匹配則出棧,不匹…

將音頻數據累積到緩沖區,達到閾值時觸發處理

實現了音頻處理中的 AEC(聲學回聲消除)和 AES(音頻增強)功能,其核心功能是: 數據緩沖管理:將輸入的麥克風和揚聲器音頻數據塊累積到緩沖區中塊處理機制:當緩沖區填滿預設大小&#…

fastadmin+workman環境搭建

一、出現錯誤 從git拉取到本地在配置網址登錄后出現 unserialize(): Error at offset 0 of 17039 bytes 參考:https://blog.csdn.net/yqwwj001/article/details/88688675 找到 \thinkphp\library\think\cache\driver\Flie.php 中的 $content substr($content, …

若依+vue2實現模擬登錄

1、背景 第三方通過鏈接訪問若依項目&#xff0c;該鏈接通過攜帶唯一標識符&#xff1a;phone&#xff08;手機號&#xff09;&#xff0c;項目通過手機號查詢本項目數據庫人員信息實現模擬登錄。 2、實現 2.1. 前端實現 2.1.1 創建專用模擬登錄頁面PhoneLogin.vue <te…

【2025】使用docker compose一鍵部署項目到服務器(4)

目錄&#x1f4bb; 前言一、部署準備二、本地idea配置docker和docker compose執行器三、編寫docker-compose.yml文件四、執行啟動 前言 該篇文章主要是使用idea通過docker-compose.yml構建容器集合并且進行統一管理更新 該專欄主要為介紹通過docker compose實現容器編排部署 &…

Linux Windows之wsl安裝使用簡介

參考資料 如何使用 WSL 在 Windows 上安裝 Linuxwindows11 安裝WSL2全流程舊版 WSL 的手動安裝步驟 目錄 一. 前期準備1.1 確認windows的版本1.2 開啟Linux子系統的支持1.2.1 圖形化方式1.2.2 命令行方式 1.3 安裝wsl軟件1.4 安裝Linux分發版 二. 基本配置2.1 Windows Termina…

matlab模糊控制實現路徑規劃

路徑規劃是機器人和自動駕駛系統中的重要問題之一&#xff0c;它涉及確定如何在給定環境中找到最優路徑以達到特定目標。模糊控制是一種有效的控制方法&#xff0c;可以應用于路徑規劃問題。 路徑規劃算法的目標是在避免障礙物的情況下&#xff0c;找到機器人或車輛從起點到終…

OpenHarmony 5.0橫豎屏界面適配

目錄 一.背景 二.修改位置 三.參考文檔 一.背景 由于需要一套代碼適配橫屏和豎屏設備,所以有些數值的大小可能在豎屏上面適配,在橫屏上面不那么適配了,所以需要橫屏特殊的數值大小(例如:寬高) 二.修改位置 在resources資源文件中新建橫屏適配的文件夾,然后新建自己需…

AlphaFold3服務器安裝與使用(非docker)(1)

1. 服務器顯卡驅動準備 這部分我會詳細記錄一下我踩過的坑及怎樣拯救的&#xff0c;原諒啰嗦啦 ^_^ 1.1 服務器舊配置 1.1.1 nvidia-smi [xxxxxxlocalhost ~]# nvidia-smi Thu May 29 20:54:00 2025 -------------------------------------------------------------…

Java異步編程難題拆解技術

目錄 ?編輯 異步編程的核心概念 Java異步編程的主要實現方式 異步編程的常見難題 解決異步編程難題的策略 性能優化與調試技巧 實際案例分析 未來發展趨勢 異步編程的核心概念 同步與異步的區別阻塞與非阻塞的差異Java異步編程的常見場景&#xff08;如網絡請求、文件…

第五期書生大模型實戰營-《L1G1-玩轉書生大模型 API 之 Browser-Use 實踐》

一、 搭建環境 pip install requests openai 1.2、獲取API https://internlm.intern-ai.org.cn/api/tokens 1.3 運行API from openai import OpenAI from dotenv import load_dotenv import osfrom openai import OpenAI from dotenv import load_dotenv import os# Inter…

基于Web的安全漏洞分析與修復平臺設計與實現

基于Web的安全漏洞分析與修復平臺設計與實現 摘要 隨著信息化進程的加快&#xff0c;Web系統和企業IT架構愈發復雜&#xff0c;安全漏洞頻發已成為影響系統安全運行的主要因素。為解決傳統漏洞掃描工具定位不準確、修復建議不完善、響應周期長等問題&#xff0c;本文設計并實…

深入解析異步爬蟲中的協程原理:從概念到工程實踐

引言 在Web數據抓取領域,同步爬蟲的??單線程阻塞模型??已無法滿足現代應用對效率的需求。據統計,2025年全球Top 1000網站中,89%采用Ajax動態加載技術,傳統爬蟲的平均抓取效率已下降至每秒1.5個頁面。而基于協程的異步爬蟲通過??非阻塞I/O??和??并發調度??,可…

告別硬編碼!用工廠模式優雅構建可擴展的 Spring Boot 應用 [特殊字符]

嗨&#xff0c;各位技術伙伴們&#xff01;&#x1f44b; 在日常的軟件開發中&#xff0c;我們經常面臨需求變更的挑戰。如何構建一個既能滿足當前需求&#xff0c;又能輕松應對未來變化的系統呢&#xff1f;答案往往藏在那些經典的設計模式中。 今天&#xff0c;我們就來聊聊…

【Linux】編譯器gcc/g++及其庫的詳細介紹

前言&#xff1a; 上文我們學到了&#xff0c;LInux中的的編輯器vim【Linux】vim編輯器-CSDN博客 本文來學習LInux中的編譯器&#xff1a;gcc/g gcc是C語言編譯器&#xff0c;g是C編譯器&#xff0c;這兩個的使用一模一樣。這里我們主要使用gcc給大家介紹 1.格式 gcc 被編譯的…

用“紅燒魚”類比說明卷積神經網絡CNN的概念

我們用一個生活中的例子——「廚房做紅燒魚」 的場景&#xff0c;來類比卷積神經網絡中多層卷積核的工作過程。你會發現&#xff0c;卷積層就像廚房里分工明確的廚師團隊&#xff0c;逐步處理食材&#xff0c;最終完成一道復雜的菜品。 &#x1f41f; 生活案例&#xff1a;廚房…

uniapp與微信小程序開發平臺聯調無法打開IDE

經測試屬于網絡問題。本機需要聯網。否則會出現Hbuilder運行微信小程序到模擬器時無法打開 微信開發者工具 這個頁面出不來會一直顯示異常。這期間微信小程序開發工具的端口是通的 需要先聯網

內網穿透之Linux版客戶端安裝(神卓互聯)

選擇Linux系統版本 獲取安裝包 &#xff1a;https://www.shenzhuohl.com/download.html 這里以Ubuntu 18.04為例&#xff0c;其它版本方法類似 登錄Ubuntu操作系統&#xff1a; 打開Ubuntu系統終端&#xff0c;更新版本 apt-get update 安裝運行環境&#xff1a; 安裝C 運…

硬件學習筆記--66 MCU的DMA簡介

DMA&#xff08;Direct Memory Access&#xff0c;直接存儲器訪問&#xff09;是MCU中一種重要的數據傳輸機制&#xff0c;它允許外設與存儲器之間或存儲器與存儲器之間直接傳輸數據&#xff0c;而無需CPU的持續干預。 1、DMA的基本原理 1.1 核心概念&#xff1a; 1&#xf…

DeepSeek本地部署及WebUI可視化教程

前言 DeepSeek是近年來備受關注的大模型之一,支持多種推理和微調場景。很多開發者希望在本地部署DeepSeek模型,并通過WebUI進行可視化交互。本文將詳細介紹如何在本地環境下部署DeepSeek,并實現WebUI可視化,包括Ollama和CherryStudio的使用方法。 一、環境準備 1. 硬件要…