【问题标题】:Formatting Razor Files in Visual Studio Code在 Visual Studio Code 中格式化 Razor 文件
【发布时间】:2021-09-18 20:17:06
【问题描述】:

任何人有一个很好的解决方案来格式化 VSCode 中的 Razor 文件?我试过让它与 prettify-vscode 和 beautify 一起工作。但在这两种情况下,它都无法分辨出 cshtml 文件。我不想将我的 razor 更改为 html,因为我会失去很多 razor-ness。

【问题讨论】:

  • 我看到这是一年前的事了,但我刚刚尝试了 VahidN 的解决方案,它就像一个魅力。我想这可能只是忘记了这篇文章,因为它很容易做到,但如果它对你有用,你应该回去接受他的回答。否则,让他知道为什么它不起作用。

标签: razor visual-studio-code


【解决方案1】:

您可以将它们作为 HTML 文件(文件 -> 首选项 -> 设置)引入,无需任何第三方扩展:

{
  "editor.formatOnSave": true,
  "emmet.includeLanguages": {
    "aspnetcorerazor": "html"
  },
  "files.associations": {
    "*.cshtml": "html"
  }
}

更新:v1.17.0 of C# for Visual Studio Code add-on 添加了预览 Razor (cshtml) 语言服务,支持 C# 完成和诊断。

【讨论】:

  • 这在一定程度上起作用 - Razor 代码在自动格式化为 1 行时会中断,例如:'page' 指令需要一个用双引号括起来的字符串。 + at)page at)model IndexModel
  • 我只是想补充一下,“剃刀”语言实际上已更改为“aspnetcorerazor”
  • 我认为这可以简化为,“如果你有 formatOnSave 使用 prettier,你可以将 "files.associations": {"*.cshtml": "html"} 添加到你的偏好 JSON 中,并且也有 cshtml prettier-ed。 “听起来对吗? files.assocations 可能会导致哪些副作用?它更具体吗? (出现 not to be prettier specific 并且很可能有副作用。)
【解决方案2】:

有一个扩展,我们可以通过快捷键快速切换语言模式:changeLanguageMode.change

我将这些快捷方式用于 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 打开控制面板并选择Preferences: Open Keyboard Shortcuts File

然后使用 Ctrl + KCtrl + F 来格式化选择。

【讨论】:

  • IMO 这是一个比 VahidN 更好的答案,尽管我只是使用“更改语言模式”来回更改而不是创建键盘快捷键。仅在需要文档格式时才对 cshtml 文件使用 html 格式,但最好切换回 Razor 编辑以支持 Razor 标记。令人恼火的是,一年多后仍然不支持格式化:devblogs.microsoft.com/aspnet/…
【解决方案3】:

首先:打开.vscode文件夹中的setting.json文件,然后添加下一个块:

{
"editor.formatOnSave": true,
"emmet.includeLanguages": {
    "razor": "html"
},
"files.associations": {
    "*.cshtml": "html"
}

有时需要重启vscode

最后:在文件中格式化 Ctrl + k , Ctrl + f

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-12
    • 1970-01-01
    • 2021-06-26
    • 1970-01-01
    • 1970-01-01
    • 2016-10-29
    • 2023-03-16
    • 1970-01-01
    相关资源
    最近更新 更多