vs2017要找到控制台模板,要安裝模塊:

安裝完之后:
新建控制台項目:

不使用預編譯頭:

推薦安裝官方擴展:
https://marketplace.visualstudio.com/items?itemName=VisualStudioProductTeam.ProductivityPowerPack2017
這擴展有很多過小擴展,可以單獨開啟或關閉。

增強的滾動條
簡單說明
這個是2012中的新功能,可以讓我們更快速的定位到代碼。如果一個文件上萬行,通過邊移動滾動條邊查找的方法顯然是低效率的。
滾動條上不同的顏色代表不同的意思
藍色:光標當前所在的位置
紅色:有錯誤的位置
綠色:新添加的代碼
黃色:有改動,且尚未保存的代碼
Ctrl+鼠標左鍵 轉到定義(Ctrl+Click Go to Definition)
按下Ctrl+鼠標左鍵轉到變量/宏等的定義位置
Time Stamp Margin時間戳邊距:
Timestamp margin
Adds the timestamp information to the Output Window in Debug mode: (minutes. Seconds. Milliseconds)
Helps keep a track of running processes in the debug window.

You can customize the time format under Tools >Options > Productivity Power Tools > Other Extensions > Timestamp margin options.
https://docs.microsoft.com/en-us/visualstudio/ide/visual-studio-2017-for-dotnet-developers?view=vs-2017
I need a way to quickly navigate to files or types
Visual Studio 2017 has a feature called Go To All (Ctrl+T). Go To All enables you to quickly jump to any file, type, member, or symbol declaration.
- Change the location of this search bar or turn off the 'live navigation preview' with the gear icon.
- Filter results using our query syntax (for example, "t mytype"). You can also scope your search to just the current document.
- camelCase matching is supported!
ctrl+T很好用。
vs2010使用方案管理項目,一個解決方案下可包含多個項目。
默認情況下,項目屬性的設置的目錄起點為項目配置文件所在的位置,實際上就是項目頭文件和源文件所在的位置。
vs2010中默認建立C++項目,則解決方案總目錄下包含一個sln和一個項目文件夾,在vs2010編譯器中生成debug和release解決方案后,總目錄下還會生成對應的debug和release目錄,存放最終生成的exe或dll文件,同時也會在項目文件夾下生成debug和release目錄(存放的是中間編譯文件obj)。
下面結合例子講一下:solution為創建的解決方案,demo為創建的項目
解決方案solution總目錄如下:
項目demo目錄如下:
項目配置及系統變量關系:
在vs2010的項目屬性頁,會有一些系統變量,如下:
SolutionDir:解決方案目錄
Configuration:指debug或release
ProjectName:項目名字
OutDir:在 常規--輸出目錄 中定義的值,如$(SolutionDir)$(Configuration)\,表示XXX\lolution\debug\目錄值
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