VS Intellisense:在悬停时显示缩进的多行代码示例
VS Intellisense: Show INDENTED multiline code example on hover-over
这样的事情可能吗?如果不清楚我在说什么,这里有一个详细的例子:
使用我几周前写的这个快速实用程序class(详细信息已省略),以及我想分享的示例:
public abstract class CommonOdinAttributesForOwnedType<TProperty, TParent> : OdinAttributeProcessor<TProperty>
{
//snip
}
//EXAMPLE IMPLEMENTATION (Recommended to be nested inside MyBaseType):
protected class BoolAttributesInsideMyBaseType : CommonOdinAttributesForOwnedType<bool, MyBaseType>
{
protected override List<Attribute> GetAdditionalAttributes()
{
return new List<Attribute>()
{
new ToggleLeftAttribute(), //add more desired attributes here
};
}
}
我在摘要上面有以下XMLclass:
/// <summary>
/// Gives ALL objects of type TProperty drawn within classes derived from TParent a requested list of
/// Odin GUI attributes
/// <code>
/// //EXAMPLE IMPLEMENTATION (Recommended to be nested inside MyBaseType):
/// protected class BoolAttributesInsideMyBaseType : CommonOdinAttributesForOwnedType<bool, MyBaseType>
/// {
/// protected override List<Attribute> GetAdditionalAttributes()
/// {
/// return new List<Attribute>()
/// {
/// new ToggleLeftAttribute(), //add more desired attributes here
/// };
/// }
/// }
/// </code>
/// </summary>
现在,我可以发誓,当我最初创建 class 时,工具提示看起来就像我想要的那样......但也许我产生了幻觉。无论如何,在本周的重构期间(在此期间文件是 moved/renamed 并通过 ReSharper 的清理提供),我注意到 Intellisense 工具提示现在看起来像热垃圾:
在每行末尾添加 <br/>
只会有一点帮助:
...而且我一直无法找到一种方法来手动指定缩进,就像 <br/>
指定新行一样。我还尝试了 <remarks>
、<example>
、<para>
的多种组合以及嵌套块的各种方法,但没有任何效果。
所以:有没有办法(理想情况下)让 Visual Studio 2019 实际解析在 XML 文档 <code></code>
块中找到的空白,或者(除非)使用其他一些手动添加缩进的块,我用 <br/>
手动添加新行的方式?我看了又看,也找不到办法。
VS Intellisense: Show INDENTED multiline code example on hover-over
恐怕得不到你想要的
实际上,vs xml文档没有保持代码样式格式的能力。
在summary xml node下,不能保持代码格式。您必须手动更改格式。使用一些代码来更改显示的样式。
Is there any way to (ideally) get Visual Studio 2019 to actually parse
whitespace found inside an XML documentation <code></code>
block
换行可以用<br/>
或<para/>
。 但是无法缩进第一行。 Html格式化方法、间距、空格等都不行。
其实,这是一个缺陷---xmlvs的文档没有缩进行保持代码风格的能力。
到此为止,我们只能做你做的事情了。
此外,如果您仍然想要该功能,您可以在 our User Voice Forum 上 suggest a feature
,团队会仔细考虑您的问题,我希望他们会给您一个满意的答复。
对于它的价值 - 我已经能够通过 copy/pasting Unicode 字符 u2800(盲文模式空白字符)缩进 XML 文档中的源代码(至少在 VS 2022 上)。
其他版本的Visual Studio我还没有试过。 不幸的是,空白字符的宽度与其余等宽字符的宽度不同(至少对于我通常使用的字体,即Office CodePro Light),所以你可以'依靠这个角色来创建漂亮的 ascii-block 图表,在编辑器和 hover-over Intellisense 视图上看起来都不错)
为了方便,字符可以复制到这里(单引号之间):
'⠀'
好的,我想我找到了正确的方法来使用简单的空格来格式化文档中的代码。诀窍在于使用以下 XML 结构:
/// <remarks>
/// <example>
/// <code>
/// private async Task SomeOperationAsync() {
/// // this will be properly indented
/// await DoAsync();
/// }
/// </code>
/// </example>
/// </remarks>
编辑:这似乎是在 Visual Studio 2022 的更新中引入的(可能是 v.17.1)在我的 Visual Studio 2019(上次更新是 16.11.6)上它不起作用。
这样的事情可能吗?如果不清楚我在说什么,这里有一个详细的例子:
使用我几周前写的这个快速实用程序class(详细信息已省略),以及我想分享的示例:
public abstract class CommonOdinAttributesForOwnedType<TProperty, TParent> : OdinAttributeProcessor<TProperty>
{
//snip
}
//EXAMPLE IMPLEMENTATION (Recommended to be nested inside MyBaseType):
protected class BoolAttributesInsideMyBaseType : CommonOdinAttributesForOwnedType<bool, MyBaseType>
{
protected override List<Attribute> GetAdditionalAttributes()
{
return new List<Attribute>()
{
new ToggleLeftAttribute(), //add more desired attributes here
};
}
}
我在摘要上面有以下XMLclass:
/// <summary>
/// Gives ALL objects of type TProperty drawn within classes derived from TParent a requested list of
/// Odin GUI attributes
/// <code>
/// //EXAMPLE IMPLEMENTATION (Recommended to be nested inside MyBaseType):
/// protected class BoolAttributesInsideMyBaseType : CommonOdinAttributesForOwnedType<bool, MyBaseType>
/// {
/// protected override List<Attribute> GetAdditionalAttributes()
/// {
/// return new List<Attribute>()
/// {
/// new ToggleLeftAttribute(), //add more desired attributes here
/// };
/// }
/// }
/// </code>
/// </summary>
现在,我可以发誓,当我最初创建 class 时,工具提示看起来就像我想要的那样......但也许我产生了幻觉。无论如何,在本周的重构期间(在此期间文件是 moved/renamed 并通过 ReSharper 的清理提供),我注意到 Intellisense 工具提示现在看起来像热垃圾:
在每行末尾添加 <br/>
只会有一点帮助:
...而且我一直无法找到一种方法来手动指定缩进,就像 <br/>
指定新行一样。我还尝试了 <remarks>
、<example>
、<para>
的多种组合以及嵌套块的各种方法,但没有任何效果。
所以:有没有办法(理想情况下)让 Visual Studio 2019 实际解析在 XML 文档 <code></code>
块中找到的空白,或者(除非)使用其他一些手动添加缩进的块,我用 <br/>
手动添加新行的方式?我看了又看,也找不到办法。
VS Intellisense: Show INDENTED multiline code example on hover-over
恐怕得不到你想要的
实际上,vs xml文档没有保持代码样式格式的能力。
在summary xml node下,不能保持代码格式。您必须手动更改格式。使用一些代码来更改显示的样式。
Is there any way to (ideally) get Visual Studio 2019 to actually parse whitespace found inside an XML documentation
<code></code>
block
换行可以用<br/>
或<para/>
。 但是无法缩进第一行。 Html格式化方法、间距、空格等都不行。
其实,这是一个缺陷---xmlvs的文档没有缩进行保持代码风格的能力。
到此为止,我们只能做你做的事情了。
此外,如果您仍然想要该功能,您可以在 our User Voice Forum 上 suggest a feature
,团队会仔细考虑您的问题,我希望他们会给您一个满意的答复。
对于它的价值 - 我已经能够通过 copy/pasting Unicode 字符 u2800(盲文模式空白字符)缩进 XML 文档中的源代码(至少在 VS 2022 上)。
其他版本的Visual Studio我还没有试过。 不幸的是,空白字符的宽度与其余等宽字符的宽度不同(至少对于我通常使用的字体,即Office CodePro Light),所以你可以'依靠这个角色来创建漂亮的 ascii-block 图表,在编辑器和 hover-over Intellisense 视图上看起来都不错)
为了方便,字符可以复制到这里(单引号之间):
'⠀'
好的,我想我找到了正确的方法来使用简单的空格来格式化文档中的代码。诀窍在于使用以下 XML 结构:
/// <remarks>
/// <example>
/// <code>
/// private async Task SomeOperationAsync() {
/// // this will be properly indented
/// await DoAsync();
/// }
/// </code>
/// </example>
/// </remarks>
编辑:这似乎是在 Visual Studio 2022 的更新中引入的(可能是 v.17.1)在我的 Visual Studio 2019(上次更新是 16.11.6)上它不起作用。