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),表示XXXlolutiondebug目录值
IntDir:中间目录
TargetDir:生成exe或dll文件所在位置,如链接器-常规-输出文件为$(OutDir)$(TargetName)$(TargetExt)(即定义了exe输出位置,也就决定了TargetDit的值),此时TargetDir表示在XXXlolutiondebug
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