Visual studio Razor助手语法自动格式化。如何修复?
所以我对VisualStudio格式化razor代码的方式有意见。我一直对VisualStudio和它如何格式化UI代码有一些问题,它似乎总是做得非常糟糕,这是业界不愿意遵循的 所以这个例子看起来真的很愚蠢。我正试图找出是否有mod或方法来解决这个问题。看起来真的很糟糕 有人知道这件事吗?哈哈Visual studio Razor助手语法自动格式化。如何修复?,visual-studio,syntax,formatting,razor,Visual Studio,Syntax,Formatting,Razor,所以我对VisualStudio格式化razor代码的方式有意见。我一直对VisualStudio和它如何格式化UI代码有一些问题,它似乎总是做得非常糟糕,这是业界不愿意遵循的 所以这个例子看起来真的很愚蠢。我正试图找出是否有mod或方法来解决这个问题。看起来真的很糟糕 有人知道这件事吗?哈哈 @using Company.Mobile2.Enums @helper BidsByShipment(string generatedId, int bidsCount, int activeBidsC
@using Company.Mobile2.Enums
@helper BidsByShipment(string generatedId, int bidsCount, int activeBidsCount)
{
if (bidsCount > 0)
{
<a class="Company-listview-link Company-listview-bids" href="/Shipping/Bids/ByShipment?id={0}">
@if (activeBidsCount > 0)
{
<text>@bidsCount (@activeBidsCount @GetStr("Company"))</text>
}
else
{
<text>@bidsCount</text>
}
</a>
}
else
{
<text>0 @GetStr("Company")</text>
}
}
@使用Company.Mobile2.Enums
@助手BidsByShipment(字符串generateId、int-bidscont、int-activebidscont)
{
如果(投标报价>0)
{
}
其他的
{
0@GetStr(“公司”)
}
}
C#代码的格式与HTML代码分开。如果你想要正确的缩进,那么只要把一些无用的包装标签放在你希望缩进的地方,你就会得到缩进。但这将是一种反模式
这是代码。对于您定义的函数,我不确定它是否真的有效
@using Company.Mobile2.Enums
<div>
@helper BidsByShipment(string generatedId, int bidsCount, int activeBidsCount)
{
if (bidsCount > 0)
{
<a class="Company-listview-link Company-listview-bids" href="/Shipping/Bids/ByShipment?id={0}">
@if (activeBidsCount > 0)
{
<text>@bidsCount (@activeBidsCount @GetStr("Company"))</text>
}
else
{
<text>@bidsCount</text>
}
</a>
}
else
{
<text>0 @GetStr("Company")</text>
}
}
<div>
@使用Company.Mobile2.Enums
@助手BidsByShipment(字符串generateId、int-bidscont、int-activebidscont)
{
如果(投标报价>0)
{
}
其他的
{
0@GetStr(“公司”)
}
}
显然目前没有办法解决这个问题,这是他们在另一个相关问题中回答的:您是否已将Visual Studio设置为使用制表符缩进?这揭示了一个剃刀格式错误,它在其中插入空格而不是应该插入的制表符。解决方法是切换到空格缩进。对于所有pe人们抱怨VisualStudio,我认为它允许您在HTML和C#之间切换,而不被告知您正在使用哪种语言,这给人留下了深刻的印象
从一个更实际的角度来说,我认为我的建议是将上面所示的很多东西结合起来
<table>
<tr>
<th>Chapter</th>
@*<th class="woCoursewareFindTd">Page count</th>*@
<th>Contents</th>
</tr>
@{
foreach (var c in Model.Chapters)
{
if (c.Courseware2Id == c2.Courseware2Id)
{
<tr>
<td>
@{
if (c.ChapterFileName.ToString().ToLower() == "none")
{
WriteLiteral(c.Courseware3Name);
}
else
{
<a href="@c.Href">@c.Courseware3Name (click to download)</a>
}
}
<p>(@c.PageCount page@(c.PageCount == 1 ? "" : "s"))</p>
</td>
<td>
@Html.Raw(c.SectionText)
</td>
</tr>
}
}
}
章
@*页数*@
目录
@{
foreach(模型章节中的var c)
{
如果(c.Courseware2Id==c2.Courseware2Id)
{
@{
如果(c.ChapterFileName.ToString().ToLower()=“无”)
{
书面(c.课件3名);
}
其他的
{
}
}
(@c.PageCount page@(c.PageCount==1?”:“s”))
@Html.Raw(c.SectionText)
}
}
}
完美!感谢上面所有的StackOverflow贡献者。我为razor文档的格式化做了一个扩展 安装: 1) 在扩展中搜索“razor格式化程序” 2) 按CTRL+p,然后在下面输入命令并按enter键:
ext install Kookweb.razor-formatter
VSCode市场上的链接:
github上的来源:
当然,这不是最好的格式化程序,但这是目前唯一的格式化程序
这只是一个适用于razor文档的简单HTML美化工具。如果有人对其进行改进,我会很高兴的。我也有同样的问题,但还没有找到一个很好的解决方法:(通常VS会在我的“{”前面放一个空格。它肯定需要一些工作:(是的,这是狗的早餐。也让我发疯了-尤其是因为它已经被破坏了…我希望VS能给我们一个选项,不格式化UI代码。技术上可能是我的重复…我先发布了我的。我不知道这怎么解决问题。糟糕的缩进是在html上,不是吗那么放置包装标签如何解决这个问题呢?包装标签仍然会被错误地缩进?也许一个简短的例子会有所帮助?不幸的是,这个扩展已经不复存在了。