IntelliSense и свернутые комментарии XML не отображаются должным образом в представлении дизайна

Я пытаюсь создать комментарии XML для IntelliSense и использовать для этого следующее:

'''<summary>Units
''' <para>MinOccurs: '0'</para>
''' </summary>
Public Property S_Units As String = Nothing

В разобранном виде это выглядит так:

'''<summary>BinLocation
Public Property B_BinLocation As String = Nothing

Что я пытаюсь сделать, так это добавить XML-комментарий, и когда он свернут, он имитирует способ его отображения при детализации системного свойства, такого как свойство Microsoft String.Padright ниже (я знаю, что это просто обычные комментарии, но требуется тот же эффект)

'
' Summary:
'     Returns a new string that left-aligns the characters in this string by padding
'     them on the right with a specified Unicode character, for a specified total length.
'
' Parameters:
'   totalWidth:
'     The number of characters in the resulting string, equal to the number of original
'     characters plus any additional padding characters.
'
'   paddingChar:
'     A Unicode padding character.
'
' Returns:
'     A new string that is equivalent to this instance, but left-aligned and padded
'     on the right with as many paddingChar characters as needed to create a length
'     of totalWidth. However, if totalWidth is less than the length of this instance,
'     the method returns a reference to the existing instance. If totalWidth is equal
'     to the length of this instance, the method returns a new string that is identical
'     to this instance.
'
' Exceptions:
'   T:System.ArgumentOutOfRangeException:
'     totalWidth is less than zero.
Public Function PadRight(totalWidth As Integer, paddingChar As Char) As [String]

В разобранном виде это выглядит так:

...Public Function PadRight(totalWidth As Integer) As [String]

Обратите внимание на эллипс в соответствии с объявлением функции. Если я моделирую структуру, используемую здесь, я получаю следующее:

'
' Summary:
'    Summary Line
'
' Returns:
'     Returns Line
Public Property S_Units As String = Nothing

В результате свернуто:

' ...
Public Property S_Units As String = Nothing

Обратите внимание на эллипс над объявлением свойства. 1 примечательный момент: я получаю образец строки из пространства имен System, а на вкладке VS отображается String [from metadata]

Может быть, поэтому он отображается по-другому, или я где-то пропустил какой-то импорт или ссылку?

Что-нибудь, что я могу попробовать?


person Steven de Beer    schedule 16.05.2018    source источник
comment
Вы не смотрите на исходный код Microsoft. Это обычные комментарии, а не XML-документация. У вас не может быть и того, и другого. Если вам нужны только обычные комментарии, просто создайте обычные комментарии.   -  person jmcilhinney    schedule 16.05.2018
comment
Я знаю это да.   -  person Steven de Beer    schedule 16.05.2018
comment
дело не в комментариях, а в свернутой XML-документации для отображения в строке с методом/свойством/функцией/и т. д. декларации   -  person Steven de Beer    schedule 16.05.2018
comment
Откуда вы берете эту декларацию PadRight? Это исходный код или это декомпилированная сборка?   -  person jmcilhinney    schedule 16.05.2018
comment
Щелкните правой кнопкой мыши любое объявление типа, например Dim X As String. В контексте выберите Перейти к определению (F12). PadRight является одной из заявленных функций. Как уже упоминалось, это открывает пространство имен системы из dll. метаданные (вероятно, декомпилированные моей системой).   -  person Steven de Beer    schedule 16.05.2018


Ответы (1)


Вы путаете специальное представление визуализатора с необязательным представлением для комментариев xml.

До VS2015 этого конкретного визуализатора не существовало для VB, и «Перейти к определению» привело бы вас к «Обозревателю объектов». Этот вид управляется опцией «Перейти к определению» в «Текстовом редакторе».

введите здесь описание изображения

Как указано в описании, это представление создается из метаданных типа и файла документации xml (если он существует в пути ссылки). Вы можете прочитать об этих метаданных в статье: Метаданные и компоненты с самоописанием.

Невозможно включить это представление для основного редактора кода. Если бы вы скомпилировали свой код в библиотеку и ссылались на него в другом решении, вы бы увидели это представление визуализатора, когда нажали «Перейти к определению».

person TnTinMn    schedule 16.05.2018
comment
Спасибо за понимание. имеет смысл, что скомпилированный код обрабатывается иначе, чем библиотека. - person Steven de Beer; 05.10.2019