如何在C# .NET文档中添加换行符

296

这应该会容易得多...

我想在我的代码的XML文档中添加一个"编码"换行符。

/// <summary>
/// Get a human-readable variant of the SQL WHERE statement of the search element. &lt;br/&gt;
/// Rather than return SQL, this method returns a string with icon-tokens, which 
/// could be used to represent the search in a condensed pictogram format.
/// </summary>

正如你所看到的,我找到了一些答案,展示了如何添加<和>括号。 有趣的是,传统的<br/ >换行标签在Intellisense弹出窗口中并不能创建一个换行。

我觉得这很烦人...

你有什么建议吗?


12
自Visual Studio 2019起,可以使用<br/>来创建换行符。请参考此处的答案。 - Mahipal
5个回答

433
您可以使用<para />标签来产生段落间隔,或者将文本包装在<para></para>标签中以将文本分组并在其后添加空白行,但是没有类似于<br />的等效物。 (根据旧MS论坛帖子的设计。)您可以在MS的这篇文档文章中获取可用标签的列表。 记录您的代码
示例(基于原始OP示例):
/// <summary>
/// <para>Get a human-readable variant of the SQL WHERE statement of the search element.</para>
/// Rather than return SQL, this method returns a string with icon-tokens, which 
/// could be used to represent the search in a condensed pictogram format.
/// </summary>

7
啊哈!现在我们开始行动了!谢谢!这个问题困扰我已经很长时间了……我看到了“para”选项,但是以为它是一个“参数”快捷键。 - Tinkerer_CardTracker
2
对我没用。在VS 2010上使用VB.NET,尝试过使用和不使用Powertools的彩色参数选项,<para>标记被忽略,在智能感知中一切都混杂成一行。发现了这个问题,在那里Hans解释了问题:https://dev59.com/H2w05IYBdhLWcg3wuUEL. - Victor Zakharov
1
<para/>在文本前或文本放在<para>...</para>中会另起一行。已在VS2015中进行测试。 - Sinatr
108
这样做的坏处是实际上会增加一个完整的空行,而不仅仅是换行。 - Devid
8
有人找到了一种只插入一行而非两行的方法吗?请帮我翻译。 - user8620003
显示剩余10条评论

251

从Visual Studio 2019版本开始,在注释中使用<br/>表示换行。

例如:

/// <summary>
/// This is a comment.<br/>
/// This is another comment <br/>
/// This is a long comment so i want it to continue <br/> on another line.
/// </summary>

在 Visual Studio 2019 工具提示中显示的摘要图像,其中每个 HTML 换行标记添加到摘要文本中的每个换行符都显示出来

注意,在使用<br/>替代<para>时不会添加额外的空行。


23
仍然有用,因为这个问题是如何在C#文档中添加换行符的顶级Google搜索结果。 - Dan
如果这个功能在 Visual Studio 2019 中和在 Visual Studio Code 中同样有效,我会点赞的。也许是我错过了某些设置,但是在 VSC 中, <br/> 对我来说没有任何作用。不过还是谢谢你关于 VS 的提示! - IdusOrtus
2
他们现在也建议使用<br/>标签。;-) - 2-Lee
1
尽管如此,在/* */注释的情况下它无法正常工作。这就是微软产品的美妙之处。 - Vassilis

93

这是我的用法,比如 <br/> ,它有效地工作了 :)

/// <summary>
/// Value: 0/1/2
/// <para/>0 foo,
/// <para/>1 bar,
/// <para/>2 other
/// </summary>

8
为什么这个答案会被踩?它是有效的,而且似乎比使用“<para> </para>”、“<para> </para>”或不可见字符更好的解决方案。 - Dinei
22
最近的 Visual Studio 版本中,在使用 <para/> 时会添加一个空行,而不仅仅是换行符。 - Dinei
2
@IlPADlI,+1 个使用示例。已确认在 VS 2012 Ultimate Update 5 上可用。 - Dennis T --Reinstate Monica--
9
VS 2017:添加了空行,而不仅仅是换行...微软确实喜欢告诉我们该怎么做... - Assimilater
1
@Assimilater:欢迎你自己编写操作系统、集成开发环境和其他你似乎不满意的微软工具。 - Mircea Ion
显示剩余5条评论

27

在其中添加一个特殊字符的<para>标签,即255个字符或不可见字符

/// <summary>
/// Some text
/// <para>   </para>
/// More text
/// </summary>
/// <param name="str">Some string</param>
public void SomeMethod(string str) { }

它将按照以下方式工作: enter image description here

10
这很有帮助,然而 &nbsp; 不起作用,可以使用 /// <para>&#160;</para> 来代替。 - Robert H
1
我个人会把 /// <para> </para> 记在便签上,这样只需要复制粘贴即可!(对我来说至少是有效的) - Joel
2
我不知道为什么,但是复制粘贴 /// <para> </para> 根本不起作用。 /// <para>&#160;</para> 起作用! - wenqiang
10
与其在文本块之间使用<para>标记,您应该在<summary>元素中的第一个段落之外使用<para>标记。对于<typeparam><param><value><exception><returns>元素,如果有多个段落,则应将它们用于所有段落(如果这些元素只有一个,则为可选)。对于所有其他块元素(包括另一个块元素内的<note>),即使只有一个段落,也要在所有段落周围使用<para>标记。 - Sam Harwell
1
我编写了这个,包括大部分演示风格:http://openstacknetsdk.org/docs-master/html/362f6481-64dd-4f21-9e71-1d157b5dc745.htm - Sam Harwell
显示剩余5条评论

6

<br></br><br />似乎不起作用,有时候并不是要让<para>句子分开,而是希望有一个空行来区分。我在这里提到这个问题,因为这个问题似乎是很多类似问题的根源。

唯一有效的方法是:

<para>&#160;</para>

例如。
/// <summary>
///     <para>
///         "This sentence shows up when the type is hovered"
///     </para>
///     <para>&#160;</para>
///     <para>int PrimaryKey</para>
///     <para>&#160;</para>
///     <para>virtual Relation Relation</para>
/// </summary>

结果在

"This sentence shows up when the type is hovered"

int PrimaryKey

virtual Relation Relation

1
从2023年开始,当使用JetBrains Rider 2023.1.2时,在C#中使用/// <para>&#160;</para>是有效的,尤其是在<code>元素内部,当您希望在代码示例块之间有空行时。 - Eric Mutta

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