VS中C++ 項目重命名

應該都有過這樣的經歷,在Visual studio中創建解決方案,添加幾個項目進去,然后開始愉快的敲代碼...。寫代碼正歡的時候,卻總是感覺那里有些不舒服,一細看,這項目名稱取的真心挫,修改個吧。直接右擊項目名->重命名,修改一個讓自己舒心的名稱。然而,真的就這么簡單么。打開項目所在文件夾,怎么文件夾名字還是原來的那個啊,對于有強迫癥的人來說這是不能認的。改了!然而,重新打開解決方案卻發現,修改名稱的那個項目加載失敗...。具體如下圖
439761-20161008225959285-1604276484.jpg

顯然,這么粗暴的修改是不行的。要想正確的修改項目的名稱,首先要明白Visual studio 各個文件的組織方式。在VS中,最頂級的是解決方案 Solution,其可以包含多個項目 Project,在Project中包含的就是源代碼(.cpp,.h)。只要是在VS下工作,至少有一個Solution和一個或者多個Project。當新建一個項目時,默認的會為該項目創建一個同名的解決方案,如下圖:
439761-20161008230016395-2037868835.png

Solution Project

在VS中,Solution有一個相對應的solutionname.sln文件,該文件中保存了解決方案中包含的項目及項目所在的位置。每一個項目隊友一個對應的projectname.vcxproj,該文件中保存了項目的名稱,項目中包含的.h .cpp文件及其它一些項目的屬性。
439761-20161008230031317-1269198451.png

上圖是sample.sln的內容,VisualStudioVersion=12.0指出該解決方案的是VS2013的,能夠打開該解決方案的最小版本MinimumVisualStudioVersion=10.0。后面就是該solution中包含的兩個項目GifGenerator和Threadsafe_queue,及其所在的位置。

439761-20161008230037848-1632266977.png
上圖是Threadsafe_queue項目的vcxproj文件中ProjectName所對應的節點,直接右擊項目->重命名修改的只是這里的值。

修改項目名稱

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

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

Summary

一個VS項目看起來有很多文件,感覺雜亂無章。其中的很多文件是編譯器生成的(編譯器所需的自動提示,符號表等),真正構建一個解決方案的文件也就那么幾個。
439761-20161008230054473-1107200875.png

如上圖,一個解決方案下有一個sln文件及其包含的兩個項目的文件夾。而每一個項目除了其所包含的.cpp .h源碼文件外,其余的就兩個projcetName.vcxproj是上面提到的project文件;另一個就是projectName.vcxproj.filters 文件,這個文件保存了在項目中的源代碼文件文件的分組情況,例如常見的頭文件,源文件,也可以添加自定義的分組,這些信息就保存在該文件中。有了這些了解以后,將項目托管到git上,就知道了那些文件應該push,那些文件應該ignore了。

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

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

相關文章

Java GregorianCalendar getActualMinimum()方法與示例

GregorianCalendar類getActualMinimum()方法 (GregorianCalendar Class getActualMinimum() method) getActualMinimum() method is available in java.util package. getActualMinimum()方法在java.util包中可用。 getActualMinimum() method is used to get the actual minim…

axure9數據統計插件_WMDA:大數據技術棧的綜合實踐

一、概述WMDA是58自主開發的用戶行為分析產品,同時也是一款支持無埋點的數據采集產品,只需要在第一次使用的時候加載一段SDK代碼,即可采集全量、實時的PC、M、APP三端以及小程序的用戶行為數據。同時,為了滿足用戶個性化的數據采集…

Java Collections unmodifiableCollection()方法與示例

集合類unmodifiableCollection()方法 (Collections Class unmodifiableCollection() method) unmodifiableCollection() method is available in java.util package. unmodifiableCollection()方法在java.util包中可用。 unmodifiableCollection() method is used to get an un…

openfoam安裝中出現allmake error_如何更新OpenFOAM的版本?

這是協作翻譯的第四章,翻譯完感覺挺有意思的,分享給大家一起看看。4.更新OpenFOAM版本4.1 版本管理OpenFOAM以兩種不同的方式分發。一種方式是使用Git倉庫下載的倉庫版本。倉庫版本的版本號由附加的x標記,例如 OpenFOAM2.1.x。該版本會經常更…

java 根據類名示例化類_Java類類的requiredAssertionStatus()方法和示例

java 根據類名示例化類類的類requiredAssertionStatus()方法 (Class class desiredAssertionStatus() method) desiredAssertionStatus() method is available in java.lang package. requiredAssertionStatus()方法在java.lang包中可用。 desiredAssertionStatus() method is …

python中計算排列組合的函數_Python實現的排列組合計算操作示例

本文實例講述了Python實現的排列組合計算操作。分享給大家供大家參考,具體如下:1. 調用 scipy 計算排列組合的具體數值>> from scipy.special import comb, perm>> perm(3, 2)6.0>> comb(3, 2)3.02. 調用 itertools 獲取排列組合的全部…

java日歷類add方法_Java日歷setMinimalDaysInFirstWeek()方法與示例

java日歷類add方法日歷類setMinimalDaysInFirstWeek()方法 (Calendar Class setMinimalDaysInFirstWeek() method) setMinimalDaysInFirstWeek() method is available in java.util package. setMinimalDaysInFirstWeek()方法在java.util包中可用。 setMinimalDaysInFirstWeek(…

相同布局在不同手機上顯示不同_不懂響應式,不同尺寸屏幕下的頁面很難達到最佳效果...

讓用戶在不同設備和尺寸的屏幕下看的頁面顯示效果更佳,屏幕空間利用更高,操作體驗更統一,交互方式更符合習慣。本文主要圍繞什么是響應式,如何搭建響應系統,響應式網站解析 三個部分進行闡述,在項目中提前定…

Java ByteArrayInputStream markSupported()方法與示例

ByteArrayInputStream類markSupported()方法 (ByteArrayInputStream Class markSupported() method) markSupported() method is available in java.util package. markSupported()方法在java.util包中可用。 markSupported() method is used to check whether this ByteArrayI…

markdown 流程圖_測試了12款Markdown編輯器,推薦一個最好用的!

有很多喜歡寫博客的小伙伴問我,這個代碼筆記的格式怎么弄的簡潔又好看,雖然csdn里面有Markdown的書寫模式,但是我還是想推薦一款比較好用的寫筆記的編輯器 - Typora。相信很多小伙伴都在使用吧,這個一直是我最喜歡的 markdown 編輯…

小程序 || 語句_C ++條件語句| 查找輸出程序| 套裝2

小程序 || 語句Program 1: 程序1&#xff1a; #include <iostream>#include <stdio.h>using namespace std;int main(){int num 0;num printf("%d ", printf("%d ", printf("ABC")));if (num 2) {cout << "INDIA&quo…

python爬取天氣預報源代碼_python抓取天氣并分析 實例源碼

【實例簡介】Python代碼抓取獲取天氣預報信息源碼講解。這是一個用Python編寫抓取天氣預報的代碼示例&#xff0c;用python寫天氣查詢軟件程序很簡單。這段代碼可以獲取當地的天氣和、任意城市的天氣預報&#xff0c;原理是根據url找到網站截取相應的數據展現。python抓取廣州天…

Linux編譯程序源碼環境,Linux下對nodejs環境進行源碼編譯并部署云應用

Node 是一個讓 JavaScript 運行在服務端的開發平臺&#xff0c;它讓 JavaScript 成為與PHP、Python、Perl、Ruby 等服務端語言平起平坐的腳本語言。該環境安裝非常簡單&#xff0c;這里簡單記錄下linux(centos環境下)的源碼安裝&#xff0c;做個記錄。平臺&#xff1a;centos 6…

endswith方法_帶有示例JavaScript字符串endsWith()方法

endswith方法字符串endsWith()方法 (String endsWith() Method) endsWith() method is a string method in JavaScript, it is used to check whether a string ends with a specified substring or not. EndsWith()方法是JavaScript中的字符串方法&#xff0c;用于檢查字符串是…

mysql多行合并成一行_數據文件合并與拆分

在數據處理業務中&#xff0c;經常要把文件結構相同或近似相同的數據文件合并成一個文件&#xff0c;或者將一個比較大的數據文件拆分成小的數據文件。本文將介紹文本文件和 Excel 文件合并及拆分會遇到的幾種情況&#xff0c;并提供用 esProc SPL 編寫的代碼示例。esProc 是專…

日期setMinutes()方法以及JavaScript中的示例

JavaScript日期setMinutes()方法 (JavaScript Date setMinutes() method) setMinutes() method is a Date class method, it is used to set the minutes to the Date object with a valid minutes value (between 00 to 59). setMinutes()方法是Date類的方法&#xff0c;用于將…

suse linux增加新磁盤分區,Virtualbox中Linux添加新磁盤并創建分區

引言&#xff1a;我們常常在使用系統的時候突然發現&#xff0c;哎呦~~~我們的磁盤空間不夠用啦&#xff01;我遇到常見的就是數據庫數據暴增&#xff0c;預留的空間沒有啦&#xff0c;只好新添加磁盤&#xff0c;在VB虛擬機上就可以實現&#xff0c;往往苦于沒有圖文并茂的好資…

Java SecurityManager checkMemberAccess()方法與示例

SecurityManager類的checkMemberAccess()方法 (SecurityManager Class checkMemberAccess() method) checkMemberAccess() method is available in java.lang package. checkMemberAccess()方法在java.lang包中可用。 In checkMemberAccess() method we access public members …

arcgis字段計算器無法賦值_Arcgis空間連接工具的妙用

?Arcgis功能真的無比強大&#xff0c;讀書時一般只會用到一些常見的&#xff0c;工作后挖掘了很多新功能&#xff0c;數據處理效率大幅提升&#xff0c;個人覺得arcgis是最強大最好用的gis軟件&#xff01;本節給大家分享下空間連接功能的兩個妙用。空間連接功能很多giser應該…

linux重裝hal服務安裝,linux ubuntu 安裝微信客戶端

下載(我的系統是32 位的)rootmarhal:/opt# wget https://github.com/geeeeeeeeek/electronic-wechat/releases/download/V2.0/linux-ia32.tar.gz解壓rootmarhal:/opt# tar xvf linux-ia32.tar.gz下載微信圖標移動到解壓目錄rootmarhal:/home/marhal/下載# mv wechat.ico /opt/e…