Visual Studio 11开发指南(5)Visual Studio 11 IDE增强
最后更新于:2022-04-01 10:26:59
**搜索**
Visual Studio环境中一个显著的增强就是让开发者能够快速找到他们所需要的关键信息或者功能。之前,开发者要通过工具窗口,列表,文档和对话窗口,来寻找特定文件,或者选项,或者引用程序集,正确的控件,和大量其他的目标。有了Visual Studio 11,通过一系列特性,搜索集成了IDE,我们称之为“在任意处搜索”。
想要快速找到正确的程序集引用?搜索功能现在已经集成进添加引用…对话框:
[![clip_image001](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-01_56fdf14847e41.jpg "clip_image001")](https://byfiles.storage.live.com/y1pmmJZS8I64bZI7ROphROoI-CwLujwFlE4Wuli34HyULNx3yIbFyr4RGIBrSV6MVAmjn59APO-7QE/image1.png?psid=1)
想要快速找到你苦苦搜寻的重要命令和选项吗?全新的Quick Launch功能让你能在Visual Studio上千的内容中进行搜索。Quick Launch不仅能帮助你找到命令或者选项,而且你还可以在下面的截屏中看到,这个功能还能让你了解键盘对应的快捷键。
[![clip_image002](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-01_56fdf14890631.jpg "clip_image002")](https://byfiles.storage.live.com/y1psRMS0FwWBz728LrjQWOfP6M_OEEwIEsT3dUzGKSOnEoZxtYe_SgJhxnlnip6upMX_JohyuHVUFw/image2.png?psid=1)
想要在你的solution中快速找到特定文件吗?全新的Solution Explorer搜索功能能够让你通过文件名称来筛选。此外,solution explorer还支持查看文件包含的类和成员,同时工具窗口的搜索功能也应用这样的条目。
[![clip_image003](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-01_56fdf148ad791.jpg "clip_image003")](https://byfiles.storage.live.com/y1psRMS0FwWBz4DfYn-G5TTu75UfNiD8Kcx80bybzgy4xw2OfTwPWEPOd0qt9R8pUy4yFqwK1HwhIU/image3.png?psid=1)
出现很多编译错误,想要快速找到相符的标准?现在在Error工具窗口中也可实现搜索了:
[![clip_image004](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-01_56fdf148c7422.jpg "clip_image004")](https://byfiles.storage.live.com/y1pHkVcZ9H31bl2Hmwn56KRHxSPTUG2YxdyGkIdljV24GXruDnGWuhSkJPckjbg-hPJWpm9N9Y8tMk/image4.png?psid=1)
一些工具窗口不仅提供搜索功能,还能深入将它们和Visual Studio其他组件集成。比如,全新的parallel watch窗口就提供“用Boolean表达进行筛选”框:
[![clip_image005](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-01_56fdf148ddaab.jpg "clip_image005")](https://byfiles.storage.live.com/y1poWUsSgIq1l8UP1zIbtynE8JqxF2Y6zgg8otG_aBMqmVgVnKqHe3-N1g_aPiyWwZwqTifpyBfXSA/image5.png?psid=1)
如果提供了Boolean表达式,调试器就会为每个线程评估标准,只有那些表达式评估为true的线程会被显示:
[![clip_image006](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-01_56fdf1492535a.jpg "clip_image006")](https://byfiles.storage.live.com/y1pD_3RCoCOZUnxiLh8-EPRexlZtvIYjwnzsBbrquFs4GKrRr4GFyvOKZa4RJqizv4StuUcMzWGkEc/image6.png?psid=1)
正如你所看到的,“搜索”已经成为Visual Studio 11中开发集成的一部分了。想了解更多可用的详细信息,我推荐这篇[博文](http://blogs.msdn.com/b/visualstudio/archive/2011/10/11/visual-studio-11-developer-preview-search-everywhere.aspx),是Visual Studio团队写的。
**寻找**
和这个“在任何地方搜索”体验很相似的是,在文档中搜索文字,称之为“寻找”,这个体验在Visual Studio11中被简化了,为了最小化开发者必须处理的对话框数量和尽量减少开发者在代码外花费的时间。在Visual Studio 2010中,输入“ctrl+F”会弹出搜索和替换对话框:
[![clip_image007](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-01_56fdf1493f5d4.jpg "clip_image007")](https://byfiles.storage.live.com/y1pD_3RCoCOZUlFFlLxkCsEjQpSk8bx_fy9gqqg3oxUSNWT6TW1aZ2Ha1fkye3m_-2wgbfFDsafhJM/image7.png?psid=1)
现在在Visual Studio 11中,Find通过直接集成在代码窗口的控件启动:
[![clip_image008](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-01_56fdf14950ddc.jpg "clip_image008")](https://byfiles.storage.live.com/y1pJVxowq1ZCot6YlSec1v15GCd7V2Tcl9T0EL53qeJlym1J7bYgZfF-HREzgD31pvj_prBamh95yk/image8.png?psid=1)
正如在截屏中显示的,我不再需要管理独立的对话框,或者对付多次点击或单个的result窗口以查看我想找的文字,取而代之的是,当我在find控件中输入要寻找的内容,我文档中符合的所有文本就被高亮显示出来。其实,对那些了解并热爱.NET常规表达式的你们来说,一旦你们在regex中输入值就会获得实时的高亮结果。
[![clip_image009](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-01_56fdf149642f0.jpg "clip_image009")](https://byfiles.storage.live.com/y1pJVxowq1ZCotc-aWd6yrblVq9jC9Psh-1GH0y6s1QVYeqvJIxNns4sNqT6VkIBUum6ih1VDnZJHM/image9.png?psid=1)
Visual Studio团队还发表了更多详细介绍该新的Find体验的博文。
**预览标签**
你有多少次发现你的文档标签远远超过了你打开的文档?每次你点击“转到定义”或者打开另一个文件中的搜索结果,那个文件就会被打开。而那个文件会一直处于打开状态,直到被开发者从编辑器中特意地关闭。这种情况确实发生,即使那个文件只是暂时需要,或者它只是在预览目标内容时需要而已。
来看看Visual Studio 11预览标签。预览标签在文档窗口的右边,可以在预览需要时任意使用:
[![clip_image010](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-01_56fdf149775d7.jpg "clip_image010")](https://byfiles.storage.live.com/y1pJVxowq1ZCovX5Ktlu3mmxgBiolWsofsy9e7fChdlrHLHWTFSgQwPUU60QKupib-wdqrw9LEw7s8/image10.PNG?psid=1)
这从很大程度上减少了我们在Visual Studio文档窗口中遇到的复杂性。如果你想预览内容维持时间更长,你可以通过单击来“促使”当前文件从预览标签转换到到完整的代码窗口。
**项目往返**
有时团队成员使用的是Visual Studio不同的版本,在这样的团队环境下工作往往需要一些技巧。一旦团队中一位成员使用了新版Visual Studio来做项目,那个项目升级之后,较早版本的Visual Studio就不能用了。这就迫使团队要维护多个项目文件来支持不同版本的Visual Studio。
有了Visual Studio 11,项目往返就成了一流功能。用Visual Studio 2010创建的项目可以在Visual Studio 11中打开编辑,更重要的是,它还能重新在Visual Studio 2010中使用(需要安装SP1)。只要项目没有使用只能被Visual Studio 11支持的新项目功能(比如更新C#应用程序来面向.NET Framework 4.5而不是.NET Framework 4)来修改,团队就不用一次更新所有的Visual Studio。这样团队的成员可以使用Visual Studio 2010,也可以使用Visual Studio 11,相互都能处于和谐状态。
**更多**
一些在代码理解和导航方面的改进,使搜索,预览以及项目往返运行更好。
比如,在Visual Studio 2010中,C#和Visual Basic有一个功能叫做“引用高亮”,在编辑器中点击token,会让编辑器高亮其他正在使用的token。在Visual Studio 11中,这个功能C++也适用了:
[![clip_image011](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-01_56fdf1498dc18.jpg "clip_image011")](https://byfiles.storage.live.com/y1p1zGG95BuajIgfLm0ENGXr0Zad9B6CobfLIM-2pegLMUhUPSuGToGVx5KD1aUxPH1KwNzcYA9c9I/image11.png?psid=1)
在这个截屏中,我点击了一个 “multiplyBy2”,其他三个使用这个token就被IDE高亮了。这个截屏还展示了句法代码颜色,这是Visual Studio 11中Visual C++的全新内容。Visual C++还包含了对代码片段的支持,以及C++/CLI的智能感应。
IDE对F#的支持也在Visual Studio 11中得到了改进。比如,F#开发者可以享受改进后的参数辅助,例如在输入函数或者方法调用时,每个参数的信息会随着你的输入显示:
[![clip_image012](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-01_56fdf149a67f5.jpg "clip_image012")](https://byfiles.storage.live.com/y1p1zGG95BuajKNp4JX9VIhEOekYGMqbe0cXty3dAqGzTaxgkfcBFa8GWlc0o4KlxhLCPLygXyktzE/image12.png?psid=1)
此外,现在使用Visual Basic的开发者可以利用调用call hierarchy窗口。这个工具窗口分析solution中所有函数和方法的调用,让开发者更方便理解符合他们设计的函数(Visual Studio 11中的全新solution explorer有提供这些功能):
[![clip_image013](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-04-01_56fdf149bf664.jpg "clip_image013")](https://byfiles.storage.live.com/y1p6RI7b23Cxvr7dBdazHjBz3IA5s16maR6pPiXDT9aFan0Xj3tdXek76eXJSlTuwD9yUbbdmarR1k/image13.png?psid=1)
赶紧下载VS11体验吧
[http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200098144](http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200098144)