Visual Studio 2010 自动格式化 ASPX 弊端

Posted

技术标签:

【中文标题】Visual Studio 2010 自动格式化 ASPX 弊端【英文标题】:Visual Studio 2010 Auto-Formatting ASPX maladies 【发布时间】:2013-04-18 07:23:42 【问题描述】:

好的。我做了很多搜索,发现很多帖子解决这个问题,但实际上没有任何解决方案。

Visual Studio 2010 非常喜欢自动格式化我的代码。当它真的按照我的吩咐去做时,这一切都很棒而且很棒。 在编辑 .aspx 文件时,格式化对我来说效果不佳。所以我尝试在所有结束标签和Format Document(ctrl+k,Ctrl+d 或 Ctrl+e,d)之前和之后放置空格,它会根据Text Editor->html->Formatting 中的Tag Specific Options... 对其进行格式化,即我痴迷地设置、检查和仔细检查。显然,格式化was a design decision 时需要前导和尾随空格,尽管我不知道为什么,因为在解析普通 html 文档时会忽略大多数空格。无论如何,我可以处理,我只需要放置大量额外的空间,然后它会做对,对吧?简而言之:不。要点:在我努力确保它按照我设置的方式格式化所有内容之后,通过放置大量额外的空格在我的标记和Format Documenting 中,像这样:

                        </asp:TableCell>
                    </asp:TableRow>
                </asp:Table>
            </div>
            <div id="Week2Summary" align="right">
                Week 2 - Summary
            </div>
            <br />
            <div id="PayPeriod" align="right">
                Pay Period- Summary
            </div>
        </div>
        <br />
        <asp:Panel ID="pnlTimeModify" runat="server" Visible="False" borderColor="#009900"
            Width="100%">

每当我切换到设计器视图、保存或有时只是看错时,它都会删除所有空间、重新格式化并搞砸:

            </asp:TableCell></asp:TableRow></asp:Table></div><div id="Week2Summary" align="right">
            Week 2 - Summary </div><br /><div id="PayPeriod" align="right">
            Pay Period- Summary </div></div><br /><asp:Panel ID="pnlTimeModify" runat="server" Visible="False" BorderColor="#009900"
                Width="100%">

所以,我安装了 PowerCommands 和 Productivity Power Tools,其中一个添加了默认为关闭的“保存时格式化”设置。伟大的!重新启动,它似乎工作得很好。重新启动几次,它会再次这样做。现在我要炸毁电脑,走出办公室。我会把咆哮留到其他地方。

简而言之:我需要知道如何制作VS:

随时自动停止格式化 停止删除我的空格,因为它会强制格式化正常工作 或首先停止要求额外的空格

这样我就可以再次安心工作了。 (我敢肯定大厅里的女孩们已经厌倦了我周期性的尖叫。)

我的尝试:

在文本编辑器中设置格式设置->HTML->格式设置->标记特定选项... 安装 PowerCommands 和 Productivity Power Tools 并编辑设置以“防止”保存时格式化 使用额外的空格来强制格式化正常工作(当我保存或切换视图时,VS 会自动删除) 更改“文件扩展名”选项,使 .aspx 以 XML 和 HTML 文档的形式打开,完全没有帮助。

但是,它继续使我的血压升高。感谢你给与我的帮助。我要去吃午饭,试着冷静一下。

【问题讨论】:

【参考方案1】:

遇到了同样的问题,我在 Scott Gu 的博客上找到了答案。

解决方法是在 Visual Studio 中设置格式规则(右键单击任何标记,单击格式和验证,单击标记特定选项)

当按下 ctrl-k 时,ctrl-d 文档将根据您的设置进行格式化。如果结束标签没有移动到新行,那是因为结束标签和它前面的内容之间没有空格。发生这种情况是因为 Visual Studio 小心翼翼地不更改页面的呈现方式。

要查看完整的博文,请查看 Scott Gu 的博文。

http://weblogs.asp.net/scottgu/archive/2006/07/07/Tip_2F00_Trick_3A00_-Custom-formatting-HTML-in-Visual-Web-Developer-and-Visual-Studio-2005.aspx

【讨论】:

诀窍是:我已经这样做了,我确实在我想成为一行的末尾添加了一个额外的空格。但是,Visual Studio 格式会自动删除行尾的多余空格,这会导致我的换行符被自动格式删除。

以上是关于Visual Studio 2010 自动格式化 ASPX 弊端的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio - 如何在运行宏时禁用自动格式化/更正?

如何禁用 Visual Studio 的 SQL 自动格式化和类设计器功能?

是否有任何 Visual Studio 插件可以自动格式化我喜欢的代码?

Visual Studio 2010 中的代码自动清理

Visual Studio 2010 中的 HTML 格式

visual studio如何设置自动检查语法错误啊!我用的2010版本