vscode不能跳轉到同一個工作區的其他文件夾

明白了,你說的“第二種情況”是指:

你先打開的是項目文件夾(比如 MyProject),然后通過 VS Code 的“添加文件夾到工作區”功能,把 ThirdPartyLib 文件夾添加進來。
結果,項目代碼里 #include “ThirdParty/SomeClass.h” 這樣的頭文件無法跳轉進 ThirdPartyLib 中。

?

? 問題的本質

在 VS Code 中,“添加文件夾到工作區”只是讓你能同時瀏覽多個文件夾,但:
? 語言服務器(如 clangd 或 Microsoft C++ extension)默認仍以“主項目文件夾”為索引根目錄。
? 被添加進來的 ThirdPartyLib 文件夾 不會自動成為 include 路徑或索引路徑。

所以,雖然你在左側資源管理器能看到 ThirdPartyLib,但語言服務器并不知道它是你項目的一部分。

?

🔧 正確做法(基于你想保持多文件夾工作區)

? 方法一:使用 compile_commands.json + clangd(推薦)

如果你使用 clangd,只需要保證:
1. 你的編譯系統(比如 CMake)生成的 compile_commands.json 中,-I 包含了 ThirdPartyLib 的路徑;
2. .vscode/settings.json 或 .clangd 文件中告訴 clangd 去哪里找這個 compile_commands.json 文件。

示例(.vscode/settings.json):

{
“clangd.arguments”: [“–compile-commands-dir=…/build”],
“clangd.path”: “clangd”
}

或 .clangd 文件內容:

CompileFlags:
CompilationDatabase: …/build

只要 -I…/…/ThirdPartyLib 在 compile_commands.json 里,跳轉就會成功。

?

? 方法二:手動添加 includePath(適配 Microsoft C++ 擴展)

如果你使用的是微軟官方的 C++ 插件,在 .vscode/c_cpp_properties.json 中添加 includePath:

{
“configurations”: [
{
“name”: “Mac”,
“includePath”: [
w o r k s p a c e F o l d e r / ? ? " , " {workspaceFolder}/**", " workspaceFolder/??","{workspaceFolder:ThirdPartyLib}/**”
],

}
],
“version”: 4
}

${workspaceFolder:ThirdPartyLib} 是 VS Code 多文件夾工作區支持的語法,表示名為 ThirdPartyLib 的文件夾的路徑。

你可以在 .code-workspace 文件中看到每個文件夾的名字。

?

? 方法三:改為直接打開上層總目錄(最直接)

項目結構是:

/WorkspaceRoot
/MyProject
/ThirdPartyLib

你直接 code WorkspaceRoot/,跳轉最順暢、無需特殊配置。

?

? 總結

方法 優點 適合你這種多文件夾場景嗎
打開上層總目錄 最簡單 ? 推薦
compile_commands.json + clangd 精確強大 ? 推薦
includePath 修改 可行但繁瑣 ? 可選
只添加到工作區 ? 無效 ? 不推薦

?

如果你告訴我你的項目結構、用的是哪種插件(clangd / ms-vscode.cpptools),我可以幫你生成一個具體配置。需要嗎?

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

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

相關文章

FastAPI 和 MongoDB 實現請求頭參數處理的示例,并在 React 中進行渲染

FastAPI 和 MongoDB 后端 安裝必要的庫 安裝 FastAPI、Uvicorn、Motor(用于 MongoDB 的異步驅動)和 Pydantic(用于數據驗證)。 pip install fastapi uvicorn motor pydantic創建 FastAPI 應用 創建一個文件 main.py,并…

技術倫理雙軌認證如何重構AI工程師能力評估體系——基于AAIA框架的技術解析與行業實證研究

引言:AI工程師能力評估的范式轉型 2025年全球人工智能產業呈現出兩大特征:技術迭代加速與監管框架完善。據Gartner數據顯示,全球75%的企業在AI項目部署中遭遇技術倫理混合型難題,傳統單維度技術認證體系已無法滿足產業需求。本文…

03.Golang 切片(slice)源碼分析(二、append實現)

Golang 切片(slice)源碼分析(二、append實現) 前言: Golang 切片(slice)源碼分析(一、定義與基礎操作實現) 在前面的文章我們介紹了,切片的結構體與創建\擴容…

mysql常用方法

mysql常用方法 一、基本用法 -- MySQL創建唯一索引 CREATE UNIQUE INDEX 索引名 ON 表名(列名1,列名2,...); --也可以使用ALTER TABLE語句給現有表添加唯一索引(UNIQUE) ALTER TABLE 表名 ADD CONSTRAINT 索引名 UNIQUE KEY(列名1,列名2,...); alter t…

STM32F103C8T6板子使用說明

第一章 計算機體系結構(了解) 后續在板子上開發的時候,需要考慮是否有操作系統 方式一:有操作系統,通過c庫通過os api操作硬件方式二:無操作系統, 通過c庫通過固件庫操作硬件 第二章 STM32開發板概述 板子/開發板&…

PBR材質-Unity/Blender/UE

目錄 前言: 一、Unity: 二、Blender: 三、UE: 四、全家福: 五、后記: 前言: PBR流程作為表達物理效果的經典方式,很值得一學。紋理貼圖使用的是上一期的Textures | cgbookcas…

【生產實踐】Linux中/usr/bin、/usr/sbin與/usr/local的關系解析(2025年技術規范)

一、核心定位與功能劃分 /usr/bin:用戶級通用命令庫 ? 定位:存儲系統預裝的用戶級可執行文件,這些命令通常由Linux發行版官方軟件包管理器(如APT、YUM)安裝,屬于系統默認功能的一部分。 ? 示例命令&#…

智能網聯汽車 “中央計算” 博弈:RTOS 與跨域融合的算力分配挑戰

一、引言 隨著智能駕駛技術的飛速發展,汽車逐漸從傳統的交通工具演變為移動的智能終端。智能網聯汽車的核心競爭力日益體現在其強大的計算能力和高效的算力管理上。汽車電子電氣架構(EEA)正經歷從分布式架構向 “中央計算 區域控制” 架構的…

【PDF】使用Adobe Acrobat dc添加水印和加密

【PDF】使用Adobe Acrobat dc添加水印和加密 文章目錄 [TOC](文章目錄) 前言一、添加保護加密口令二、添加水印三、實驗四、參考文章總結 實驗工具: 1.Adobe Acrobat dc 前言 提示:以下是本篇文章正文內容,下面案例可供參考 一、添加保護加…

python面試實戰經驗分享

2025/3/28第一面 杭州實在智能 見習python開發工程師 1、Python方法中參數默認值可以是列表或者字典嗎? 在Python中,函數參數的默認值可以是列表或字典,列表或者字典在初始化應在函數體內,如果不正確處理,可能會導致所有調用都共享同一個列表。 2、協程、線性和進程 進程…

MIST:一鍵解鎖 macOS 歷史版本,舊系統安裝不再難!

在 Mac 電腦的使用過程中,你是否遇到過這些困擾?為了運行一款經典設計軟件,新系統卻無法兼容;或是想給老舊 Mac 設備升級,卻找不到適配的系統版本。而 App Store 里,舊版 macOS 安裝包就像 “隱藏副本”&am…

win10 局域網內聊天

在 Windows 10 的局域網 中,如果你想實現 多個用戶之間的聊天功能,可以選擇以下幾種方案,取決于你需要的是: ? ? 命令行純文字聊天(如 Linux talk) ? ? 圖形界面聊天室 ? ? 局域網廣播消息 ? ? 多人…

Android CountDownTimer重寫

Android 倒計時器重寫,實現可重復使用,動態修改計時時間 CountDownTimerRew 是一個可重寫、動態修改計時時間的 Android 倒計時器類。它允許開發者設置倒計時總時長、間隔時間,并通過 onTick 和 onFinish 方法實現定時回調。該類支持動態修改…

dp自動化登陸之hCaptcha 驗證碼

hCaptcha 是一種常見的驗證碼服務,用于區分人類用戶和自動化程序。由于其基于圖像識別和行為分析,下面介紹如何使用自動化點擊驗證碼完成登陸。 思路:登陸目標網站觸發驗證碼,截圖并發給打碼平臺返回坐標,模擬人工點擊…

【工作記錄】crmeb后端項目打開、運行

1、下載代碼 1)安裝git 不再詳述 2)git拉代碼 項目地址如下,在vscode-分支中拉代碼 # 克隆項目 git clone https://gitee.com/ZhongBangKeJi/crmeb_java/ 截圖如下是已經成功拉下來 注意安裝對應版本 2、maven配置 安裝配置見&#x…

敏捷軟件開發與Scrum

目錄 一、敏捷軟件開發 敏捷開發原則 敏捷開發特點 二、Scrum (一)Scrum 基礎知識

Three.js模型材質調整與性能優化實戰

一、材質基礎調整 1.1 顏色與透明度控制 通過Material.color屬性可直接修改材質顏色: material.color new THREE.Color(0xff0000); // 紅色結合opacity屬性實現透明效果: material.opacity 0.5; // 50%透明度如需動態調整,可通過Color.…

Flutter速成指南:不懂編程也能10天開發專業級App

Flutter速成指南:不懂編程也能10天開發專業級App 🚀 輕松構建漂亮的跨平臺應用 📑 目錄 一、Flutter是什么? 為什么選擇Flutter?Flutter工作原理 二、環境搭建與命令行 安裝Flutter SDK常用Flutter命令創建第一個項目…

【面試真題】王者榮耀億級排行榜,如何設計?

目錄 一、數據庫 order by 二、Redis 的zset 三、抗億級數據存在的問題 3.1 熱點 key 問題 3.1.1 多級緩存(RedisJVM本地緩存) 3.1.2 讀寫分離 從庫負載均衡 3.1.3 分片Key設計 3.2 內存爆炸 3.2.1 縮短鍵名 3.2.2 分片存儲 3.3 數據持久化風…

Java 語法基礎(筆記)

java 的數據類型 基本類型 Java 有八種基本類型: byte:1 字節,-128~127short:2 字節,-32768~32767int:4 字節,-2147483648~2147483647long:8 字節,-92233720368547758…