自从我们在一个通用的 Razor 语言服务器上发布了 Visual Studio 的一个新的实验性 Razor 编辑器的第一个预览版以来,已经过去了6个月,现在是时候更新一下我们的进展了。团队一直在努力使新的 Razor 编辑器达到与旧的同等水平,修复 bug,并添加许多很棒的新功能。我们认为新的编辑器已经为日常开发做好了准备,所以现在是时候用最新的 Visual Studio 预览版来尝试一下了。我们希望你能尝试新的 Razor 编辑器,并与我们分享你的体验!

让我们开始吧

  要开始使用新的 Razor 编辑器:

1. 安装最新版 Visual Studio preview (16.9 Preview 3)(可以安全地同时安装 Visual Studio 预览版和 Visual Studio 稳定版)

2. 选择 Tools > Options > Environment > Preview Features 并勾选 Enable experimental Razor editor 选项:

  当你打开新的 Razor 编辑器时,你可能会发现它已经打开了。从 Visual Studio 16.9 Preview 3开始,我们慢慢向不同的用户群推广新的 Razor 编辑器。如果您之前尝试过新的编辑器,然后将其关闭,那么就不会成为自动展示的一部分,您需要手动重新启用它,以查看我们所取得的所有进展。新编辑器的许多已知问题现在已经修复,所以如果您在早期版本中遇到了阻塞问题,那么值得再试一次。

新的变化

  除了致力于 Razor 编辑器的基本体验(自动完成、诊断、工具提示、语法着色等),团队还为新的 Razor 编辑器添加了一系列新特性。基于新的基于语言服务器协议(LSP,Language Server Protocol)的架构使得这些特性中的许多变得可能或更容易实现。

改进格式化

  新的 Razor 编辑器有一个改进后的格式引擎,它比旧的更加保守(首先,不要造成破坏!),并且在处理代码方面也更加聪明。

  我们致力于修复 Razor 的格式化,这样你就会对新的编辑器微笑,所以如果你点遇到格式化问题,请告诉我们,我们一定会解决它们。

C# 代码的行为

  一些 C# 代码行为现在可以在 Razor 文件中使用:

      • 添加@using指令或完全限定类型名

      • 添加 null 检查

  新的 Razor 编辑器的设计使启用 C# 代码行为变得更加容易,我们希望在未来的版本中启用更多。

已关闭文件的重命名

  重命名不再局限于打开 Razor 文件。关闭的 Razor 文件中的名字也会得到更新。

重命名 Blazor 组件

  现在可以从 Blazor 组件的标记重命名它。组件 Razor 文件将被自动重命名。

组件的代码行为

  几个组件特定的代码操作现在也可用:

      • 从未知标签创建组件

      • 将 @code 提取到代码后置

添加@using或完全限定名

转到组件定义

  需要快速查看组件的代码吗?只要按下 F12 就可以了!

使用 LiveShare 编辑 Razor

  新的 Razor 编辑器也可以与 LiveShare 一起工作,所以即使在远程会话中使用 Razor,你也可以获得所有新的 Razor 编辑功能。

在 Visual Studio Code 中使用新的 Razor 编辑器

  因为新的 Razor 编辑器基于可重用的 Razor 语言服务器,新的 Razor 编辑器及其新特性也可以从安装了 C# 扩展的 Visual Studio Code 中获得。

  Mac 版的 Visual Studio 怎么样?Visual Studio for Mac 目前还不支持LSP,但是一旦它支持了,我们就会在 Visual Studio for Mac 中加入新的 Razor 编辑器。

Razor 语法着色改进

  我们还在新编辑器中对 Razor 语法着色进行了一些改进,希望得到你们的反馈。如果你还没有参加以下的调查,请花点时间与我们分享你的意见。

已知问题

  新 Razor 编辑器的这个版本仍然有一些已知的问题:

      • Razor 语法着色缺陷。Razor 语法着色有时需要编辑来触发,或者在某些情况下可能使用不正确的颜色。

      • 没有代码片段完成。新编辑器还不支持 Snippet completion(如prop)。

      • 有限覆盖完成。方法重写完成将只生成方法名,而不生成完整的方法签名。

  这些问题都正在解决,并将在未来的版本中解决。

反馈

  如果你在新编辑器中遇到问题,最好的方法是使用 Visual Studio 中的 Send Feedback > Report a Problem 功能。

  除了您提供的信息外,提交的问题将自动包含我们诊断和解决问题所需的所有相关日志。

  我们希望您喜欢新的 Razor 编辑器。感谢您试用新的 Razor 编辑器,并与我们分享您的反馈!

原文链接

  https://devblogs.microsoft.com/aspnet/improvements-to-the-new-razor-editor-in-visual-studio/

【译】Visual Studio 的 Razor 编辑器的改进的更多相关文章

  1. Visual Studio工具——为编辑器增加垂直辅助线

    原文:<Visual Studio工具> Posted on 2014/03/13 ==================================================== ...

  2. Fix Visual Studio 2013 Razor CSHTML Intellisense in Class Library or Console Application

    https://mhusseini.wordpress.com/2015/02/05/fix-visual-studio-2013-razor-cshtml-intellisense-in-class ...

  3. 【译】New experimental Razor editor for Visual Studio

    随着 Visual Studio 2019 16.7 Preview 4 的发布,现在可以尝试我们新的实验性 Razor 编辑器,用于本地开发,包括 MVC.Razor Page 和 Blazor.我 ...

  4. 在 Visual Studio 等编辑器/IDE中自动切换输入法,不需要手动的有没有?

    使用Visual Studio写代码,经常遇到的一个问题就是切换中文输入法麻烦,输入完注释//,要切换到中文,输入完引号,要输入中文,然后还需要切换回来,有没有? 有时候中文输入法忽然失效有没有?明明 ...

  5. 分享10条Visual Studio 2012的开发使用技巧

    使用Visual Studio 2012有一段时间了,并不是追赶潮流,而是被逼迫无可奈何.客户要求的ASP.NET MVC 4的项目,要用.NET 4.5来运行.经过一段时间的摸索,得到一点经验和体会 ...

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

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

  7. [转]基于Visual Studio 2010 进行敏捷/Scrum模式开发

    http://www.infoq.com/cn/articles/visual-studio-2010-agile-scrum-development 根据Forrester Research今年第二 ...

  8. 微软Visual Studio Code 0.8.0发布,新增多种主题

    月30日,Build 开发者大会上,正式宣布了 Visual Studio Code 项目;并将其定义为:一个运行于 Mac OS X.Windows和 Linux 之上的,针对于编写现代 Web 和 ...

  9. 剖析并利用Visual Studio Code在Mac上编译、调试c#程序

    0x00 前言 一周多以前的微软的Build大会上,微软发布了一个让很多人眼前一亮的工具,也是本文的主角——Visual Studio Code.很多使用Windows的朋友都很高兴,认为又多了一个很 ...

随机推荐

  1. 国产网络测试仪MiniSMB - 如何3秒内创建出16,000条IP递增流

    国产网络测试仪MiniSMB(www.minismb.com)是复刻smartbits的IP网络性能测试工具,是一款专门用于测试智能路由器,网络交换机的性能和稳定性的软硬件相结合的工具.可以通过此以太 ...

  2. codeforces 920E(非原创)

    E. Connected Components? time limit per test 2 seconds memory limit per test 256 megabytes input sta ...

  3. codeforces 8B

    B. Obsession with Robots time limit per test 2 seconds memory limit per test 64 megabytes input stan ...

  4. hdoj 5971

    Wrestling Match Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)T ...

  5. codeforces 5C

    C. Longest Regular Bracket Sequence time limit per test 2 seconds memory limit per test 256 megabyte ...

  6. node.js cli downloader

    node.js cli downloader cli 下载器 refs https://github.com/xgqfrms/react-storybook-app xgqfrms 2012-2020 ...

  7. 英语能力考试 All In One

    英语能力考试 All In One 托福,雅思,托业 TOEIC 托业考试 Test of English for International Communication (TOEIC) 国际交流英语 ...

  8. React.memo All In One

    React.memo All In One https://reactjs.org/docs/react-api.html#components React.memo const MyComponen ...

  9. css variables & CSS 变量

    css variables & CSS 变量 https://gist.github.com/xgqfrms-GitHub/5d022a13292c615d2730e84d909e1aba c ...

  10. 如何通过 terminal 查看一个文件的 meta信息

    如何通过 terminal 查看一个文件的 meta 信息 Linux shell stat 查看文件 meta 信息 stat stat指令:文件/文件系统的详细信息显示: 使用格式:stat 文件 ...