Немое завершение в Visual Studio

Первые Принципы: Wilfred James Hansen

  • Знает, что Пользователь
  • Минимизирует Запоминание
  • , Оптимизируют Операции
  • Инженер для Ошибок


Последующие Расширения: доктор Theo Mandel

Пользователи Места в Управлении

  • Режимы Использования Рассудительно (немодальный)
  • Позволяют Пользователям использовать или Клавиатуру или Мышь (гибкий)
  • , Позволяют Пользователям Изменять Фокус (прерываемый)
  • Дисплей, который Описательные сообщения и текст (полезный)
  • Обеспечивают Непосредственным и Обратимым Действиям, и Обратная связь (прощение)
  • Обеспечивает значимые Пути, и Выходы (пригодный для навигации)
  • Снабжают Пользователей Различными Уровнями квалификации (доступный)
  • , Делают Пользовательский интерфейс Прозрачным (facilitative)
  • , Позволяют Пользователям Настраивать Интерфейс (предпочтения)
  • , Позволяют Пользователям Непосредственно Управлять Интерфейсными Объектами (интерактивный)

, Уменьшают Загрузку в память Пользователей

  • , Уменьшают Кратковременную память (помнят)
  • , Полагаются на Распознавание, не, Отзыв (распознавание)
  • Обеспечивает, Визуальные индикаторы (сообщают)
  • , Обеспечивают Значения по умолчанию, Отмену, и Восстановление (прощение)
  • Обеспечивает, Интерфейсные Ярлыки (частота)
  • Продвигают Синтаксис Действия объекта (интуитивный)
  • Использование Реальные Метафоры (передача)
  • Пользователь, Прогрессивное Раскрытие (контекст)
  • Способствует Визуальной Ясности (организуют)

, Делают Интерфейс Последовательным

  • , Выдерживают Контекст Задач Users’ (непрерывность)
  • , Поддерживают Непротиворечивость в, и через продукты (опыт)
  • Сохраняют Результаты Взаимодействия Тем же (ожидания)
  • , Обеспечивают Эстетическое Обращение, и Целостность (отношение)
  • Поощряют Исследование (предсказуемый )
10
задан J Cooper 1 December 2009 в 17:09
поделиться

8 ответов

Возможно, вы захотите посмотреть надстройку VisualAssist . Его автозаполнение учитывает то, что вы ввели недавно, поэтому по умолчанию выбирает самое последнее совпадение. Он также работает в большем количестве мест, чем стандартный IntelliSense (например, включает пути).

Небольшое предупреждение, однако, когда вы начнете его использовать, будет трудно вернуться назад ...

6
ответ дан 4 December 2019 в 01:31
поделиться

В VS2010 реализация intellisense чрезвычайно проста - при условии, что у вас есть готовый ответ на 2 вопроса:

  1. Что следует вызвать диалоговое окно.
  2. Каков список возможных завершений для текущего слова.

В моем пользовательском редакторе я потратил 90% времени на то, чтобы парсер NDjango выдал мне то, что мне нужно, и только 10% на фактическую "реализацию" "intellisense

Править

Открытый исходный код проекта, не стесняйтесь загрузить код и поиграть с ним.

1
ответ дан 4 December 2019 в 01:31
поделиться

Взгляните на ViEmu , эмуляцию Vi / vim для Visual Studio, Word , Outlook и SQL Server. Если он по-прежнему не отвечает вашим потребностям, попробуйте применить свой собственный. Ознакомьтесь с Справочником по расширению Visual Studio и в этом руководстве , чтобы помочь вам начать работу с надстройками VS.

1
ответ дан 4 December 2019 в 01:31
поделиться

Как указано в других ответах, Intellisense в Visual Studio 2010 стал намного лучше. Не только расширяемость, но и реализация.

Теперь он фильтрует список членов, содержащих типизированное имя где угодно внутри них. Это также работает с классами и типами, поэтому вам не нужно запоминать полное имя типа или класса. И последнее, что не менее важно, вы можете фильтровать список, используя шаблон именования Pascal Case. Это означает меньше ввода и меньше ошибок.

Дополнительную информацию об улучшениях Intellisense в VS2010 можно найти в блоге ScottGu .

1
ответ дан 4 December 2019 в 01:31
поделиться

CodeRush отображать предложения по завершению слов в строках или где-либо еще. У них есть бесплатная версия, но я не знаю, поддерживает ли она эту функцию.

1
ответ дан 4 December 2019 в 01:31
поделиться

Модель расширяемости в 2010 году намного проще, но (очевидно) все еще является движущейся целью.

Должно быть возможно получить что-то простое, используя интеллектуальную часть этого ] для предоставления ICompletionSource , который объединяет любые значения, которые вы хотите предоставить вместе с результатами существующих реализаций.

Мониторинг текущего буфера для имен должен включать некоторую игру с ITextView и ITextBuffer .

Существует пример изменения уровня представления на codeplex, но вы должны иметь возможность использовать его в качестве основы, на которой можно попытаться изменить сторону данных.

0
ответ дан 4 December 2019 в 01:31
поделиться

Если у вас есть несколько слов, которые вы хотите заполнить, вы можете легко создать для этого несколько фрагментов.

Это больше, чем просто уловка, но это может быть полезно.

Фрагмент xml:

<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippets  xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <Title>retype</Title>
      <Shortcut>retype</Shortcut>
      <SnippetTypes>
        <SnippetType>Expansion</SnippetType>
      </SnippetTypes>
    </Header>
    <Snippet>
      <Code Language="csharp">
        <![CDATA[ThisIsTheTextIHateToRetype();$end$]]>
      </Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>
0
ответ дан 4 December 2019 в 01:31
поделиться

Resharper из Jetbrains также имеет очень умное завершение. CTRL + SHFIT + Space активирует их «интеллектуальное» завершение кода (помимо обычных результатов CTRL + Space), которое зависит от типа и контекста. Я часто нахожу, что он выбирает для меня подходящие имена.

0
ответ дан 4 December 2019 в 01:31
поделиться