Visual Studio 2013中的全新Editor功能

译文
开发 后端 前端
在Visual Studio 2013的Editor当中,我们引入了一系列旨在提升生产力并节约时间的新功能。其中一部分属于全新功能,另一部分则来自Productivity Power Tools的高人气扩展。这些功能的加入要归功于用户朋友们通过User Voice建议、论坛帖子以及Connect错误所提出的使用反馈。MVP社区也在扩展项目的选择中向我们伸出援手。

在Visual Studio 2013的Editor当中,我们引入了一系列旨在提升生产力并节约时间的新功能。其中一部分属于全新功能,另一部分则来自Productivity Power Tools的高人气扩展。这些功能的加入要归功于用户朋友们通过User Voice建议、论坛帖子以及Connect错误所提出的使用反馈。MVP社区也在扩展项目的选择中向我们伸出援手。

在新版本Editor当中,我们的主要在于保证开发人员尽可能不必脱离当前编辑环境。这篇博文所介绍的功能将在轻松提供必要信息的同时允许大家始终处于当前代码位置。

Peek Definition (Alt + F12)

我们都知道,开发人员在浏览定义时往往需要在代码当中来回游走。在设计Visual Studio 2013的功能时,我们认真考量如何利用元素与手势帮助开发人员在浏览定义的同时又不会失去当前代码位置。Peek Definition就是这样一项功能,允许大家在Editor内部查看定义而无需额外开启新的文档标签。要体验它的实际效果,各位可以右键单击某个符号,在快捷菜单中点选“Peek Definition”命令或者直接按下快捷键组合Alt+F12。

利用Peek Definition能帮助我们节约花费在理解代码库上的时间,因为它允许用户查看相关定义而不必将注意力从当前代码处移开。我们甚至能够在不脱离原始文件的前提下,浏览一系列相关定义内容。当大家在当前Peek视图中调用Peek Definition命令时,系统会引导各位在Peek视图内部查看定义,并在之前的Peek视图中添加返回导航。这些返回导航元素能帮助大家直观了解自己是通过怎样的途径一步步抵达当前定义的。

在设计这项功能时,我们选择以出现在VS 2012中的“Preview Tab”概念为基础,这是因为Peek视图是一种暂时性显示结果、目的在于帮助大家免于开启更多文档。返回导航则是我们添加的另一种引导方案,希望帮助大家在继续面对当前代码的同时直观了解导航堆栈。事实上,如果大家将鼠标悬停在返回导航之上,系统会提示一小段代码,这样各位就能快速了解自己将被引导到哪里。

在Visual Studio 2013预览版中,Peek视图拥有只读属性。经过内部用户的测试,我们发现大家明确希望能够对Peek视图进行编辑——当然,我们立即着手实现这一要求。请朋友们立刻拿起手中的正式版本进行体验吧!

增强滚动条(Enhanced Scrollbar)

增强滚动条(Enhanced Scrollbar)一直是Productivity Power Tools当中***的扩展,现在则正式成为Visual Studio 2013中的标准成员。增强滚动条为用户在垂直滚动条上提供可视化线索信息。滚动条上的标记能帮助大家快速查看错误、警告、中断点、书签、查找结果的位置以及其它一些文件中的实用信息。同样,我们希望凭借增强滚动条帮助用户在当前位置了解更多提示结果——而不必将滚动条拖动到对应位置。


 

地图模式

我们在滚动条中添加了一项“地图模式”(Map Mode),从而带来一些很酷的功能——而且大家可以对该机制进行自定义:

1. 长达10000英尺的代码视图–对代码进行宏观审视,从而让滚动条成为帮助我们清晰理解代码结构的利器。

2. 单击滚动–点击滚动条中的任意区域即可直接将大家引导至文件中的对应位置——这是一种快速实现文件内容定位的新机制。

3. 预览文件中的特定部分–将鼠标悬停在滚动条上的任意位置即可在提示信息中对对应部分的内容进行预览。这项功能在文件审查过程中会带来便捷的使用体验。
 

#p#

导航至(Ctrl+,)

在提高开发生产力的探索过程中,我们尝试摆脱传统的独立工具窗口及模式对话框,转而寻求一种更为流畅的直接体验,从而帮助大家将注意力集中在编码工作上而非管理Visual Studio。我们对使用数据进行了分析并决定对导航至(Navigate To)机制进行更新,从而让这套目前仍被广泛使用的模式对话框更上一层楼。

通过新的导航至功能,大家可以输入任意一部分符号内容并利用智能语义搜索查找其定义。大家还可以输入一部分文件名以快速切换到对应位置——无论该文件之前是否已经被打开。

Visual Studio 2013中的导航至功能支持早期版本的所有功能,但转而以一种更流畅、非模式化且空间利用率更高的方式呈现。我们把新的搜索窗口放置在编辑器内查找区周边的右上位置。这种布局方式让我们能够在显示预览标签的同时尽可能增加导航至结果的显示数量,而且不会遮挡预览代码视图。

选择的结果将自动显示在预览标签当中。这能帮助用户确保被选中的结果正是自己搜索的对象,从而在将其提交至新视图之前更好地做出判断。为了确保大家能够更轻松地返回原先位置,我们只需按下Esc键即可取消跳转结果——这就避免了搜索结果错误可能带来的定位困扰。

在设计这些功能时,我们不只希望改进原始运行时性能,同时也期待改善工作流。新的导航至功能针对键盘操作使用情况进行了优化,即参考到Solution Explorer的浏览重点。在功能开发的过程中,我们检测并分析了内部用户的实际使用状况,从而检验新的功能设计是否具有实际效率。下面请大家一同了解我们所参考的统计数据。

我们统计了用户使用键盘上“下箭头”按键的次数,并以此结果作为提示列表准确性的评判依据:

数据显示在大多数情况下,用户都只需直接按下回车键即可——这意味着搜索查询实现了准确定位。也有些用户在浏览结果时按下15次以上“下箭头”按键,这其实与准确性无关——只是他们查找的结果数量比较多而已。

为了决定在用户点击结果列表之外的区域时是否继续开启导航至功能,我们统计了用户保持其开启的次数。经过调查,我们发现从对话框开启那一刻到其关闭,平均持续时间为六秒钟:数据显示在大多数情况下,用户都只需直接按下回车键即可——这意味着搜索查询实现了准确定位。也有些用户在浏览结果时按下15次以上“下箭头”按键,这其实与准确性无关——只是他们查找的结果数量比较多而已。

为了决定在用户点击结果列表之外的区域时是否继续开启导航至功能,我们统计了用户保持其开启的次数。经过调查,我们发现从对话框开启那一刻到其关闭,平均持续时间为六秒钟:

这反映了两种最常见的操作情况:用户导航到新位置并开始浏览,或者取消了该操作。这样的结果让我们决定在用户点击其它区域后关闭导航至对话框。我们会继续关注使用数据以确保这种设计符合大多数用户的直观感受。

自动补全括号

自动补全括号功能,顾名思义,会自动为我们在编辑器中输入的代码补齐右侧括号、引号、大括号等。这也是来自Productivity Power Tools的一项高人气功能,现在我们将其正式引入Visual Studio 2013。

我们还针对不同类型的语言添加了补全规则。举例来说,在C++当中,我们会自动补全C++11原始字符串的字面表达并利用“*/”作为C类注释的结束标记,同时在类类型中插入分号。

#p#

上/下行移动 (Alt+上箭头/下箭头)

上/下行移动功能允许大家快速向上向下移动一行或者多行,具体操作方式为Alt+上箭头以及Alt+下箭头。这是Productivity Power Tools中的另一项人气扩展,此次也加入了Visual Studio 2013。

 

 针对Visual C++的新IDE功能

我们还针对Visual C++添加了多项新功能。在未来几周中,Visual C++技术团队将在其博客上分享更多信息,请大家保持关注。不过在今天的文章中,我们要强调的是C++代码格式。

C++编辑器现在能在输入的同时自动调整格式,这一功能也作用于被直接粘贴到C++文件中的代码。我们发现对于C++来说,目前还没有一种被广泛接受的编码风格,因此我们在设置中添加了灵活性选项,允许大家对环境进行自定义以匹配自己的开发风格。我们期待您给出的反馈意见,这样才能对设置做出进一步调整。

针对JavaScript的新IDE功能

在JavaScript当中,我们添加了标识符高亮功能——现在当大家选择某个标识符(例如变量名称或者函数调用)时,对它的引用关系将被以高亮方式显示在当前源文件中。我们还设置了一个新的导航栏,用于在编辑器窗口上方显示相关内容,这样大家就能更轻松地在JavaScript源文件当中在主函数与对象之间来回切换。

 原文链接:http://blogs.msdn.com/b/visualstudio/archive/2013/07/15/visual-studio-2013-new-editor-features.aspx

 

 

责任编辑:陈四芳 来源: 51CTO
相关推荐

2013-11-13 10:07:26

Visual Stud微软

2013-06-04 17:08:19

Visual Stud

2013-11-14 01:09:35

微软Visual StudVisual Stud

2009-12-03 17:43:38

Visual Stud

2013-09-10 13:22:44

Visual Stud

2009-03-10 10:21:05

灾难恢复Restart Manvs

2010-04-15 08:40:00

UML建模Visual Stud

2013-06-09 15:25:57

Visual Stud

2009-12-18 09:49:28

Visual Stud

2012-08-09 13:15:28

Visual Stud

2010-12-14 09:15:50

Visual Stud

2009-07-01 17:11:32

标记导航Visual Stud

2009-04-23 14:05:28

Visual Stud历史调试功能

2013-08-01 15:12:03

Visual Stud

2014-07-03 14:02:55

VS 2013Visual Stud

2010-02-04 09:17:26

Visual Stud

2013-09-03 17:59:00

Visual StudVisual Stud微软

2020-12-07 13:48:48

EditorAndroid开发者

2013-06-14 13:49:36

Visual Stud

2010-04-12 08:43:45

Visual Stud
点赞
收藏

51CTO技术栈公众号