Udostępnij za pośrednictwem


Visual Studio ‘15’ Preview 3 里 C# 和Visual Basic的新功能

[原文发表地址]: Visual Studio ‘15’ Preview 3 for C# and Visual Basic

[原文发表时间]: July 13, 2016

 

我们在Visual Studio ‘15′的主要专注点之一就是提高开发人员在编辑代码上的效率。当我们在开发的时候重复执行了一系列的行为,诸如写方法、重命名一个变量、改变方法的签名、接口的实现等等。我们的目标是只通过点击鼠标就能实现自动化或减少这些任务以致于你可以集中于逻辑上而并非是语法、引用、代码风格和格式问题。你可能已经注意到每一个Visual Studio ‘15′版本都增强了现有的体验来为你节省更多的时间和精力,通过附加的重构和代码生成来使build速度更快。

下载Visual Studio ’15’ Preview 3,为了获取更多有关这个版本的信息请阅读版本说明 。 同样也请检查Visual Studio “15” Preview 3 博客文章

 

C#7

在 Visual Studio 中 '15' 中,C# 语言本身的效率有了很大提升, C# 7现在的默认功能如下:

  • 元组允许传递一组值。当我们想要一个没有使用out参数的方法中返回多个值时,这就非常方便了。C# 7 元组可以用作字典中的键。例如:很容易组合多个值成单一的键(注:C#7编译器生成高效的Equals和GetHashCode方法并且是值类型,C#7元组比System.Tuplede 内存效率更高,从而减少内存分配)
  • 模式匹配可以让你声明测试类型和值的内容,同时提取数据到变量。这形成更多的测试表达类型和switch语句。
  • 局部函数,ref 返回,二进制文件等等。

下面的例子演示了多个C#7的功能:模式匹配,元组,局部函数和二进制文件。

01

与我们在GitHub上或者@roslyn 来分享你的反馈,我们很乐意倾听您的想法!

 

Visual Basic 15 ( 即将发布 )

Visual Basic语言的下一个版本也在in Visual Studio ’15’中得到提升,我们正在努力完成最新版本并且期望在Visual Studio ’15’ pre的下一个发行版本中体现出来。

  • Visual Basic的元组和C#相同,直观也真正符合VB的设计理念。

02

  • 二进制转换是VB中另一个强大的新功能,在此之前,程序员不得不自己在脑海中进行十进制与十六进制的转换。因此很快你就可以很方便地在VB中体现这些计算机编程的基本概念。为了支持这一功能,我们还增加了将下划线作为数字分隔符的功能。这些字符只是用来装饰的,但是它帮助我们更方便去读取二进制文件和其他大文件。

03

通过这里这里参与讨论有关Visual Basic 15的语言设计, 或者在tweet上@ ThatVBGuy

 

智能感知提升

在Preview 3这个版本中,我们增强了智能感知,让你在遇到大型solution或新的代码库时更轻松、简单去工作。在这个版本中,我们已经添加了图标托盘帮助你通过类型(方法,属性,类等)智能筛选你想要的组成列表。每个筛选器切换有一个相关联的键盘快捷方式,这个快捷方式你可以通过光标悬停在该图标上发现。

intellisense

要启用这个功能,通过Tools > Options > Text Editor > [C# | Visual Basic] > IntelliSense ,然后确认高亮和筛选选项。

 

更多快捷操作和重构

我们添加了下列重构和代码执行操作,以协助你写代码:

  • 添加大括号(仅限C#)。允许你在if-else语句正文中添加大括号,可以让你单击一下就可以快速将单行if语句转换成多行语句。

          addbraces

  • 将属性转换成方法(C# 和 VB)。有时候属性会作用到函数中执行逻辑,这些重构会让你将这些强逻辑属性转换成为方法。

          property2method

  • 添加缺少的switch/Select case(C# 和 VB)语句。这个操作可以帮你分清楚在你的switch/Select中你缺了哪些case,并且帮你添加。

          missingswitch

为了实现重构或代码执行操作,请将光标放在表达式中,使用键盘快捷方式Ctrl +. 或者右击进行选择快速执行和重构。

今天就试用Visual Studio ’15’ Preview 3 中 C# 7 和其他功能吧! 和往常一样,你可以通过提交问题或在我们的Roslyn repo 上分享你的想法或给予反馈。