有没有办法在C# XML注释中保留空格?

9

我目前正在记录我的C#代码,并且希望能够包含一个直接显示如何调用代码的代码块。我使用嵌入到摘要中的 <code> 标签:

Code block embedded in C# XML comment summary

虽然这种方式在一般情况下是有效的,但我想保留空格(换行符、缩进)。我迄今为止尝试过以下方法:

  • <code> 标签应用了 xml:space="preserve" 属性,但是没有任何效果。
  • 使用 <br /> 表示单个换行符(在VS 2019中可以工作),但是我无法插入空格或制表符。我尝试使用 &#x20;(表示空格)和 &#x9;(表示制表符),但弹出窗口不会显示这些内容。
  • 我尝试使用 CDATA 部分,但其中的代码根本没有显示。

Br tags work, but space and tab are ignored by the parser

有没有办法在C# XML注释的代码标记中保留空格? 预先感谢您的帮助。

1个回答

6
你的第一个XML文档注释是正确的。你不应该依赖Intellisense在工具提示中显示的内容。Intellisense并不尊重所有格式,但随着每个VS版本的发布,它正在变得越来越好。 <code>标记中的换行符和空格将被生成XML注释文档的工具(例如VSdocman(我是作者)或Sandcastle)所尊重。CDATA也适用于此。因此,如果你从注释中生成HTML文档,你的代码块将看起来很好,包括所有的空格和换行符。
如果你想在Intellisense中正确地看到它,你必须等待,或者更好的是,从Visual Studio向MS团队发送反馈。

谢谢您的回答,我会向VS团队提供反馈。 - feO2x
1
我在VS开发者社区中创建了一个问题。感谢点赞: https://developercommunity.visualstudio.com/t/Intellisense-Popup-does-not-preserve-whi/1412501 - feO2x
1
<code></code> 标签对我有一定帮助,但它无法保留制表符。为了解决这个问题,我不得不在我的制表符前添加一个 <br/> 标签。 - Display name

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接