Поделиться через


Меню и команды для Visual Studio

Использование команды

В отличие от Microsoft Office, который состоит из множества отдельных продуктов, Visual Studio содержит множество продуктов, которые каждый вносит свой вклад в глобальную интегрированную среду разработки Visual Studio. Интегрированная среда разработки управляет сложностью тысяч команд путем фильтрации функциональных возможностей, доступных пользователю на основе контекста.

Когда контекст пользователя изменяется, например переход с окна конструктора на окно редактирования кода, функции, не связанные с новым контекстом, исчезают. В то же время новые функциональные возможности будут отображаться вместе со связанными динамическими сведениями, такими как свойства и параметры панели элементов. Пользователь не должен заметить переключение доступного набора команд. Если пользователь отвлекается или смущается командами, которые появляются или исчезают, то дизайн пользовательского интерфейса нуждается в корректировке. Текущий контекст пользователя всегда указывается одним или несколькими способами, например в строке заголовка интегрированной среды разработки, окно свойств или диалоговом окне "Страницы свойств".

Панели команд позволяют гибко использовать пользовательский интерфейс. Единственными структурами команд, присущими среде Visual Studio, являются главное меню и основная панель команд, которая может быть настроена и даже скрыта. Другие панели команд отображаются и исчезают в зависимости от состояния приложения. Окна инструментов и редакторы документов также могут содержать внедренные панели инструментов в краях окна.

Основные рекомендации

По возможности используйте существующие общие команды, группы команд и меню.

Так как команды обычно отображаются на основе контекста, использование существующих общих меню и групп команд гарантирует, что структура команд остается относительно стабильной между изменениями в контексте. Повторное выполнение общих команд и размещение новых команд, близких к связанным общим командам, также снижает сложность интегрированной среды разработки и создает более удобный интерфейс. Если необходимо определить новую команду, попробуйте поместить ее в существующую общую группу команд. Если необходимо определить новую группу, поместите ее в существующее общее меню близко к связанной группе команд перед созданием нового меню верхнего уровня.

Не создавайте значки для каждой команды.

Тщательно подумайте, прежде чем создавать значок команды. Значки должны создаваться только для команд, которые:

  • отображается на панели инструментов по умолчанию.

  • скорее всего, пользователи будут добавлены на панель инструментов с помощью диалогового окна "Настройка... ".

  • значок связан с тем же действием в другом продукте Майкрософт.

Ограничение добавления сочетаний клавиш

Подавляющее большинство пользователей используют крошечную часть всех доступных ярлыков. При сомнении не привязывайте функцию к сочетанию клавиш. Прежде чем добавлять новые сочетания клавиш, обратитесь к группе взаимодействия с пользователем.

Присвойте командам размещение меню по умолчанию.

Помните, что ваши команды будут настраиваться другими пользователями и соответствующим образом разрабатывать их. Нет такой вещи, как скрытая команда. Все команды Visual Studio отображаются в диалоговом окне настройки инструментов>, командном окне, автоматическом завершении, диалоге "Параметры> инструментов>" и среде средств разработки (DTE). Обязательно присвойте командам имя и подсказку в CTC-файле, чтобы пользователи могли легко найти их.

Не повторяйте общие команды на встроенной панели инструментов.

Удобно размещать команды в близком расположении к области фокуса пользователя. Одним из способов этого является создание встроенной панели инструментов в верхней части окна инструмента или редактора документов. Команды, размещенные на панели инструментов, должны быть зависят от области содержимого в окне. Не повторяйте общие команды на этих панелях инструментов. Например, никогда не помещайте значок "Сохранить" на встроенной панели инструментов.

Видимость содержимого и команд

Команды существуют в следующих область: среда, иерархия и документ. Ознакомься с каждым область, чтобы иметь уверенность в размещении команд.

Команды в среде область установить основной контекст и совместно используются между несколькими контекстами. Они изменяют видимость или расположение документов и окон инструментов. Среди команд в среде область — создать проект, Подключение на сервер, присоединить процесс, вырезать, скопировать, вставить, найти, параметры, настроить, создать окно и справку по просмотру.

Команды в иерархии область управлять иерархиями в Visual Studio, включая Project, Team и Data. Они относятся к подконтексту проекта, например отладке, сборке, тестированию, архитектуре или анализу. Среди команд в иерархии область добавлены новые элементы, новый запрос, проект Параметры, добавление нового источника данных, мастер запуска производительности и новая схема.

Команды в документе область действуют по содержимому документа, например кода, дизайна или запроса рабочего элемента (WIQ). Они также действуют в представлении окна инструментов или в противном случае относятся к такому окну инструментов. Команды область документа также работают над объектами файлов, которые сами являются иерархией, например Remove from Project. Среди команд в документе область — переименовывание рефакторинга>, создание копии рабочего элемента, развертывание всех, свертывание всех и создание задачи пользователя.

Решения о размещении команд

После того как вы решили создать команду, необходимо определить соответствующее размещение и выбрать, следует ли создать сочетание клавиш. Следуйте этому пути принятия решений, чтобы определить место размещения команды:

Command placement decision chart

Путь решения для размещения команд в Visual Studio

Размещение команд в меню

В главной строке меню должно быть стандартное расположение для команд любых пакетов контекстного меню, которые вносят свой вклад в пользовательский интерфейс. Основная строка меню отличается от других структур команд, в которых среда использует ее для управления видимыми командами. Все остальные панели команд просто отключают команды, которые находятся вне контекста, независимо от того, помещаются ли они в меню или на панели инструментов.

Среда определяет набор команд, встроенных в главную строку меню, которые являются общими для всей интегрированной среды разработки и нескольких доменов задач. Эти команды всегда видны независимо от того, какие VSPackage загружаются в среду. Хотя VSPackages может расширить этот набор команд, набор команд из каждого продукта и размещение их команд является ответственностью каждой команды.

Структура основного меню Visual Studio может быть разбита на следующие категории меню:

Основные меню
  • Файл

  • Редактировать

  • Представления

  • Инструменты

  • Окно

  • Справка

Меню для конкретного проекта
  • Project

  • Сборка

  • Отладка

Контекстные меню
  • Team

  • Data

  • Тест

  • Архитектура

  • Анализ

Меню для конкретного документа
  • Формат

  • Таблица

При проектировании главного меню соблюдайте следующие правила:
  • Не превышать 25 элементов верхнего уровня в заданном контексте

  • Меню никогда не должны превышать 600 пикселей высоты.

  • Оцените главное меню в нескольких контекстах, например в номере SKU Ultimate и общем профиле.

  • Всплывающие меню допустимы.

  • Всплывающие меню должны содержать не менее трех элементов и не более семи.

  • Всплывающие меню должны пройти только один уровень глубоко. Некоторые элементы меню Visual Studio имеют каскадные подменю, но этот шаблон не рекомендуется.

  • Используйте не более шести разделителей. Группы должны соответствовать следующему рисунку:

    Guidelines for main menu grouping

  • Хотя для каждой группировки на рисунке не требуется, добавление дополнительных групп ограничено.

  • Каждое группирование должно содержать от двух до семи пунктов меню.

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

Основные меню должны забронировать остальные команды. Файл, редактирование и представление всегда должны находиться слева, а инструменты, окно и справка всегда должны находиться справа.

Контекстные меню

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

При проектировании контекстных меню соблюдайте те же правила, что и для главного меню, а также:

  • Не превышать 25 элементов меню верхнего уровня.

  • Всплывающие меню допустимы, но не должны превышать один уровень глубины - никогда не используйте каскадные всплывающие элементы.

  • Используйте не более шести разделителей.

Размещение команд на панели инструментов

Общие панели инструментов

При проектировании и упорядочении панелей инструментов следуйте этим стандартам:

  • Не используйте несколько команд на кнопку. Одна кнопка = одно действие.

  • Используйте текст рядом с значком, только если его необходимо укрепить с помощью метки.

  • Используйте поле со списком исключительно для свойств, которые будут переключаться несколько раз в одном сеансе. В противном случае предоставляют свойство в другом месте.

  • Ширина поля со списком должна быть равна ширине самого длинного элемента в поле + 30 %. Например, если самый длинный элемент равен 200 пикселей, поле со списком должно быть 260 пикселей.

  • Ограничение использования разделителей. Использование разделителя рядом с раскрывающимся списком является анти-шаблоном, так как форма раскрывающегося списка выступает в качестве визуального разделителя.

  • Группы значков должны содержать от трех до шести значков.

  • Если квалификаторы приводят к нескольким полезным командам, используйте кнопку разделения, в которой хранится последний параметр:

    Split buttons in Visual Studio

    Пример кнопки разделения. Шесть команд слева могут поместиться в одну кнопку.

Панели инструментов для конкретного продукта

Каждый продукт может предоставить панель инструментов по умолчанию, содержащую часто используемые и важные команды, а панель инструментов по умолчанию каждого продукта должна появиться при первом запуске Visual Studio после установки продукта.

Продукты также должны использовать общие группы команд и меню, предоставляемые интегрированной интегрированной среду разработки. Каждая общая группа команд помещается в общее меню, предназначенное для организации связанных команд в понятном виде для пользователя. Важно использовать эту общую структуру команд, чтобы снизить сложность.

Глобальные панели инструментов

Глобальные панели инструментов необходимы для размещения в одной строке прямо из поля. При создании глобальной панели инструментов следуйте рекомендациям для этого типа панели инструментов.

Общие рекомендации по панели инструментов:

  • Каждая панель инструментов имеет 24 пикселя в общих элементах управления (захват, переполнение).

  • Каждая кнопка панели инструментов имеет ширину 22 пикселя, включая заполнение. При создании значка кнопка разделения добавляет еще 11 пикселей ширины.

  • Допускается дублирование команд на панелях инструментов.

    Панели инструментов , относящиеся к документу, отображаются, когда определенный тип файла активен и исчезнет, когда становится активным другой тип файла.

  • Панели инструментов, относящиеся к документу, могут содержать не более 12 кнопок.

  • Общая ширина панели инструментов может не превышать 300 пикселей.

  • Каждый тип файла может иметь одну встроенную панель инструментов или одну глобальную панель инструментов для конкретного документа, но не оба.

    Панели инструментов , относящиеся к контексту, отображаются при установке определенного контекста и, как правило, остаются активными в течение длительных периодов.

  • Ограничение кнопки для всех панелей инструментов, относящихся к контексту, равно 18.

  • Если большинство пользователей не будут последовательно использовать команды этой панели инструментов при активном контексте, не свяжите эту панель инструментов с контекстом.

  • Убедитесь, что панель инструментов исчезает при выходе из контекста. Ни одна из этих панелей инструментов не должна отображаться при запуске.

    Панели инструментов без контекста никогда не отображаются автоматически. Они отображаются только в том случае, если пользователь активирует их. Держите максимальную ширину ниже 200 пикселей.

Общие организации и определяемые оболочкой группы

Используйте существующие общие команды, группы команд и меню. Если необходимо определить новую команду, попробуйте поместить ее в существующую общую группу команд. Если необходимо определить новую группу, попробуйте поместить ее в существующее общее меню рядом с связанной группой команд перед созданием нового меню верхнего уровня. Это снижает сложность команд, обеспечивая согласованное размещение команд в интегрированной среде разработки.

Меню общего формата , обычно отображаемое в контексте окон документов в стиле конструктора, иллюстрируется на следующем рисунке:

Visual Studio Format menu with callouts

Группы меню в Visual Studio

Сокращение и повторное использование команд

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

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

Команды именования

Соглашения об именах

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

При именовании команд:

  • Создайте текст, чтобы легко локализуемый. Дополнительные сведения о локализации текста см . в рекомендациях по локализации.

  • Будьте краткими. Команды должны использовать не более трех слов.

  • Используйте прописную букву заголовка: первая буква каждого слова должна быть прописной буквой. Дополнительные сведения о форматировании текста в Visual Studio см. в разделе "Стиль текста".

  • Учитывайте, где будет помещена команда. Это в меню верхнего уровня или всплывающем меню? Например, при группировке команд выравнивания во всплывающем элементе команда верхнего уровня должна быть "Выровнять", а всплывающие команды должны быть "Слева", "Справа", "Центр", "Оправдание" и т. д. Для имени всплывающих команд "Выровнять влево" или "Выровнять вправо".

    Visual Studio Format menu

Использование значков с командами

Будьте щадя в использовании связывания значков с командами. Несмотря на то, что связывание уникального изображения с командой позволяет пользователю определить эту команду, визуальный загромождений и неэффективность изображения возникают при чрезмерном использовании изображения. Следующие правила помогают определить, следует ли создавать значок команды.

Используйте значок с командой, только если:

  • В той же команде есть значок, связанный с ним в другом видном продукте Майкрософт, например одном из Приложение Office ликации Майкрософт.

  • Команда будет помещена на панель инструментов по умолчанию.

  • Эта команда — это специальная команда, которую пользователи, скорее всего, будут добавлять на панель инструментов с помощью диалогового окна "Настройка..." .

Доступ и сочетания клавиш

Существует два типа назначений клавиш клавиатуры:

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

  • Сочетания клавиш в основном используют последовательности клавиш control (CTRL) и Function (Fn). Они предназначены для расширенных пользователей и помощи в повышении производительности. Они назначаются только наиболее часто используемым командам и разрешают быстрый доступ во время обхода главного меню. Сочетания клавиш предназначены для запоминания и по этой причине должны быть назначены в соответствии со схемой профиля. Схемы сочетаний клавиш могут отличаться от профиля к профилю. Пользователь может настроить сочетания клавиш с помощью клавиатуры "Параметры > инструментов>".

Назначение ключей доступа

Ключи доступа состоят из alt+буквенно-цифровых ключей. Назначьте ключ доступа каждому элементу меню без исключения. Следуйте правилам Windows и общим соглашениям о назначении ключей доступа. Например, ключ доступа для "Создать файл > " всегда должен быть ALT, F, N.

Не используйте буквы с одной пиксельной шириной, такие как "i" (в верхнем или нижнем регистре) или строчные буквы "l", и избегайте использования символов с убывками (g, j, p, q и y), так как это трудно отличить.

Избегайте использования повторяющихся ключей, когда это возможно. В случаях, когда дублирование невозможно, система меню обрабатывает конфликты путем велоспорта по всем командам, которые используют ключ. Например, для гипотетической команды Number в меню "Файл", которая дублирует ключ доступа "N", ALT, F, N создаст новый файл и ALT, F, N, N , выполните команду Number.

Назначение сочетаний клавиш

Избегайте назначения новых сочетаний клавиш, так как они не требуются для каждой команды и налогообложения системы (и памяти пользователя) при чрезмерном использовании. Данные из программы улучшения качества обслуживания клиентов (CEIP) указывают на то, что пользователи Visual Studio используют только небольшое подмножество интегрированных ярлыков.

При определении ярлыков следуйте этим правилам:

  • Используйте последовательности клавиш control (CTRL) и Function (Fn).

  • Сохраняйте часто используемые сочетания клавиш. Сохраняйте самые популярные сочетания клавиш.

  • Простой ввод сочетаний клавиш редактора. Привязывать сочетания клавиш простого типа к командам, которым разработчики нуждаются в большинстве случаев при написании кода. Например, Edit.InvokeSmartTag должен иметь быстрый сочетания клавиш, например CTRL+/, а не ALT+SHIFT+F10.

  • Стремиться к последовательно тематическим сочетаниям клавиш.

  • Следуйте рекомендациям Windows, чтобы определить, какие ключи модификатора следует использовать. Используйте сочетания клавиш CTRL для команд, имеющих крупномасштабные эффекты, например команды, которые применяются ко всему документу. Используйте сочетания клавиш SHIFT для команд, которые расширяют или дополняют действия стандартного сочетания клавиш. Не используйте сочетания CTRL+ALT.

  • Удалите ненужные сочетания клавиш. Если у вас есть устаревшая функция, рассмотрите возможность удаления ярлыков, которые используются с крайней редкостью (менее 10 раз из данных CEIP) или умеренной редкости (менее 100 раз из данных CEIP), если ключ доступа обеспечивает быстрый доступ к той же команде. Например: ALT, H, C откроет справку или содержимое.

    Существует не простой способ проверка ярлыка доступности. Если вы хотите добавить ярлык, выполните следующие действия.

  1. Проверьте список сочетаний клавиш Visual Studio 2013, чтобы определить, есть ли аналогичные команды для группировки ваших.

  2. Перейдите к меню "Параметры > среды" >> и проверьте сочетание клавиш. Проверьте каждую схему сопоставления клавиатуры, указанную в разделе "Применить следующую дополнительную схему сопоставления клавиатуры". Проверьте профили "Общие", "C#", "VB" и "C++", так как они используют уникальные сочетания клавиш. Ярлык доступен, если он не сопоставлен ни в одном из этих мест.