Visual Studio 2012的开发使用技巧
分享10条Visual Studio 2012的开发使用技巧
使用Visual Studio 2012有一段时间了,并不是追赶潮流,而是被逼迫无可奈何。客户要求的ASP.NET MVC 4的项目,要用.NET 4.5来运行。经过一段时间的摸索,得到一点经验和体会。C#之父曾说,抗拒变化是人类的天性。Visual Studio 2012仅仅是在界面上变化就很让人感叹,也只有这样的大公司才有精力和时间去做这样的变更。微软有意推广一项技术,会在他最得意的产品中应用这项新技术,产品和技术路线并行,相辅相成,微软不愁在IT界没有饭吃。
1 添加程序集引用
这个版本的Visual Studio改变了从VS2003一直以来的做法,改成列表形式,以打勾表示被当前程序集引用,不打勾则去除引用。所以,当从GAC或是项目或是文件系统中添加程序集时,只需要它把它找到,并把列表前的勾选中即可。
Visual Studio 2010已经解决了添加GAC中的程序集非常慢的问题,不过手动刷新.NET Framework这个Tab页面里面的内容又比较麻烦,2012在这方面添加了一个搜索框,可以通过搜索而不以列表查看的方式添加引用,有一些改善。
Visual Studio 2010有一个扩展项目Mutex Extension,可用于拷贝和复制项目的引用。遗憾的是Visual Studio 2012仍然没有这个功能,不能对项目中所引用的程序集进行复制和拷贝。
2 解决方案浏览器中预览图片
如下图所示,在解决方案浏览器中指向文件名,可以直接预览该图片,这对Web开发是很有用处的。
当你把鼠标放在文件名上面时,Visual Studio会显示一个图片的缩略图。
Visual Studio默认双击项目中的一个文件,会用Visual Studio设置的编辑器打开。但是我想在资源管理器中打开它,也没有找到右键中的菜单项(Open File in File Explorer),默认在资源管理器中还是只能打开一个文件夹。
3 单击打开选中的项目文件
在Visual Studio中的解决方案管理器,有一项是Preview Selected Items,不选中则只可以双击打开选中的项,选则这一些,则单击之后就会在编辑器中打开编辑。一直以来使用Visual Studio,还是觉得双击打开要好一点。有时候我只是想看一下项目的结构,而不是想打开它进行编辑。
有人指出这一项是多余的功能,比如当我选中多个文件,如何去预览它呢,要全部在Visual Studio里面打开吗?这样就有点不合理了。所以,回到初始的美好经验,不要选中这个按钮。
4 解决方案中集成类型浏览器
Visual Studio的类型浏览器一直以来都没有什么很大的用处。如果我要找一个类型,会直接用搜索,而不是去类型浏览器中查找。这一次的Visual Studio直接把类型浏览器集成到解决方案管理器中,可以看到一个文件定义的类型和方法,方便了很多。
5 打开光标所在的窗口 CTRL + ALT + HOME
这一条特性比较有用。当我在编辑一段代码时,需要参考其它的代码,在解决方案浏览器中浏览,打开,看到我所需要的代码之后,要回到最开始我正在编辑的代码,请点击CTRL + ALT + HOME,Visual Studio为你打开光标所在的窗口。
6 快速启动 Quick Launch
这是个搜索功能项的特性,它可节省你找功能的时间,现在可以直接在这里搜索,查找菜单项,也可以查找配置项。比如我输入Format,它显示如下,点击相应的项,直接打开配置菜单的子项目,很实用的功能。
7 多个解决方案浏览器窗口
如果一个项目中有很多文件,在一个解决方案浏览器中查看比较吃力,可以选择该文件项,点右键选中”New Solution Explorer View” 菜单,它会在新的解决方案浏览器中打开查看。
是不是方便很多呢?
8 改善的搜索窗口
您可以在解决方案浏览器的按钮下面,输入要搜索的单词,解决方案浏览器会为您过滤它的项,显示与输入的单词相匹配的项目。这个版本的Visual Studio在解决方案浏览器的功能上改进不少。
其它的窗口,比如控件工具箱,也可以用于搜索控件名称。
错误列表窗口,也可以搜索
9 Tab选项卡固定
如果项目打开了很多文件,新打开的文件项,会隐藏已经打开的文件项。如果这样,你可以到Tab下拉列表中去找需要的选项卡,也可以通过解决方案浏览器,再次双击打开该项。现在你还有一种选择,打开一个Tab选项卡之后,点一下它的钉子图标,把它固定住,这样,即使Visual Studio打开很多选项卡,也会保持这个选项卡可见。
虽然快捷键Ctrl+Shift+Tab可以在多个打开的选项卡中切换,但是打开的选项卡很多的话,还是把它固定住好用一些。
10 自动代码生成的改善
比如要为按钮生成点击事件,输入以下的代码,Tab表示要按下Tab键
btnOK.Click+=TAB + TAB
Visual Studio 2010会为你生成标准的事件注册方法,下面是Visual Studio 2010的生成的方法
btnOK.Click +=new EventHandler(btnOK_Click); void btnOK_Click(object sender, EventArgs e)
{
throw new NotImplementedException();
}
同样的情况,来看一下Visual Studio 2012为你生成的代码:
btnOK.Click +=btnOK_Click; void btnOK_Click(object sender, EventArgs e)
{
throw new NotImplementedException();
}
对比一下,Visual Studio 2012生成的代码要简洁一些。
Visual Studio 2012的开发使用技巧的更多相关文章
- 分享10条Visual Studio 2012的开发使用技巧
使用Visual Studio 2012有一段时间了,并不是追赶潮流,而是被逼迫无可奈何.客户要求的ASP.NET MVC 4的项目,要用.NET 4.5来运行.经过一段时间的摸索,得到一点经验和体会 ...
- Visual Studio 2012 应用软件开发新方式
微软正式发布Visual Studio 2012 应用软件开发新方式 2012-09-13 09:54 51CTO.com 我要评论(0) 字号:T | T “现在,开发者将有更好的机会开发与云服务连 ...
- 在Visual Studio 2012中使用VMSDK开发领域特定语言(二)
本文为<在Visual Studio 2012中使用VMSDK开发领域特定语言>专题文章的第二部分,在这部分内容中,将以实际应用为例,介绍开发DSL的主要步骤,包括设计.定制.调试.发布以 ...
- 在Visual Studio 2012中使用VMSDK开发领域特定语言(一)
前言 本专题主要介绍在Visual Studio 2012中使用Visualization & Modeling SDK进行领域特定语言(DSL)的开发,包括两个部分的内容.在第一部分中,将对 ...
- Visual Studio 2012下Box2D开发环境设置
Cocos2d-x 3.x默认情况下采用的物理引擎是Chipmunk,如果我们要使用Box2D引擎,需要进行一些设置和调整,而且不同的开发平台下这些设置也有所不同.由于本书在此之前介绍的都是基于微软的 ...
- 在Visual Studio 2012中使用VMSDK开发领域特定语言1
在Visual Studio 2012中使用VMSDK开发领域特定语言(一) 前言 本专题主要介绍在Visual Studio 2012中使用Visualization & Modelin ...
- 使用Visual Studio 2012 开发 Html5 应用
Visual Studio 一直以来是开发微软旗下应用的利器,只要是开发微软相关的应用无论是Windows程序,WPF,Asp.Net,WinRT Surface,WindowsPhone 等微软旗下 ...
- 【转】visual studio 2012进行C语言开发[图文]
原文网址:http://blog.csdn.net/chengyafei0104/article/details/9826025 现在大家计算机大概都脱离XP了,so,之前蛮多可以用的编译器,可能放在 ...
- visual studio 2012进行C语言开发[图文]
现在大家计算机大概都脱离XP了,so,之前蛮多可以用的编译器,可能放在我们现在的Win7,win8下面会出现一些比如不兼容了之类的问题.其实,用微软强大的IDE-visual studio系列,也是可 ...
随机推荐
- LeetCode——Spiral Matrix
Given a matrix of m x n elements (m rows, n columns), return all elements of the matrix in spiral or ...
- linux中如何用root去修改其他用户的密码
linux中如何用root去修改其他用户的密码 昨天linux实验课,我有很多自己想摸索的东西.今天周五,本是下午一二节是编译的实验,可强烈的欲望让我今早就来实验室了,摸索吧,碰到了这个问题.... ...
- c# 自定义数据类型
定义引用类型用 class ,值类型 用 struct ,涉及数据转换就用 上一篇的方法做 ,涉及 泛型就用 in 关键字 不用 in interface IContravariant<A& ...
- OR导致笛卡尔积
近期监控数据库,发现以下语句跑得很慢,原来运行计划走了导致笛卡尔积,来看以下语句: SQL> explain plan for 2 SELECT COUNT(*) 3 FROM "GD ...
- OC的构造方法与分类知识点总结
OC语言构造方法: 用来初始化对象的方法,对象方法,以减号开头 为了让对象创建出来,成员变量就会有一些固定的值 重写构造方法的注意点: 先调用父类的构造方法([super init]) 再进行子类内部 ...
- Wowza流媒体Live直播和VOD点播配置实战-attach
Wowza是当今可以说最流行的流媒体服务器之一,近来因为需要搭建相应的服务器,但又不想用camera等作真实的直播,所以想办法用媒体文件转换成直播流再提供给Wowza进行直播.这里把该设置步骤以及设计 ...
- 萧墙HTML5手机发展之路(53)——jQueryMobile页面之间的参数传递
基于单个页面模板HTTP通过路POST和GET请求传递参数.在多页模板,并且不需要server沟通,通常有三种方式在多页模板来实现页面之间的参数传递. 1.GET道路:上一页页生成参数并传递到下一个页 ...
- 快速构建Windows 8风格应用16-SettingContract原理及构建
原文:快速构建Windows 8风格应用16-SettingContract原理及构建 本篇博文主要介绍Setting Contract概述.Setting Contract实现基本原理.如何构建Se ...
- leetcode[68] Climbing Stairs
n个台阶,每次可以走一步或者两步,总共有多少种走法. 第一感觉想到的是递归,n为1的时候1种,2的时候2中.其他时候就是 fun(n) = fun(n-1) + fun(n-2);递归的代码很简单.如 ...
- jQueryRotate 转盘抽奖代码实现
代码如下: 例子兼容IE6,7,8 以及高版本浏览器,如有bug请回复! 1.html结构 <!doctype html> <html lang="en"> ...