Исключить некоторые методы чужой библиотеки из IntelliSense
От: alexzzzz  
Дата: 18.10.16 13:07
Оценка: +1
Есть чужая библиотека (конкретно UnityEngine.dll), в которой имеется небольшая кучка особо назойливых свойств и методов, от которых пользы мало, но они лезут в IntelliSense и постоянно мешаются. Нельзя ли как-нибудь подействовать на IntelliSense, чтобы он их не показывал?

Наример, у классов UnityEngine.GameObject и UnityEngine.Component есть наборы методов:

.GetComponent(Type type)
.GetComponent(string name)
.GetComponent<T>()

.GetComponents(Type type)
.GetComponents(string name)
.GetComponents<T>()

.GetComponentInChildren(Type type)
.GetComponentInChildren<T>()
.GetComponentInChildren(Type type, bool includeInactive)
.GetComponentInChildren<T>(bool includeInactive)

и ещё столько же похожих вариаций. Набираешь "getco...", и открывается список на три десятка вариантов. Я бы хотел видеть в списке только дженерики <T>.

Ещё у классов GameObject и Component имеется пара десятков свойств (типа .rigidbody, .audio, .camera, ...), которые помечены как [Obsolete], но всё равно лезут в IntelliSense. Их бы тоже убрать с глаз долой.
Re: Исключить некоторые методы чужой библиотеки из IntelliSense
От: Sinix  
Дата: 18.10.16 13:51
Оценка: 21 (4)
Здравствуйте, alexzzzz, Вы писали:

A>Есть чужая библиотека (конкретно UnityEngine.dll), в которой имеется небольшая кучка особо назойливых свойств и методов, от которых пользы мало, но они лезут в IntelliSense и постоянно мешаются. Нельзя ли как-нибудь подействовать на IntelliSense, чтобы он их не показывал?


решарпер умеет,
https://www.jetbrains.com/help/resharper/2016.1/Reference__Completion_Filters.html
вроде всё.

Unityvs куплены MS, в саппорт можно не писать.
Не, попробовать можно, если найдёте контакты, но я бы сильно не надеялся.
Re[2]: Исключить некоторые методы чужой библиотеки из Intell
От: alexzzzz  
Дата: 18.10.16 14:02
Оценка: 44 (1)
Здравствуйте, Sinix, Вы писали:

S>решарпер умеет,

S>https://www.jetbrains.com/help/resharper/2016.1/Reference__Completion_Filters.html
S>вроде всё.

Отлично! А я всё тыкался в External Annotations.

S>Unityvs куплены MS, в саппорт можно не писать.

S>Не, попробовать можно, если найдёте контакты, но я бы сильно не надеялся.

И не надо искать, вот нужный чувак:
https://github.com/jbevain
https://forum.unity3d.com/members/jbevain.92206/
Отредактировано 18.10.2016 14:17 alexzzzz . Предыдущая версия .
Re[3]: Исключить некоторые методы чужой библиотеки из Intell
От: qxWork Голландия http://www.jetbrains.com/company/people/Coox_Sergey.html
Дата: 18.10.16 17:03
Оценка: 25 (4)
Здравствуйте, alexzzzz, Вы писали:

A>Отлично! А я всё тыкался в External Annotations.

Еще поможет убрать галку 'Show member signatures' — она спрячет все overload'ы.
Re: Исключить некоторые методы чужой библиотеки из IntelliSense
От: Kolesiki  
Дата: 24.10.16 11:58
Оценка:
Здравствуйте, alexzzzz, Вы писали:

A>Нельзя ли как-нибудь подействовать на IntelliSense, чтобы он их не показывал?


Мне кажется, в данном случае именно "узколобое" решение конкретной задачи будет намного лучше классических мелкомягких всемогутеров! Ну кто будет в здравом уме писать плагин для отсева десятка функций?? Тут бы очень пригодилось "офисное" решение в виде встроенного языка (только не VBA!).

В опциях VS даётся точка расширения, в которую передаётся встроенный список уже готового интеллисенса. А ты небольшими фильтрациями/сортировкой добиваешься результата. Причём можно делать несколько поименованных вариантов этого кода. Быстро, дёшево, сердито. Фактически, получится такое же скомпиленное "студийное расширение", но без двухсот строк танцев с бубном вокруг мелкомягких гиперинтерфейсов.
А если к членам интеллисенса добавить какой-нибудь 'string Tab', туда можно назначать имя тэба, куда член интеллисенса должен быть отсортирован (для разбивки на проперти/методы/евенты/локальные переменные).
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.