该Microsoft.CodeAnalysis.Editing.ImportAdderService.AddImportsAsync方法仅访问非琐事语法节点,因此不会为它们添加命名空间导入.这导致了结果,当使用时,xml文档注释中的cref不能简化为它们的短名称Microsoft.CodeAnalysis.Simplification.Simplifier.
我遇到的最大问题是简化会导致结果不一致.假设您有多个cref,并且对于一个cref,您有一个名称空间导入(由于另一种类型引入,实际上在非琐事节点中使用).然后,这一个cref缩短了,而其他的则没有.
为了澄清.
申请之前ImportAdderService和Simplifier:
namespace Namespace
{
/// <summary>
/// <see cref=""System.Collections.IEnumerable"" />
/// <see cref=""System.Collections.Generic.IEnumerable{T}"" />.
/// </summary>
internal class MyDeclaration
{
System.Collections.IEnumerable Field;
}
}
Run Code Online (Sandbox Code Playgroud)
申请后ImportAdderService和Simplifier:
using System.Collections;
namespace Namespace
{
/// <summary>
/// <see cref=""IEnumerable"" />
/// <see cref=""System.Collections.Generic.IEnumerable{T}"" />.
/// </summary>
internal class MyDeclaration
{
IEnumerable Field;
}
}
Run Code Online (Sandbox Code Playgroud)
题
我可以解决这个问题吗?我们肯定希望为cref标签中引用的所有类型添加使用.
或者甚至是设计?
我想这确实是一个缺失的功能,告诉ImportAdderService访问trivia语法节点.
| 归档时间: |
|
| 查看次数: |
165 次 |
| 最近记录: |