設置VS visual studio


 

 

 

 如果你不喜歡白底黑字的顏色配置,可以更改vs2010所有的顏色(不僅僅是文本編輯器的背景顏色)。

   在VS2010的菜單中的:工具====》擴展管理器===》聯機庫,在其中找到 Visual studio coloer theme editor

然后安裝該庫,這款擴展提供對Visual Studio 2010整個顏色樣式的編輯,它默認提供了8種樣式,我們還可以自定義其顏色樣式。

  建議使用一些牛人已經配置好的顏色。去Visual Studio Programmer Themes Gallery 上面有很多配置好的顏色theme,不過這個是vs2005的,不同版本的vs scheme略有不同。

ide設置 http://msdn.microsoft.com/zh-cn/library/zbhkx167(v=vs.90).aspx,上面說:

什么是設置?

設置是對 IDE 進行自定義,包括窗口布局、編輯器默認設置、IntelliSense 代碼段和可用的對話框選項等,可以保存、導出、導入或重置這些自定義設置,以使 IDE 用起來更加得心應手。

活動設置由兩部分組成:一部分是預定義的自定義設置,這類設置來自第一次啟動 Visual Studio 時所選擇安裝的 .vssettings 文件;另一部分是您對 IDE 所做的任何后續自定義設置。默認情況下,活動設置保存在 Currentsettings.vssettings 中

如何:更改選擇設置

更改選擇設置

  1. “工具”菜單上選擇“導入和導出設置”

  2. “歡迎使用‘導入和導出設置向導’”頁上單擊“導入選定的環境設置”,再單擊“下一步”

  3. “保存當前設置”頁上選擇“是,保存我的當前設置”,然后單擊“下一步”

  4. “要導入哪個設置集合”的列表中選擇一個設置集合,然后單擊“下一步”

  5. “要導入哪些設置”中,展開列表,並僅選擇要應用於當前設置的類別或類別項。

  6. 單擊“完成”

    “重置完成”頁的“詳細信息”下列出了與重置設置有關的所有錯誤.不過沒有這些別人寫的scheme,自己可以手動配置。常用的配置;

    括號匹配: 凡是括號,鼠標點上去后會變色。改為顯眼一點的顏色。

    高亮顯示當前行:突出高亮顯示當前鼠標行,通過工具中字體和顏色選項"當前行(擴展部分)"配置通過改變默認顏色設置

    高亮顯示斷點或當前所在的代碼行:菜單:工具》選項》調試》常規,選中“為斷點或當前語句突出顯示整個行源”項。

      不喜歡默認的顏色,可以在選項>環境》字體和顏色》選擇斷點(啟用),設置新顏色

     Go To Definition:f12,只需把光標放在你想的位置處,不用選中。

visual stduio添加現有文件夾的方法

選擇左側的解決方案,然后點擊菜單【項目】-》顯示所有文件,則會顯示目錄下所有的文件和文件夾。選中它,然后右鍵【包含到項目中】

visual studio 工程目錄,添加文件夾 和添加篩選器 的區別, 請看http://bbs.csdn.net/topics/390838516

看菜單: 項目-->顯示所有文件   
勾上,則在解決方案中按目錄顯示,右鍵菜單可以添加文
不勾上,則在解決方案中按篩選器顯示,右鍵菜單可以添加篩選器

 

 

 vs篩選器filter

使用vs2010開發項目時,有時源碼文件過多,想按功能進行分類管理,這個時候就可以使用“篩選器(filter)”。

添加篩選器很簡單,在項目上右鍵單擊,選擇“添加 | 新建篩選器”,然后命名就可以了。之后向篩選器中添加文件。創建篩選器之后,要注意工程目錄下的“*.filters”文件一定不能刪掉,因為這個文件就是用來記錄篩選器的。

還有一個問題就是,有時候不但希望在vs2010 IDE里面,分類管理文件。還希望這些源碼文件在實際的物理存儲上,也按照篩選器同樣的文件夾層次進行存放。這樣也可以,比如在工程目錄下新建一個DirectShow文件夾,然后按層次創建其子文件夾。不同功能的源碼依據功能分別放在不同的子文件夾里面。然后按照實際文件夾的目錄層次,一級一級創建篩選器,最后在每一級篩選器中添加相應的文件即可。

這樣有一個問題就是頭文件包含麻煩了,可能某個文件需要include的頭文件,在另一個子文件夾里面。這個時候就需要在include的時候,使用“..\(上級目錄)Utilities\CMsgStation.h”、“.\(當前目錄)DirectShow\Device\CVideoDevices.h”等等。這樣比較麻煩,有一個解決方法就是添加工程的“包含(include)目錄”,比如設置為:$(ProjectDir)XXX,其中$(ProjectDir)是vc編譯器的預定義宏,代表當前工程目錄。這樣include XXX目錄下的頭文件yyy.h時,就可以直接include “yyy.h”了。

 

vs修改輸出目錄后遇到的問題:

C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(989,5): warning MSB8012: TargetPath(C:\MyProj\Release\MyProj.dll) does not match the Linker's OutputFile property value (). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Link.OutputFile).
2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(990,5): warning MSB8012: TargetExt(.dll) does not match the Linker's OutputFile property value (). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Link.OutputFile).
2>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(991,5): warning MSB8012: TargetName(MyProj) does not match the Linker's OutputFile property value (). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Link.OutputFile).
這可能導致項目生成不正確。若要更正此問題,請確保 $(OutDir)、$(TargetName) 和 $(TargetExt) 屬性值與 %(Link.OutputFile) 中指定的值匹配

相關資料:

一、VS2010編譯器中常見的環境變量有:
$(OutDir)、$(TargetName) 、 $(TargetExt)、$(ProjectName)、$(TargetFileName)



二、環境變量含義:
解決方案目錄:$(SolutionDir)即為*.sln文件所在文件夾,尾帶   ‘/’
工程目錄:$(ProjectDir) 即 為*.vcproj文件所在文件夾,尾帶   ‘/’   
輸出目錄(OutDir):  $(ProjectDir)$(PlatformName)/$(ConfigurationName) 
中間目錄(IntDir): $(OutDir)/Intermediate 
輸出文件:$(OutDir)/$(ProjectName).exe 
平台名稱:$(PlatformName) 一般是Win32,除非你的工程選項選的是"Itanium"或者"Pocket PC 2003 (ARMV4)"
解決方案配置名稱:$(ConfigurationName) 一般是Debug或者Release,$(PlatformName)\$(ConfigurationName)的一個示范是等於“Win32\Debug”


三、其它
編譯事件支持的命令:
copy/del/xcopy...
如:copy "$(OutDir)$(TargetName)$(TargetExt)" "e:\"
默認輸出文件:$(OutDir)$(TargetName)$(TargetExt),默認等於$(TargetPath)。

 

vs2013新建項目默認屬性:

默認輸出目錄;
 $(SolutionDir)$(Configuration) $(Configuration)為debug或release。

連接器常規-》輸出:$(OutDir)$(TargetName)$(TargetExt)

 這里的連接器輸出實際上是最終的exe輸出位置。如果配置和常規里面的輸出目錄配置不協調,會輸出:

1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets(1186,5): warning MSB8012: TargetPath(F:\vsproject\duilibLearn\Debug\duiLogin.exe) does not match the Linker's OutputFile property value (F:\vsproject\duilibLearn\duiLogin.exe). This may cause your project to build incorrectly. To correct this, please make sure that $(OutDir), $(TargetName) and $(TargetExt) property values match the value specified in %(Link.OutputFile).
1> duiLogin.vcxproj -> F:\vsproject\duilibLearn\Debug\duiLogin.exe

 

 

涉及到的配置:
項目編譯時使用的中間目錄;
項目鏈接的輸出目錄;
項目編譯結束后,拷貝生成的 dll 和 lib 到指定目錄;
項目編譯結束后,拷貝需要的 dll 到輸出目錄;
設置項目的工作目錄;
設置調試時執行的 exe 和工作目錄;


配置時使用到的一些宏:
ConfigurationName   配置名字,通常是Debug或者Release
IntDir              編譯器使用的中間目錄,產出obj文件
OutDir              鏈接器使用的輸出目錄
ProjectDir          項目目錄
ProjectName         項目名字
SolutionDir         解決方案目錄
TargetDir           目標輸出文件所在的目錄
TargetExt           目標輸出的擴展名
TargetFileName      目標輸出文件名,包括擴展名
TargetName          目標輸出名,不包括擴展名
TargetPath          目標輸出文件的全路徑名


下面以 Sticker 為例展示目錄結構設置的過程:
Sticker 目錄結構:
Sticker
    +-- 3rd (第三方庫)
    |   +-- dll
    |   |   +-- debug
    |   |   +-- release
    |   +-- lib
    |   |   +-- debug
    |   |   +-- release
    |   +-- include
    |
    +-- src (源碼)
    |   +-- Sticker
    |   |   +-- Sticker 項目的代碼
    |   +-- StickerLibrary
    |   |   +-- StickerLibrary 項目的代碼
    |   +-- Sticker.sln
    |
    +-- xar (腳本)
    |   +-- Sticker
    |   +-- ...
    |
    +-- doc (文檔)
    |
    +-- bin (可執行文件)
    |   +-- debug
    |   +-- release
    |
    +-- temp (中間目錄)
        +-- compile
        |   +-- debug
        |   +-- release
        +-- link
            +-- debug
            +-- release

1. 創建文件夾 Sticker\src
2. 創建一個空的解決方案 Sticker.sln ,放入 Sticker\src 中
3. 創建項目 Sticker
4. 屬性 --> 配置 設定為“所有配置”,這樣可以同時設定 debug\release 下的配置
5. 配置屬性 --> 常規 --> 中間目錄: $(SolutionDir)..\temp\compile\$(ConfigurationName)
6. 配置屬性 --> 常規 --> 輸出目錄: $(SolutionDir)..\temp\link\$(ConfigurationName)
7. 配置屬性 --> C/C++ --> 常規 --> 附加包含目錄: "$(SolutionDir)..\3rd\include"
8. 配置屬性 --> 鏈接器 --> 常規 --> 附加庫目錄: "$(SolutionDir)..\3rd\lib\$(ConfigurationName)"
9. 配置屬性 --> 鏈接器 --> 輸入 --> 附加依賴項: xxx1.lib xxx2.lib xxx3.lib
10. 配置屬性 --> 生成事件 --> 生成后事件 --> 命令行: 
    md $(SolutionDir)..\bin\$(ConfigurationName)
    copy $(TargetPath) $(SolutionDir)..\bin\$(ConfigurationName)
    copy $(SolutionDir)..\3rd\dll\$(ConfigurationName) $(SolutionDir)..\bin\$(ConfigurationName)
11. 配置屬性 --> 調試 --> 命令: $(SolutionDir)..\bin\$(ConfigurationName)\$(TargetFileName)
12. 配置屬性 --> 調試 --> 工作目錄: $(SolutionDir)..\bin\$(ConfigurationName)\

 

問題:如果編譯成功,但提示無法啟動程序,前提是修改了輸出文件的目錄。

解決方案::項目->屬性,將 “配置屬性” 下的 “調試” 中的 ”命令“  的值改為和 ”鏈接器“ 中 ”輸出文件的值“。

一篇文章:

項目配置及系統變量關系:

在vs2010的項目屬性頁,會有一些系統變量,如下:

SolutionDir:解決方案目錄

Configuration:指debug或release

ProjectName:項目名字

 

IntDir:中間目錄

TargetDir:生成exe或dll文件所在位置,如鏈接器-常規-輸出文件為$(OutDir)$(TargetName)$(TargetExt)(即定義了exe輸出位置,也就決定了TargetDit的值),此時TargetDir表示在XXX\lolution\debug\

TargetName:目標輸出名,不包括擴展名

TargetPath:目標輸出文件的全路徑名

ProjectDir:表示項目目錄值,一般在“調試-工作目錄”中設置該值

TargetExt:擴展名

PlatformToolsetVersion:

ConfigurationName:配置名字,通常是Debug或者Release

默認情況下“輸出目錄”和“輸出文件”對應的目錄值是一樣的。

 

配置屬性

             常規

                      輸出目錄:$(SolutionDir)$(Configuration)\

                      中間目錄:$(Configuration)\ 

                      目標文件名:$(ProjectName)

                      目標文件擴展名:.exe

                      生成日志文件:$(IntDir)\$(MSBuildProjectName).log

            調試

                     命令:$(TargetPath),表示調試器要啟動的exe全名,TargetPath就表示目標輸出文件的全路徑名,所以一般情況下它代表的值就等於“輸出文件”屬性代表的值

                     工作目錄:$(ProjectDir)

C/C++

          預編譯頭

                    預編譯頭輸出文件:$(IntDir)$(TargetName).pch

          輸出文件

                    ASM列表位置:$(IntDir)

                    對象文件名:$(IntDir)

                    程序數據庫文件名:$(IntDir)vc$(PlatformToolsetVersion).pdb

          瀏覽信息

                    瀏覽信息文件:$(IntDir)

鏈接器

          常規

                    輸出文件:$(OutDir)$(TargetName)$(TargetExt)

         清單文件

                   清單文件:$(IntDir)$(TargetName)$(TargetExt).intermediate.manifest

         調試

                  生成程序數據庫文件:$(TargetDir)$(TargetName).pdb

         優化:

                  按配置優化數據庫:$(TargetDir)$(TargetName).pgd

 

 

關於vs輸出目錄,參考:

http://www.mamicode.com/info-detail-507829.html

VS項目屬性的一些配置項的總結(important)

 

vs2010項目屬性配置

 

vs2013新建文件自動保存為utf-8編碼

http://jingyan.baidu.com/article/b907e627b68cb646e7891c28.html

 

在vs2013中設置全局的include和lib方法

在vs2008時設置include和lib都是全局的,也就是說對於每個項目不管是新建的還是以前的,都是公共的,但是在vs2010之后,對於一些全局的include和lib就需要對每個項目來進行設置,太麻煩了,因此這里就說一下在vs2010以及vs2013及以上設置全局的include和lib。

1、首先新建一個IncludeLib項目,然后打開屬性管理器,(注意:默認情況下屬性管理器是不顯示的,要通過視圖->其他窗口->屬性管理器,如下圖1所示),然后就會在解決方案里出現屬性管理器,如下圖2所示:
---------------------  

2、展開IncludeLib項目,然后出現有一個Debug和Release,分別展開其中有Microsoft.Cpp.Win32.user,如下圖所示.

 

3、雙擊Debug中的,然后在彈出的對話框中選擇VC++目錄,設置包含目錄和庫目錄,對應的就是Include和Lib,如下圖所示:

 

 

4、以上是設置Debug,那么用同樣方法可設置Release即可,以后不管是新建的還是舊的項目,默認打開都會被包含。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM