[VS 2010] Автодополениние с автоматическим импортом
От: VladD2 Российская Империя www.nemerle.org
Дата: 06.08.11 02:13
Оценка: 45 (3)
Реализовал сабж. В РеШарпере это называется "Import Symbol Completion". Подробности тут: http://www.jetbrains.com/resharper/features/coding_assistance.html#Import_Symbol_Completion

В отличии от РеШарпера используется сочетание клавиш Shift+Alt+Space (повесить на Ctrl+Alt+Space не удалось, возможно потом перевешу).

Особенности:
1. Если в имеются using-и с alias-ами (using SCG = System.Collections.Generic и производится попытка закомплитить имя из пространства имен System.Collections.Generic, то новый using не добавляется, а к имени добавляется префикс "SCG.". Например, при попытке закомплитить "List" будет вставлено "SCG.List".
2. Если при комплите имени в этом месте видны другие такие же имена, то будет вставлено полностью квалифицированное имя (с пространством имен и типом).
3. Поддерживается комплит статических членов типов. При этом в using добавляются имена типов в которых объявлены вставляемые имена членов.
4. Поддерживается комплит по методам-расширениям.
5. Конфликты, которые могут появиться при добавлении using-ов, к сожалению не разруливаются. Так что это надо учитывать. Полный анализ слишком сложен. И современный компилятор для это не приспособлен.

По поводу качества. Переделок было много, а реализовал я все это за день. Так что глюки и проблемы просто не минуему. Так что просьба по тщательнее оттестировать. Тем более, что фича очень нужная в работе. Писать using-и руками крайне непроизводительно.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: [VS 2010] Автодополениние с автоматическим импортом
От: shakirov.ruslan  
Дата: 07.08.11 10:03
Оценка:
Не хватает дополнения по частичному совпадению одного из слов названия.

Допустим HttpLixtenerContext — 3 слова.
Я набираю Cont и ожидаю, что в автокомплите отфильтруется HttpLixtenerContext.
Re[2]: [VS 2010] Автодополениние с автоматическим импортом
От: VladD2 Российская Империя www.nemerle.org
Дата: 07.08.11 15:52
Оценка:
Здравствуйте, shakirov.ruslan, Вы писали:

SR>Не хватает дополнения по частичному совпадению одного из слов названия.


SR>Допустим HttpLixtenerContext — 3 слова.

SR>Я набираю Cont и ожидаю, что в автокомплите отфильтруется HttpLixtenerContext.

Боюсь, что в сочетании с CamelHumps автодополенинием
Автор: VladD2
Дата: 03.08.11
и импортом — это может дать такое большое количество вариантов, что будет неудобно.

Можно попробовать сделать так. Если при обычном (не импортирующем) комплейшоне ничего не нашлось, то попробовать сделать еще и по подстроке.

Хотя, на мой взгляд, достаточно CamelHumps автодополениния. Если нужно найти HttpLixtenerContext, то просто набираешь hlc и получаешь нужный вариант. Ну, или hlcon, если вариантов по прежнему много.

Еже можно сделать какое-то другое сочетание клавиш для этого.

В общем, нужно хорошенько это дело обдумать.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re: [VS 2010] Автодополениние с автоматическим импортом
От: russianfacepalm  
Дата: 12.08.11 16:48
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Так что просьба по тщательнее оттестировать.


Спасибо, вещь очень нужная!
Только вот есть одно замечание: появившаяся иконка в меню — это, без сомнения, удобно, но она всегда там висит.
Может, сделать ее чутка "умнее" и показывать только когда открыт Nemerle проект?
Re[2]: [VS 2010] Автодополениние с автоматическим импортом
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.08.11 17:07
Оценка:
Здравствуйте, russianfacepalm, Вы писали:

R>Спасибо, вещь очень нужная!

R>Только вот есть одно замечание: появившаяся иконка в меню — это, без сомнения, удобно, но она всегда там висит.
R>Может, сделать ее чутка "умнее" и показывать только когда открыт Nemerle проект?

Что за иконка? Причем тут автодополнение с импортом?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[3]: [VS 2010] Автодополениние с автоматическим импортом
От: russianfacepalm  
Дата: 12.08.11 17:15
Оценка:
Здравствуйте, VladD2, Вы писали:

VD>Что за иконка? Причем тут автодополнение с импортом?


Ну как же?
http://piccy.info/view3/1849390/6d0369cfe7529039f5195dd0b6b94514/
Ведь и хоткей и нажатие на эту картинку дают одинаковый эффект.
Re[4]: [VS 2010] Автодополениние с автоматическим импортом
От: VladD2 Российская Империя www.nemerle.org
Дата: 12.08.11 18:05
Оценка:
Здравствуйте, russianfacepalm, Вы писали:

VD>>Что за иконка? Причем тут автодополнение с импортом?


R>Ну как же?

R>http://piccy.info/view3/1849390/6d0369cfe7529039f5195dd0b6b94514/
R>Ведь и хоткей и нажатие на эту картинку дают одинаковый эффект.

Это баг. Ее там быть не должно. Я и не замечал ее раньше.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: [VS 2010] Автодополениние с автоматическим импортом
От: VladD2 Российская Империя www.nemerle.org
Дата: 13.08.11 02:38
Оценка:
Здравствуйте, russianfacepalm, Вы писали:

R>Только вот есть одно замечание: появившаяся иконка в меню — это, без сомнения, удобно, но она всегда там висит.

R>Может, сделать ее чутка "умнее" и показывать только когда открыт Nemerle проект?

Иконку (да еще и неправильную) из меню убрал.
По умолчанию теперь никаких кнопок нет. Если нужна кнопка, можно добавить ее через настройку тулбаров/меню. Называется "Import completion". Можно найти в разделе команд студии "Edit".
Кнопка дизаэблится в неверных контекстах (вне редактора кода немерла).
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.