1. 程式人生 > >VS中C++ 專案重新命名

VS中C++ 專案重新命名

應該都有過這樣的經歷,在Visual studio中建立解決方案,新增幾個專案進去,然後開始愉快的敲程式碼...。寫程式碼正歡的時候,卻總是感覺那裡有些不舒服,一細看,這專案名稱取的真心挫,修改個吧。直接右擊專案名->重新命名,修改一個讓自己舒心的名稱。然而,真的就這麼簡單麼。開啟專案所在資料夾,怎麼資料夾名字還是原來的那個啊,對於有強迫症的人來說這是不能認的。改了!然而,重新開啟解決方案卻發現,修改名稱的那個專案載入失敗...。具體如下圖

顯然,這麼粗暴的修改是不行的。要想正確的修改專案的名稱,首先要明白Visual studio 各個檔案的組織方式。在VS中,最頂級的是解決方案 Solution

,其可以包含多個專案 Project,在Project中包含的就是原始碼(.cpp,.h)。只要是在VS下工作,至少有一個Solution和一個或者多個Project。當新建一個專案時,預設的會為該專案建立一個同名的解決方案,如下圖:

Solution Project

在VS中,Solution有一個相對應的solutionname.sln檔案,該檔案中儲存瞭解決方案中包含的專案及專案所在的位置。每一個專案隊友一個對應的projectname.vcxproj,該檔案中儲存了專案的名稱,專案中包含的.h .cpp檔案及其它一些專案的屬性。

上圖是sample.sln的內容,VisualStudioVersion=12.0

指出該解決方案的是VS2013的,能夠開啟該解決方案的最小版本MinimumVisualStudioVersion=10.0。後面就是該solution中包含的兩個專案GifGenerator和Threadsafe_queue,及其所在的位置。


上圖是Threadsafe_queue專案的vcxproj檔案中ProjectName所對應的節點,直接右擊專案->重新命名修改的只是這裡的值。

修改專案名稱

直接右擊專案->重新命名只是改了project的vcxproj檔案中的ProjectName的值,而如果手動修改了專案資料夾的名稱,就會造成解決方案按照其sln檔案載入對應的專案時,找不到正確的專案路徑,所以會載入失敗。
有了以上的描述,再來修改專案的名稱就簡單了,有以下幾個步驟:

  1. 右擊專案-> 重新命名,修改一個高大上的名稱
  2. 修改專案對應的專案資料夾的名稱及其對應的vcxproj檔名稱
  3. 修改解決方案的sln檔案,將專案名稱和專案路徑修改為正確的值。

Summary

一個VS專案看起來有很多檔案,感覺雜亂無章。其中的很多檔案是編譯器生成的(編譯器所需的自動提示,符號表等),真正構建一個解決方案的檔案也就那麼幾個。

如上圖,一個解決方案下有一個sln檔案及其包含的兩個專案的資料夾。而每一個專案除了其所包含的.cpp .h原始碼檔案外,其餘的就兩個projcetName.vcxproj是上面提到的project檔案;另一個就是projectName.vcxproj.filters 檔案,這個檔案儲存了在專案中的原始碼檔案檔案的分組情況,例如常見的標頭檔案,原始檔,也可以新增自定義的分組,這些資訊就儲存在該檔案中。有了這些瞭解以後,將專案託管到git上,就知道了那些檔案應該push,那些檔案應該ignore了。