使用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();
}

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

对比一下,Visual Studio 2012生成的代码要简洁一些。

分享10条Visual Studio 2012的开发使用技巧的更多相关文章

  1. Visual Studio 2012的开发使用技巧

    分享10条Visual Studio 2012的开发使用技巧 使用Visual Studio 2012有一段时间了,并不是追赶潮流,而是被逼迫无可奈何.客户要求的ASP.NET MVC 4的项目,要用 ...

  2. Visual Studio 2012 应用软件开发新方式

    微软正式发布Visual Studio 2012 应用软件开发新方式 2012-09-13 09:54 51CTO.com 我要评论(0) 字号:T | T “现在,开发者将有更好的机会开发与云服务连 ...

  3. 在Visual Studio 2012中使用VMSDK开发领域特定语言(二)

    本文为<在Visual Studio 2012中使用VMSDK开发领域特定语言>专题文章的第二部分,在这部分内容中,将以实际应用为例,介绍开发DSL的主要步骤,包括设计.定制.调试.发布以 ...

  4. 在Visual Studio 2012中使用VMSDK开发领域特定语言(一)

    前言 本专题主要介绍在Visual Studio 2012中使用Visualization & Modeling SDK进行领域特定语言(DSL)的开发,包括两个部分的内容.在第一部分中,将对 ...

  5. Visual Studio 2012下Box2D开发环境设置

    Cocos2d-x 3.x默认情况下采用的物理引擎是Chipmunk,如果我们要使用Box2D引擎,需要进行一些设置和调整,而且不同的开发平台下这些设置也有所不同.由于本书在此之前介绍的都是基于微软的 ...

  6. 在Visual Studio 2012中使用VMSDK开发领域特定语言1

    在Visual Studio 2012中使用VMSDK开发领域特定语言(一)   前言 本专题主要介绍在Visual Studio 2012中使用Visualization & Modelin ...

  7. 用Visual Studio 2012+Xamarin搭建C#开发Andriod的环境

    第一步:安装Visual Studio: Visual Studio 2012(或者Visual Studio 2010),原因是目前为止Xamarin for Visual Studio的插件只支持 ...

  8. 使用Visual Studio 2012 开发 Html5 应用

    Visual Studio 一直以来是开发微软旗下应用的利器,只要是开发微软相关的应用无论是Windows程序,WPF,Asp.Net,WinRT Surface,WindowsPhone 等微软旗下 ...

  9. 10个Visual Studio原生开发调试技巧

    10个Visual Studio原生开发调试技巧(1) 2013-05-29 13:30 佚名 开源中国 我要评论(1) 字号:T | T 以下的列表中你可以看到写原生开发的调试技巧(接着以前的文章来 ...

随机推荐

  1. 轻松创建R语言函数包

    讲真,用R这么几年,始终未尝试过写自己的包,看来这就是我与真正程序员的差距了——编程习惯等于没有. 昨天一个偶然的机会想开始写自己的工具包,发现了前期教程的有一些过时.于是,写一个**windows* ...

  2. IOS对.Net返回的Base64string解析问题

    1.c#生成Base64字符串的代码 string body = "{\"title\":\"上次CVR卡其\",\"url\": ...

  3. [UE4][Custom Animation Graph Node]Evaluate Pose by Curve

    目的:根据曲线值获得当前动作帧.用于实现各种通过曲线同步的功能. 方法:继承FAnimNode_Base创建自定义动画节点.重写Evaluate部分.创建相应的AnimGraphNode.可参考前一篇 ...

  4. PHP 表单验证

    1. 验证文本框是否有内容且不能为空 <?php if (! (filter_has_var(INPUT_POST, 'flavor') && (strlen(filter_in ...

  5. 《理解 ES6》阅读整理:函数(Functions)(八)Tail Call Optimization

    尾调用优化(Tail Call Optimization) 尾调用是指函数的最后一条语句是函数调用,比如下面的代码: function doSomething() { return doSomethi ...

  6. FSM 浅谈

    之前写过一篇关于状态机的,上一篇讲过的我也就不再罗嗦了,不知道欢迎去查看我的上一篇随笔,主要是感觉上次自己封装的还是不行,所以又进行修改了一番! 我本人是个菜鸟,最开始接触状态机的时候,状态机一个可厉 ...

  7. Win10 无法完全关机问题

    Win10是重新安装的.开机运行时间长了或者跑的东西多了.关机,键盘灯还是亮的,要强制按电源键关机才行. 问题解决:从网上搜以为是显卡驱动问题,上官网更新最新驱动,结果还是关不了机.偶然间搜到是Int ...

  8. 【腾讯Bugly干货分享】Android ListView与RecyclerView对比浅析--缓存机制

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/5811d3e3ab10c62013697408 作者:黄宁源 一,背景 Recy ...

  9. 团队项目——站立会议DAY7

    第七次站立会议记录: 参会人员:张靖颜,钟灵毓秀,何玥,赵莹,王梓萱 项目进展: 1.张靖颜:对功能模块代码进行近一步的审查和辅助,并对出错处进行修改和完善. 2.钟灵毓秀:对代码近一步的修改,将各个 ...

  10. [ZigBee] 5、ZigBee基础实验——图文与代码详解定时器1(16位定时器)(长文)

    1.定时器1概述 定时器1 是一个支持典型的定时/计数功能的独立16 位定时器,支持输入捕获,输出比较和PWM等功能.定时器有五个独立的捕获/比较通道.每个通道定时器要使用一个I/O 引脚.定时器用于 ...