Ø 简介
Visual Studio 使用技巧是本人在工作或学习过程中遇到的一些问题,以及对应的解决方法,以文档或博客的形式记录下来,以备后续遇到相同问题时可以快速解决,如果能帮助到其他同学,也是一件快乐的事情。包括以下内容:
1. Visual Studio 的所有历史版本
2. VS 调试取消十六进制
3. VS 快速重写父类成员
4. 解决 VS 运行缓慢的问题
5. 设置 VS 字体与背景色
6. 解决 VS 一个解决方案中包含多个 Web 项目时(Web Form/MVC/Web API),启动调试就会启动所有的 Web 项目
7. 设置 VS 调试时可编辑
8. 设置 VS 关闭调试时不关闭IIS Express(测试VS2013)
9. VS 安装Unit Test Generator
10. VS 生成 DLL 时,选择Debug可生成包含在条件编译符号中的代码,选择Release则不会包含
11. 设置是否输出*.pdb文件
12. *.pdb文件的作用
13. 设置(旧版本 Web 项目)是否输出*.pdb文件
14. 设置 VS 发布时同时发布*.pdb文件
15. 设置 VS 2015中 .NET Framework 框架智能提示与注释英文转中文
16. 生成报错:类似“无法将文件“objDebugYoule.Api.Requester.dll”复制到“binYoule.Api.Request”
17. 给 C# 生成的程序集中的类的属性与方法添加注释
18. 设置 VS 2010 菜单栏的前进按钮和后台按钮
19. 设置 VS 2013 滚动条为缩略图模式
20. 解决多个 Poroject(*.sln) 引用同一个类库,生成项目时替换类库 ProjectGuid 的问题
1. Visual Studio 的所有历史版本
1) Visual Studio .NET
2) Visual Studio .NET 2003
3) Visual Studio 2005
4) Visual Studio 2008
5) Visual Studio 2010
6) Visual Studio 2012
7) Visual Studio 2013
8) Visual Studio 2015
9) Visual Studio 2017
2. VS 调试取消十六进制
菜单栏取消“十六进制”即可,如图:
3. VS 快速重写父类成员
1) 在子类中直接敲 override + 空格,就会显示可以重写的父类成员,如图:
2) 选中后回车,如图:
4. 解决 VS 运行缓慢的问题
1) 重置VS环境:在VS命令提示符下,执行devenv.exe/resetuserdata,清理VS缓存。
2) 如果安装了VS助手,也可尝试下清理VS助手,但本人没试过。
5. 设置 VS 字体与背景色
1) 可选字体:
Fixedsys(VS2013/VS2015)
Fixedsys Excelsior 3.01(VS2010/VS2013/VS2015)
2) 可选颜色
1. 苹果绿 RGB 204,255,204 #CCFFCC
2. 杏仁黄 RGB 250,249,222 #FAF9DE
3. 青草绿 RGB 227,237,205 #E3EDCD
4. 海天蓝 RGB 220,226,241 #DCE2F1
5. 豆沙绿 RGB 199,237,204 #C7EDCC(推荐)
6. 灰色 RGB 235,235,228 #EBEBE4
7. 自定义 RGB 220,249,251 #DCE2F1
3) 设置步骤
1. 下载字体:http://www.fixedsysexcelsior.com/
2. 安装字体:控制面板 -> 字体,复制下载的“FSEX300.ttf”文件至字体列表,系统会自动完成字体安装。(只有安装该字体后VS中才有 Fixedsys Excelsior 3.01字体)
3. 打开VS,选择菜单栏 -> 工具 -> 选项 -> 环境 -> 字体和颜色,选择字体:Fixedsys/Fixedsys Excelsior 3.01,大小:12。
4. 设置背景色:红=199,绿=237,蓝=204。
6. 解决 VS 一个解决方案中包含多个 Web 项目时(Web Form/MVC/Web API),启动调试就会启动所有的 Web 项目,加载在 IIS Express 中,解决方法:
1) 选择不需要启动的 Web 项目,按 F4 或者查看属性窗口,将“总是在调试是启动”改为 False 即可,如图:
7. 设置 VS 调试时可编辑,打开菜单栏 -> 工具 -> 选项 -> 调试 -> 常规 –> 将启用“编辑并继续”的勾去掉即可,如图:
注意:需要在未调试时才能设置。
8. 设置 VS 关闭调试时不关闭IIS Express(测试VS2013)
1) 全局设置:打开VS -> 工具 -> 选项 -> 调试 -> 编辑并继续,取消选择“编辑并继续”的选择框。这样所有的项目就会关闭调试而不关闭 IIS Express。
2) 单独项目设置:右键 -> Web项目属性 -> 选择Web -> 将“启用编辑并继续”的勾去掉,OK。
9. VS 安装Unit Test Generator
1) VS菜单栏 -> 工具 -> 扩展和更新 -> 搜索“Unit Test Generator” -> 安装。
2) Win10 + VS2013 安装 Unit Test Generator 失败时,安装 Microsoft Visual Studio 2013 Update 5 即可,下载:https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=48129
10. VS 生成 DLL 时,选择Debug可生成包含在条件编译符号中的代码,选择Release则不会包含。
11. 设置是否输出*.pdb文件,右键类库属性 -> 生成 -> 高级 -> 输出中的调试信息 - 设置为full则会生成*.pdb文件,设置none则不会生成。
12. *.pdb文件的作用
Ø 简介:PDB 全称 Program Database,不知道中文翻译叫什么。相信使用过VS的人对于这个拓展名的文件不会陌生,这个文件主要会存储对应模块(dll或者exe)内部的所有符号,以及符号对应的地址、文件名和行号。
这个文件会在我们调试的时候被使用到,这个东西可以理解为调试的时候应用程序和源文件之间的一个桥梁。正是归功于这个文件,我们才能在debug的时候看到程序当前执行相对应的代码和监视到一些变量。参考:.NET PDB文件到底是什么?
链接:https://www.cnblogs.com/8335IT/p/8337565.html
1) 该文件可用于抛出异常时获取产生异常的文件以及行号,如果没有此文件则异常对象中就不会包含此信息。
2) 如果设置为none,也不能使用调试功能,断点出报:“当前不会命中断点。还没有为该文档加载任何符号。”
13. 发布网站(旧版本Web项目)时,发布 Web 应用 -> 设置 -> 文件发布选项 -> 在发布期间预编译【配置】 -> 勾选发出调试信息,则会发布或不发布*.pdb文件。
14. 设置 VS 发布时同时发布*.pdb文件
发布 Web 时,选择设置 -> Configuration -> 选择“Debug”即可,默认是Release。如图:
15. 设置 VS 2015中 .NET Framework 框架智能提示与注释英文转中文,解决办法:
1) 在http://download.csdn.net/detail/shuiyueweiliang/9118315下载中文包(zh-Hans 文件夹)。
2) 关闭 Visual Studio 2015。
3) 使用下载的中文包(zh-Hans 文件夹)将C:Program Files (x86)Reference AssembliesMicrosoftFramework.NETFrameworkv4.5目录下的 zh-Hans 文件夹替换掉。
4) 打开 Visual Studio 2015,OK。
16. 生成报错:类似“无法将文件“objDebugYoule.Api.Requester.dll”复制到“binYoule.Api.Request”,如图:
解决办法:也不知道什么原因导致,最快的解决办法就是重启 VS,重新打开项目即可。
17. 给 C# 生成的程序集中的类的属性与方法添加注释
1) 右键选择需要生成的项目,选择属性 -> 生成 -> 属性 -> 勾选“XML 文档文件”,如图:
2) 这样生成项目时,就会生成一个与之匹配的 XML 文件,该文件用于描述每个类中的属性、方法、类的注释,例如:
18. 设置 VS 2010 菜单栏的前进按钮和后台按钮,默认情况下 VS2010 是不现实前进和后退按钮的,需要单独设置,步骤如下:
1) 右键菜单栏 -> 自定义 -> 命令 -> 工具栏(选择文本编辑器) -> 添加命令(A),如图:
2) 在添加命令窗口中选择“视图”,勾选向后/向后导航,点击确定即可。
3) 确定后将看到如图效果:
19. 设置 VS 2013 滚动条为缩略图模式
Ø 类似 Sublime Text 的效果
1) 选择工具 -> 选项 -> 文本编辑器 -> 所有语言 -> 滚动条,设置如图:
2) 效果如图:
20. 解决多个 Poroject(*.sln) 引用同一个类库,生成项目时替换类库 ProjectGuid 的问题
1) 问题描述
1. 假如有 A、B、C 三个项目同时引用同一个类库(ClassLibrary1),类库中的程序集 Guid 是[assembly: Guid("8257b54f-19e5-4768-a703-866a53825b49")]
2. 而三个 sln(解决方案)中引用的 Guid 是这样的
A. Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "assemblyName", "..FrameworkClassLibrary1.csproj", "{8257B54F-19E5-4768-A703-866A53825B49}"
B. Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "assemblyName ", "..FrameworkClassLibrary1.csproj", "{53686A1F-02CB-4556-8C9D-D4EA1543F535}"
C. Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "assemblyName ", "..FrameworkClassLibrary1.csproj", "{53686A1F-02CB-4556-8C9D-D4EA1543F535}"
3. 可以看到,B、C项目中的 Guid 与类库中的 Guid 不一致,所以每次生成都会将“53686A1F-02CB-4556-8C9D-D4EA1543F535”替换掉类库中的 ProjectGuid,而A项目生成时又会再替换回来,所以就会反复出现以下情况:
2) 解决问题:
1. 其实问题描述了这么多,只是想把问题点理解清除一点。
2. 而解决问题就一步,编辑引用了“ClassLibrary1”类库的*.sln文件,将引用了“ClassLibrary1”类库的 Guid 改为与类库中的 Guid 一致即可。以上示例举例,将B、C项目改为"{8257B54F-19E5-4768-A703-866A53825B49}"即可。