【译】Visual Studio 的 Razor 编辑器的改进
自从我们在一个通用的 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 编辑器的改进的更多相关文章
- Visual Studio工具——为编辑器增加垂直辅助线
原文:<Visual Studio工具> Posted on 2014/03/13 ==================================================== ...
- 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 ...
- 【译】New experimental Razor editor for Visual Studio
随着 Visual Studio 2019 16.7 Preview 4 的发布,现在可以尝试我们新的实验性 Razor 编辑器,用于本地开发,包括 MVC.Razor Page 和 Blazor.我 ...
- 在 Visual Studio 等编辑器/IDE中自动切换输入法,不需要手动的有没有?
使用Visual Studio写代码,经常遇到的一个问题就是切换中文输入法麻烦,输入完注释//,要切换到中文,输入完引号,要输入中文,然后还需要切换回来,有没有? 有时候中文输入法忽然失效有没有?明明 ...
- 分享10条Visual Studio 2012的开发使用技巧
使用Visual Studio 2012有一段时间了,并不是追赶潮流,而是被逼迫无可奈何.客户要求的ASP.NET MVC 4的项目,要用.NET 4.5来运行.经过一段时间的摸索,得到一点经验和体会 ...
- Visual Studio 2012的开发使用技巧
分享10条Visual Studio 2012的开发使用技巧 使用Visual Studio 2012有一段时间了,并不是追赶潮流,而是被逼迫无可奈何.客户要求的ASP.NET MVC 4的项目,要用 ...
- [转]基于Visual Studio 2010 进行敏捷/Scrum模式开发
http://www.infoq.com/cn/articles/visual-studio-2010-agile-scrum-development 根据Forrester Research今年第二 ...
- 微软Visual Studio Code 0.8.0发布,新增多种主题
月30日,Build 开发者大会上,正式宣布了 Visual Studio Code 项目;并将其定义为:一个运行于 Mac OS X.Windows和 Linux 之上的,针对于编写现代 Web 和 ...
- 剖析并利用Visual Studio Code在Mac上编译、调试c#程序
0x00 前言 一周多以前的微软的Build大会上,微软发布了一个让很多人眼前一亮的工具,也是本文的主角——Visual Studio Code.很多使用Windows的朋友都很高兴,认为又多了一个很 ...
随机推荐
- 煎蛋网爬虫之JS逆向解析img路径
图片使用js onload事件加载 <p><img src="//img.jandan.net/img/blank.gif" onload="janda ...
- K8S(04)核心插件-coredns服务
K8S核心插件-coredns服务 目录 K8S核心插件-coredns服务 1 coredns用途 1.1 为什么需要服务发现 2 coredns的部署 2.1 获取coredns的docker镜像 ...
- ubuntu 16.04 i386 安装 ruby + bundler + rails ; 搭建简单的网站bitbar
参考 http://gorails.com/setup/ubuntu/16.04 概述 Project 2 主要探究对web的攻击,本次试验共有6个部分. Project 2中攻击的是一个提供电子货币 ...
- 图解算法——恢复一棵二叉搜索树(BST)
题目来源 基础:给你二叉搜索树的根节点 root ,该树中的两个节点被错误地交换.请在不改变其结构的情况下,恢复这棵树. 进阶:使用 O(n) 空间复杂度的解法很容易实现.你能想出一个只使用常数空间的 ...
- map最最最基本用法
map<a,b>c中,a,b是变量类型 参数定义的map的名字 #include<stdio.h> #include<map> //头文件 map<int,c ...
- Smashing Conf 2020
Smashing Conf 2020 https://smashingconf.com/online-workshops/ events https://smashingconf.com/ny-202 ...
- macOS 录屏 gif
macOS 录屏 gif LICEcap bug 授权问题? 如何在 Mac 上录制屏幕 https://support.apple.com/zh-cn/HT208721 Command + Shif ...
- Flutter 使用 flare
video flare_flutter 工作示例 install dependencies: flare_flutter: ^1.5.5 assets: - assets/flr/switch_day ...
- Flutter 删除AppBar的返回icon
设置automaticallyImplyLeading: false即可,替换可以修改"leading"参数 ... appBar: AppBar( automaticallyIm ...
- 链表、栈、队列、KMP相关知识点
链表.栈与队列.kmp; 数组模拟单链表: 用的最多的是邻接表--就是多个单链表: 作用:存储树与图 需要明确相关定义: 为什么需要使用数组模拟链表 比使用结构体 或者类来说 速度更快 代码简洁 算法 ...