在VisualStudio代码中格式化Razor文件
有人有一个很好的解决方案来格式化VSCode中的Razor文件吗?我试着让它与美化vscode和美化。但在这两种情况下,它都无法分辨cshtml文件。我不想将razor更改为html,因为我会失去很多razor特性。您可以将它们作为html文件(文件->首选项->设置)引入,而无需任何第三方扩展名:在VisualStudio代码中格式化Razor文件,razor,visual-studio-code,Razor,Visual Studio Code,有人有一个很好的解决方案来格式化VSCode中的Razor文件吗?我试着让它与美化vscode和美化。但在这两种情况下,它都无法分辨cshtml文件。我不想将razor更改为html,因为我会失去很多razor特性。您可以将它们作为html文件(文件->首选项->设置)引入,而无需任何第三方扩展名: { "editor.formatOnSave": true, "emmet.includeLanguages": { "razor": "html" }, "files.as
{
"editor.formatOnSave": true,
"emmet.includeLanguages": {
"razor": "html"
},
"files.associations": {
"*.cshtml": "html"
}
}
更新:Visual Studio代码的
C#v1.17.0版
附加的预览剃刀(cshtml)语言服务,支持C#完成和诊断。有一个扩展,我们可以通过快捷方式在语言模式之间快速切换:
我对js、html和cshtml使用以下快捷方式:
{
"key":"ctrl+k j",
"command":"changeLanguageMode.change",
"args": {
"languageId":"javascript"
}
},
{
"key":"ctrl+k h",
"command":"changeLanguageMode.change",
"args": {
"languageId":"html"
}
},
{
"key":"ctrl+k k",
"command":"changeLanguageMode.change",
"args": {
"languageId":"aspnetcorerazor"
}
}
要打开keybindings.json
并添加以下快捷方式:
用CTRL+SHIFT+p打开控制面板,然后选择首选项:打开键盘快捷键文件
然后使用Ctrl+K、Ctrl+F仅格式化所选内容。首先:打开.vscode文件夹中的file setting.json,然后添加下一个块:
{
"editor.formatOnSave": true,
"emmet.includeLanguages": {
"razor": "html"
},
"files.associations": {
"*.cshtml": "html"
}
有时需要重新启动vscode
最后:在要格式化Ctrl+k、Ctrl+f的文件中,这在一定程度上起作用-Razor代码在自动格式化到一行时会中断,例如:“page”指令要求字符串用双引号括起来在)第页在)模型索引模型我想补充一点,“razor”语言实际上已经改为“aspnetcorerazor”,我知道这是一年前的事了,但我刚刚尝试了VahidN的解决方案,效果很好。我想这可能只是忘记了这篇文章,因为它很容易做到,但如果它对你有用,你应该回去接受他的答案。否则,让他知道为什么它不起作用。在我看来,这是一个比VahidN更好的答案,尽管我只是使用“更改语言模式”来回更改,而不是创建键盘快捷键。对cshtml文件使用html格式仅在需要文档格式时有用,但最好切换回Razor编辑以获得Razor标记支持。令人恼火的是,一年多后仍不支持格式化: