惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Hackread – Cybersecurity News, Data Breaches, AI and More
C
Check Point Blog
Hacker News: Ask HN
Hacker News: Ask HN
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
WordPress大学
WordPress大学
P
Proofpoint News Feed
V
Visual Studio Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
N
Netflix TechBlog - Medium
C
CXSECURITY Database RSS Feed - CXSecurity.com
博客园 - 聂微东
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
博客园 - 叶小钗
Cisco Talos Blog
Cisco Talos Blog
S
Schneier on Security
T
Threat Research - Cisco Blogs
腾讯CDC
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
The Hacker News
The Hacker News
Google DeepMind News
Google DeepMind News
Microsoft Security Blog
Microsoft Security Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
GbyAI
GbyAI
N
News | PayPal Newsroom
L
LINUX DO - 最新话题
酷 壳 – CoolShell
酷 壳 – CoolShell
P
Palo Alto Networks Blog
T
Tenable Blog
S
Secure Thoughts
T
Threatpost
V2EX - 技术
V2EX - 技术
大猫的无限游戏
大猫的无限游戏
Martin Fowler
Martin Fowler
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Vercel News
Vercel News
罗磊的独立博客
P
Privacy & Cybersecurity Law Blog
Engineering at Meta
Engineering at Meta
小众软件
小众软件
Google DeepMind News
Google DeepMind News
N
News and Events Feed by Topic
Y
Y Combinator Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
C
Cybersecurity and Infrastructure Security Agency CISA
P
Proofpoint News Feed
L
Lohrmann on Cybersecurity
P
Privacy International News Feed
H
Heimdal Security Blog
量子位
B
Blog

博客园 - Saar

LightSwitch 2011 实践之个人汽车仓库 —— 起步 让我们更快一点的Visual Studio的技巧们 实战 WPF Jump List 编程 实战Bing MAP REST服务的封装、调用 选好 Async 函数的返回类型 用WCF + Entity Framework 序列化时的陷阱 大家都来搭架构 —— VS 2010 Layer Diagram (层图) 基本使用 基于Entity Framework 4.1实现一个适用于单元测试的MockDbContext(下) 基于Entity Framework 4.1实现一个适用于测试的MockDbContext(上) 利用IProgress轻松搞定进度条编程 C# 5.0功能之Async一瞥 C#不是C++ 之 委托(Delegate) C#不是C++ 之 泛型(Generic) Silverlight 学习笔记——MVVM模式实现主从数据显示 Silverlight 学习笔记——用MediaElement制作在线音乐播放器 Silverlight 学习笔记——应用程序模型 Silverlight学习笔记——依赖属性和路由事件 Silverlight 学习笔记——布局 Visual Studio 2010 部分新功能概览-Dynamic & Named / Optional Parameters
Visual Studio 2010 部分新功能概览-QS, HR, GFU
Saar · 2009-12-29 · via 博客园 - Saar

Visual Stduio 2010 Beta2发布已经有一些时日,在今年秋季发布RTM的计划已然泡汤。目前的情况看,明年春天还会有一个RC,主要用以提高VS2010的性能和稳定性。因此,估计不会新加Feature了。让我们借助Beta来体验一下VS2010的IDE方面的一些新的功能。

  • QS – Quick Search

VS 2010将项目文件、类、方法等经常要查询的东西,通过一个统一的查询对话框提供查询。这个对话框就就是Quick Search,它像一个搜索引擎一样运作。通过快捷键Ctrl+,可以调用Quick Search,当然也可以通过编程菜单里的“Navigate To”调用。

让我们来试一下:新建一个Console Application,添加一个叫“QuickSearchDemo”的类。

    class QuickSearchDemo
    {
        public QuickSearchDemo()
        {

        }
    }

让我们通过快捷键调出Quick Search,输入“Quick”,我们找到了一个文件、一个类和一个构造函数。

QS01

这还不算什么,Quick Search还能够认识缩写,让我们试试输入QSD,看看是什么结果:

QS02

呵呵,不知道是By Design还是Bug,在Beta2中,我们没有能够通过缩写找到类文件。无论如何,这个功能将能够帮助我们快速找到我们想要的东西。

  • HR—Highlight Reference

Highlight Reference可以帮助我们迅速找到相关的代码。例如:

        public void TestMehtod()
        {
            var highlightReferenceDemo = new HRDemo();
            highlightReferenceDemo.TestMehtod();
        }

当我们将光标置于highlightReferenceDemo上的时候,所有这个对象都会被点亮(出现背景颜色)。

HR01

当把光标置于HRDemo的时候,所有这个类都会被点亮。当把光标置于上半个花括号上时,下半个花括号也会被点亮。这个功能,有一个非常有用的快捷键:Ctrl+Shift+向上方向键或者Ctrl+Shift+向下方向键。当前的光标会在不同的高亮区域之间跳转。这样,如果一个代码中多次用到了同一个对象,我们可以快速的这多个地方跳转。由于HR对花括号也有效,我们同样可以快速的在函数开始部分和函数尾之间进行跳转。

  • GFU—Generate From Usage

当我们在编程的时候,通常会用到一些未定义的类、方法或者接口等。以前,我们需要先跳转出当前的代码,至少把一个代码的签名写出来,然后,回来再调用它。有了GFU,VS2010允许先调用,然后,根据调用,来生成相应的类、方法或者接口。

例如,我们添加一个新类,直接输入以下代码:

    class GFUDemo
    {
        public void Test()
        {
            Calculator calculator = new Calculator();
        }
    }

由于我们没有定义类Calculator,我们会得到编译错误。但是,由于我们把Calculator当作一个类来使用,因此,VS2010也就推测出,我们是要想这么一个类。因此,它提供了一个SmartTag让我们来直接生成这个类。

GFU01

同样,当我们直接调用这个calculator的Add方法时(此时,这个方法还不存在),可以通过GFU直接生成方法的签名。

GFU02

生成的Calculator类的代码如下:

    class Calculator
    {
        internal int Add(int p, int p_2)
        {
            throw new NotImplementedException();
        }
    }

当需要生成的对象可以推断为接口或者类并且以I开头,默认情况下会生成一个接口。如果对生成的代码有特别需求,例如,要生成到已经存在的文件里或者要生成一个私有方法或者一个以I开头的类……那么,可以通过GFU提供的另一项(生成新类型…)来实现。

GFU03

  • 写在最后

虽然VS 2010提供的这些新功能看上去很小,但是,它们或者可以帮助我们更快的找到我们想要东西、或者可以给我们提供更加流畅的代码书写体验。另外,VS2010在语言方面也作出了一些改进,请参考前文《Visual Studio 2010 部分新功能概览-Dynamic & Named / Optional Parameters》。

Little knowledge is dangerous.