的笔记

随时随地编辑

Visual Studio记录

安装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>

  • posted on 2013-08-14 22:03 的笔记 阅读(866) 评论(0)  编辑 收藏 引用


    只有注册用户登录后才能发表评论。
    【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
    网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理