安装Visual Studio 2017
在线安装特定语言
vs_installer.exe --locale en-US
离线安装命令:
vs_enterprise.exe --layout C:\vs2017offline --lang en-US
具体见:Create an offline installer for Visual Studio 2017
代码着色刷新很慢
有时候半天才出来,有时候要切换其他页面才出来,删了这个目录就好了.
C:\Users\Administrator\AppData\Local\Microsoft\VisualStudio\11.0\Extensions\2ehgi10w.if1\Data
Extensions下会有几个目录,找到最大的那个,删了下面的Data.删的时候先删到回车站,打开VC试一下是否正常,不正常可以恢复后再删其他的.
多折腾试下,碰巧可以了,就很好用了.
可能是装了升级补丁引起的,也可能和VA有关.用起来很不爽.删了就好了.
快捷键
函数域内跳转 需VA辅助
VA.ScopeNext\scopePrevious\ObjectBrowsingScope
Alt+arrow down\up
DX9包含属性,适用于VS2012
/Files/flyindark/DX9PropertySheet.7z
通过点击“视图-->属性管理器”打开属性窗口,选中项目,右键导入本地属性文件即可。
升级到2012后自动编译FX造成报错
低版本的项目将.fx文件包含到项目了,升级到VS2012后自动补全了一个HLSL编译,然后报错,例如
"HLSL Compiler Error error X3501: 'main': entrypoint not found",百思不得其姐,谢谢google,原来是如此,将其他排除项目外不编译即可。
技巧:查看内置预定义宏
MSDN关键字“Pre-defined Macros”
技巧:在名字空间下包含include文件后,include文件中的类定义会被定义到这个名字空间下
忠告:不要有侥幸心理升级IE,一般会造成JS解析相关的bug造成VS部分UI无法使用。
编译错误:"fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt"
解决:直接google错误,栈溢出网站上有解答,简单操作:将VC11中的"cvtres.exe"覆盖到VC10中同名文件即可(C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\cvtres.exe)
修改环境变量
增加或修改
- setx ANDROID_SDK "K:\Android Develop\SDK\adt-bundle\sdk"
附加到path(警告:这种方式修改PATH非常危险,当PATH长度超过1024,这个修改会发生1024个字符截断,丢失原来的PATH字符)
- setx PATH "%PATH%;K:\Android Develop\SDK\adt-bundle\sdk\tools" /M
- setx PATH "%PATH%;K:\Android Develop\SDK\adt-bundle\sdk\platform-tools" /M
工具修改
Rapid Environment Editor(免费且干净)
操作相关
编辑器中光标自动定位到最后一行 |
"工具/选项/文本编辑器/所有语言"设置中的虚拟空间 |
在代码和文本编辑器中编写代码 |
Solution Explorer 与视图文件同步 |
Projects And Solutions --> General --> Track Active Items ... |
|
|
|
|
IDE设置
多行标签页:Tools -> Options -> Environment -> Tabs and Windows -> Show pinned tabs in separate row
编译时输出窗口信息:Options->Projects and Solutions -> VC++ Project Settings
大括号块的outline:Option-Text Editor-C/C++-Outline-State Blocks
VS展开C++包含的头文件
/showIncludes
https://msdn.microsoft.com/en-us/library/hdkef6tk.aspx
or:
Project Settings -> Configuration Properties -> C/C++ -> Advanced -> Show Includes
ProFactor IncludeManager
http://www.profactor.co.uk/includemanager.php
Tool to track #include dependencies [closed]
http://stackoverflow.com/questions/42308/tool-to-track-include-dependencies
VA查看
VASSISTX -> Tools -> List include Files
‘AlwaysCreate’ 造成工程总是重新编译
简单来说造成的原因是某些h文件或readme.txt文件包含在工程里,但是在磁盘确实被删除了。
如果太多文件不清楚如何找出丢失的,可以用这个工具(木有实际测试):
http://blogs.msdn.com/b/dsvc/archive/2013/03/12/alwayscreate-forces-project-to-be-re-built.aspx
HRESULT转字符串
Where's DXERR.LIB?
C++单步调试缓慢
ue4单步调试一下卡几秒,其他小工程还算正常。通过导入导出配置,发现在导入的配置Options\Debugging中有若干开关被打开,造成调试缓慢。
什么其他用管理员权限启动,禁用symbol服务器,删除过多的断点,都是扯淡
getenv
在VS中用C 函数getenv("name")获取环境变量,如果修改了变量,需要重启VS
升级到VS2015引起__vsnwprintf未定义
Error:
dxerr.lib(dxerrw.obj) : error LNK2019: unresolved external symbol __vsnwprintf
Fix:
包含legacy_stdio_definitions.lib
unresolved symbol errors
dumpbin.exe /LINKERMEMBER somelibrary.lib
Visual C++ change history 2003 - 2015
Visual C++ change history 2003 - 2015
Effects11的问题
如果有各种版本问题,考虑直接编译源码:https://github.com/Microsoft/FX11.git
D3DCompileFromFile问题:DIRECT SDK和Windows下各有一份D3DCompiler.lib,用dumpbin可以看到DIRECT下没有这个符号,将DIRECTX下的D3DCompiler.lib改个名字,链接Windows下的库
C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Lib\x86\d3dcompiler.lib
C:\Program Files (x86)\Windows Kits\8.0\Lib\win8\um\x86\d3dcompiler.lib
d3dcompiler_47.dll
去这里找
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin
64bit去上面目录的amd64下去找
vs2015.3.ent_enu.iso
http://download.microsoft.com/download/8/4/3/843ec655-1b67-46c3-a7a4-10a1159cfa84/vs2015.3.ent_enu.iso
查看cl.exe和link.exe命令行
Tools>Projects and Solutions>Build and Run>MSBuild
正则表达式中的区块替换
标记区块用(),替换区块用${1}
修复SLN文件关联图标
taskkill /im explorer.exe /f
cd /d %userprofile%\appdata\local
del iconcache.db /a
start explorer.exe
exit
Visual Assist清理
HKEY_CURRENT_USER\Software\Whole Tomato
VS2017 Enterprise
NJVYC-BMHX2-G77MM-4XJMR-6Q8QF
<占位标题>
<占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述>
<占位项1>
<占位项2>
<占位标题>
<占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述>
<占位项1>
<占位项2>
<占位标题>
<占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述占位描述>
<占位项1>
<占位项2>