Menus e comandos para Visual Studio

Uso de comando

Visão geral

Ao Microsoft Office, que é um pacote que inclui muitos produtos separados, o Visual Studio contém muitos produtos que contribuem com seus conjuntos de comandos para o IDE Visual Studio global. O IDE gerencia a complexidade de milhares de comandos filtrando a funcionalidade disponível para o usuário com base no contexto.

Quando o contexto de um usuário muda , como alternar de uma janela de design para uma janela de edição de código, a funcionalidade não relacionada ao novo contexto desaparece. Ao mesmo tempo, novas funcionalidades são superfícies junto com informações dinâmicas relacionadas, como propriedades e opções de Caixa de Ferramentas. O usuário não deve observar a troca do conjunto de comandos disponível. Se o usuário estiver confuso ou confuso com comandos que aparecem ou desaparecem, o design da interface do usuário precisa de ajuste. O contexto atual do usuário é sempre indicado de uma ou mais maneiras, como na barra de título do IDE, no janela Propriedades ou na caixa de diálogo Páginas de Propriedades.

As barras de comando permitem flexibilidade na interface do usuário. As únicas estruturas de comando inerentes ao ambiente Visual Studio são o menu principal e a barra de comandos principal, que podem ser personalizadas e até mesmo ocultas. Outras barras de comando aparecem e desaparecem com base no estado do aplicativo. As janelas de ferramentas e os editores de documentos também podem conter barras de ferramentas inseridas nas bordas da janela.

Diretrizes básicas

Use comandos compartilhados, grupos de comandos e menus existentes sempre que possível.

Como os comandos normalmente são mostrados com base no contexto, o uso de menus compartilhados e grupos de comandos existentes garante que a estrutura de comandos permaneça relativamente estável entre as alterações no contexto. A reutilação de comandos compartilhados e a colocação de novos comandos próximos aos comandos compartilhados relacionados também reduz a complexidade do IDE e cria uma experiência mais amigável. Se um novo comando precisar ser definido, tente coloque-o em um grupo de comandos compartilhado existente. Se um novo grupo precisar ser definido, coloque-o em um menu compartilhado existente próximo a um grupo de comandos relacionado antes de criar um novo menu de nível superior.

Não crie ícones para cada comando.

Pense cuidadosamente antes de criar um ícone de comando. Ícones devem ser criados somente para comandos que:

  • aparecem em uma barra de ferramentas padrão.

  • provavelmente serão adicionados pelos usuários a uma barra de ferramentas por meio da caixa de diálogo Personalizar....

  • têm um ícone associado à mesma ação em outro produto da Microsoft.

Limitar a adição de atalhos de teclado

A grande maioria dos usuários emprega uma pequena fração de todos os atalhos disponíveis. Em caso de dúvida, não a binde o recurso a um atalho de teclado. Trabalhe com sua equipe de experiência do usuário antes de adicionar novos atalhos.

Dê aos comandos um posicionamento de menu padrão.

Esteja ciente de que seus comandos serão personalizados por outras pessoas e projete-os de acordo. Não existe tal coisa como um comando oculto. Todos Visual Studio comandos são exibidos na caixa de diálogo Ferramentas > Personalizar, na Janela de Comando, na conclusão automática, na caixa de diálogo Ferramentas > Opções > Teclado e no DTE (Ambiente das Ferramentas de Desenvolvimento). Certifique-se de dar aos comandos um nome e uma dica de ferramenta em seu arquivo .ctc para que os usuários possam encontrá-los facilmente.

Não duplique comandos compartilhados em uma barra de ferramentas inserida.

É útil colocar comandos próximos à área de foco do usuário. Uma maneira de fazer isso é criar uma barra de ferramentas inserida na parte superior da janela de ferramentas ou do editor de documentos. Os comandos colocados na barra de ferramentas devem ser específicos para a região de conteúdo dentro da janela. Não duplique comandos compartilhados nessas barras de ferramentas. Por exemplo, nunca coloque um ícone "Salvar" em uma barra de ferramentas inserida.

Visibilidade de conteúdo e comando

Os comandos existem nos seguintes escopos: Ambiente, Hierarquia e Documento. Conheça cada escopo para ter confiança no posicionamento do comando.

Os comandos no escopo Ambiente estabelecem o contexto primário e são compartilhados entre vários contextos. Eles alteram a visibilidade ou a organização de documentos e janelas de ferramentas. Entre os comandos no escopo do ambiente estão New Project, Conexão to Server, Attach Process, Cut, Copy, Paste, Find, Options, Customize, New Window e View Help.

Os comandos no escopo Hierarquia gerenciam hierarquias no Visual Studio, incluindo Project, Equipe e Dados. Eles estão relacionados ao subcontexto de um projeto – por exemplo, Depurar, Criar , Testar , Arquitetura ou Analisar. Entre os comandos no escopo Hierarquia estão Adicionar Novo Item, Nova Consulta , Project Configurações , Adicionar Nova Fonte de Dados, Assistente de Desempenho de Lançamento e Novo Diagrama.

Os comandos no escopo do documento atuam sobre o conteúdo de um documento, como código, design ou wiq (consulta de item de trabalho). Eles também atuam na exibição de uma janela de ferramentas ou são específicos dessa janela de ferramentas. Os comandos de escopo do documento também atuam nos objetos de arquivo que são específicos da hierarquia, como Remover do Project. Entre os comandos no escopo do documento estão Renomear > Renomear, Criar Cópia do Item de Trabalho, Expandir Tudo , Recompalar Tudo e Criar Tarefa de Usuário.

Decisões de posicionamento de comando

Depois de decidir criar um comando, você precisará determinar seu posicionamento apropriado e se deve criar um atalho de teclado. Siga este caminho de decisão para estabelecer onde colocar o comando:

Gráfico de decisão de posicionamento de comando

Caminho de decisão para o posicionamento do comando Visual Studio

Posicionamento de comando em menus

A barra de menus principal deve ser o local padrão para comandos de todos os pacotes de menu específicos do contexto que contribuem para a interface do usuário. A barra de menus principal difere de outras estruturas de comando, já que o ambiente a usa para controlar quais comandos estão visíveis. Todas as outras barras de comando simplesmente desabilitam comandos fora do contexto, sejam eles colocados em um menu ou em uma barra de ferramentas.

O ambiente define um conjunto de comandos integrados à barra de menus principal que são comuns em todo o IDE e em vários domínios de tarefa. Esses comandos são sempre visíveis, independentemente de quais VSPackages são carregados no ambiente. Embora o VSPackages possa estender esse conjunto de comandos, o conjunto de comandos de cada produto e o posicionamento de seus comandos são de responsabilidade de cada equipe.

A estrutura do menu Visual Studio principal pode ser dividida nas seguintes categorias de menu:

Menus principais
  • Arquivo

  • Editar

  • Visualizar

  • Ferramentas

  • Janela

  • Ajuda

Project menus específicos do Project
  • Project

  • Build

  • Depurar

Menus específicos do contexto
  • Equipe

  • Dados

  • Teste

  • Arquitetura

  • Analisar

Menus específicos do documento
  • Formatar

  • Tabela

Ao criar menus principais, acate estas regras:
  • Não exceda 25 itens de nível superior em um determinado contexto

  • Os menus nunca devem exceder 600 pixels de altura.

  • Avalie um menu principal em vários contextos, como no SKU Final e no Perfil Geral.

  • Os menus de flyout são aceitáveis.

  • Os menus de flyout devem conter pelo menos três itens e não mais do que sete.

  • Os menus de submenu devem ter apenas um nível de profundidade – alguns Visual Studio de menu têm submenus em cascata, mas esse padrão não é incentivado.

  • Não use mais de seis separadores. Os grupos devem aderir à ilustração a seguir:

    Diretrizes para o grupo de menus principal

  • Embora não seja necessário ter cada agrupamento na figura, a adição de agrupamentos adicionais é restrita.

  • Cada agrupamento deve ter de dois a sete itens de menu.

Antes de adicionar um novo item de nível superior, considere colocar o comando em um menu de nível superior existente. Ao adicionar um novo menu de nível superior, certifique-se de colocá-lo no local correto. Decida se o menu é específico do projeto, contexto ou documento. Mantenha o nome do menu de nível superior conciso e use apenas uma palavra.

Os menus principais devem delimitador o restante dos comandos. O arquivo, a edição e a exibição devem estar sempre à esquerda, e as ferramentas, a janela e a ajuda devem estar sempre à direita.

Menus de contexto

Colocar muitas funcionalidades nos menus de contexto resulta em uma interface difícil de aprender. Toda a funcionalidade principal deve estar disponível por meio da barra de menus principal. O posicionamento de comandos deve ser reconciliado com comandos existentes para evitar comandos duplicados. Para menus de contexto, o Shell define os grupos de menus padrão que devem ser incluídos, dependendo se o menu de contexto é para a solução, um nó de projeto ou um item de projeto.

Ao criar menus de contexto, siga as mesmas regras do menu principal e, além disso:

  • Não exceda 25 itens de menu de nível superior.

  • Os menus flutuantes são aceitáveis, mas não devem exceder um nível de profundidade, nunca use submenus em cascata.

  • Não use mais do que seis separadores.

Posicionamento de comando em barras de ferramentas

Barras de ferramentas gerais

Ao projetar e organizar barras de ferramentas, siga estes padrões:

  • Não use mais de um verbo por botão. Um botão = uma ação.

  • Use o texto ao lado do ícone somente se ele precisar ser reforçado com o rótulo.

  • Use uma caixa de combinação exclusivamente para propriedades que serão alternadas várias vezes em uma sessão. Caso contrário, expor a propriedade em outro lugar.

  • A largura de uma caixa de combinação deve ser igual à largura do item mais longo na caixa + 30%. Por exemplo, se o item mais longo for 200 pixels, a caixa de combinação deverá ter 260 pixels de largura.

  • Limitar o uso de separadores. O uso de um separador ao lado de uma lista suspensa é um antipadrão, porque a forma da lista suspensa atua como um separador Visual.

  • Os grupos de ícones devem conter de três a seis ícones.

  • Se os qualificadores resultarem em vários comandos úteis, use um botão de divisão que armazena a última configuração:

    Dividir botões em Visual Studio

    Exemplo de um botão de divisão. Os seis comandos à esquerda podem caber em um único botão.

Barras de ferramentas específicas do produto

cada produto pode fornecer uma barra de ferramentas padrão que contém comandos frequentemente usados e importantes, e a barra de ferramentas padrão de cada produto deve aparecer na primeira vez em que o Visual Studio é iniciado depois que o produto é instalado.

Os produtos também devem aproveitar os grupos de comandos compartilhados e os menus fornecidos pelo IDE. Cada grupo de comandos compartilhado é colocado em um menu compartilhado destinado a organizar comandos relacionados de uma maneira significativa para o usuário. É importante aproveitar essa estrutura de comando compartilhado para reduzir a complexidade.

Barras de ferramentas globais

É necessário que as barras de ferramentas globais caibam em uma linha imediatamente. Ao criar uma nova barra de ferramentas global, siga as diretrizes para esse tipo de barra de ferramentas.

Diretrizes gerais da barra de ferramentas:

  • Cada barra de ferramentas tem 24 pixels em controles comuns (garra, overflow).

  • Cada botão da barra de ferramentas tem 22 pixels de largura, incluindo preenchimento. Tornar o ícone um botão de divisão adiciona outros 11 pixels de largura.

  • A duplicação de comandos entre barras de ferramentas é permitida.

    Barras de ferramentas específicas do documento aparecem quando um determinado tipo de arquivo está ativo e desaparece quando um tipo de arquivo diferente se torna ativo.

  • Barras de ferramentas específicas do documento não podem ter mais de 12 botões.

  • A largura total da barra de ferramentas não pode exceder 300 pixels.

  • Cada tipo de arquivo pode ter uma barra de ferramentas inserida ou uma barra de ferramentas global específica do documento, mas não ambos.

    Barras de ferramentas específicas do contexto aparecem quando um determinado contexto é definido e tendem a permanecer ativas por períodos estendidos.

  • O limite de botão para todas as barras de ferramentas específicas do contexto é 18.

  • Se a maioria dos usuários não empregar consistentemente os comandos dessa barra de ferramentas quando o contexto estiver ativo, não associe essa barra de ferramentas a um contexto.

  • Verifique se a barra de ferramentas desaparece ao sair do contexto. Nenhuma dessas barras de ferramentas deve aparecer na inicialização.

    Barras de ferramentas sem nenhum contexto nunca aparecem automaticamente. Elas são mostradas somente quando o usuário as ativa. Mantenha a largura máxima abaixo de 200 pixels.

Organização geral e grupos definidos por shell

Use comandos compartilhados, grupos de comandos e menus existentes. Se um novo comando precisar ser definido, tente colocá-lo em um grupo de comandos compartilhados existente. Se um novo grupo precisar ser definido, tente colocá-lo em um menu compartilhado existente próximo a um grupo de comandos relacionados antes de criar um novo menu de nível superior. Isso reduz a complexidade do comando, garantindo o posicionamento consistente do comando no IDE.

O menu de formato compartilhado, geralmente mostrado no contexto de janelas de documento no estilo de designer, é ilustrado na imagem a seguir:

Visual Studio Menu Formatar com textos explicativos

Grupos de menus no Visual Studio

Reduzindo e reutilizando comandos

Os comandos são geralmente mostrados com base no contexto, para reduzir o número de comandos que o usuário vê em um determinado momento. No entanto, você também deve reutilizar os menus compartilhados existentes e os grupos de comandos para garantir que a estrutura do comando permaneça relativamente estável entre as alterações no contexto.

Reutilizar comandos compartilhados e colocar novos comandos próximos aos comandos compartilhados relacionados reduz a complexidade do IDE e cria uma experiência mais fácil de usar.

Comandos de nomenclatura

Convenções de nomenclatura

A nomenclatura consistente de comandos é essencial para que os usuários possam localizar e executar comandos, seja usando a linha de comando ou a associação a um atalho de teclado. Os nomes de comando também ajudam o usuário a entender qual finalidade um comando serve quando é exibido em uma barra de ferramentas ou em um menu de contexto ou em cascata.

Ao nomear comandos:

  • Construa texto para que ele seja facilmente localizável. Para obter mais informações sobre a localização de texto, consulte práticas recomendadas de localização.

  • Seja conciso. Os comandos não devem usar mais do que três palavras.

  • Usar capitalização do caso de título: a primeira letra de cada palavra deve ser capitalizada. para obter mais informações sobre a formatação de texto em Visual Studio, consulte estilo de texto.

  • Leve em consideração onde o comando será colocado. Ele está em um menu de nível superior ou um submenu? Por exemplo, ao agrupar comandos de alinhamento em um submenu, o comando de nível superior deve ser "Alinhar" e os comandos de submenu devem ser "esquerdo", "à direita," "centralizado", "justificar" e assim por diante. Seria redundante nomear os comandos de submenu "Alinhar à esquerda" ou "Alinhar à direita".

    Visual Studio Menu Formatar

Usando ícones com comandos

Ser sobressalente no uso do emparelhamento de ícone com comandos. Embora a associação de uma imagem exclusiva a um comando Hastens a capacidade do usuário de identificar esse comando, a desordem Visual e a ineficiência ocorrem com o uso excessivo de imagem. As regras a seguir ajudam a decidir se um ícone de comando deve ser criado.

Use um ícone com um comando somente se:

  • o mesmo comando tem um ícone associado a ele em outro produto da Microsoft em destaque, como um dos aplicativos Microsoft Office.

  • O comando será colocado em uma barra de ferramentas padrão.

  • O comando é um comando Specialty que os usuários provavelmente adicionarão a uma barra de ferramentas usando a caixa de diálogo "Personalizar..." .

Teclas de atalho e acesso

Visão geral

Há dois tipos de atribuições de teclas de teclado:

  • As chaves de acesso (também conhecidas como aceleradores) permitem o acesso ao teclado por meio dos menus para comando e para cada rótulo na interface do usuário da caixa de diálogo. As chaves de acesso são principalmente para fins de acessibilidade, são atribuídas a todos os menus e à maioria dos controles da caixa de diálogo, não devem ser memorizadas, afetam apenas a janela atual e são localizadas.

  • As teclas de atalho usam principalmente as sequências de teclas Control (Ctrl) e function (FN). Elas foram projetadas mais para usuários avançados e auxiliam na produtividade. Eles são atribuídos apenas aos comandos usados com mais frequência e permitem acesso rápido ao ignorar o menu principal. As teclas de atalho devem ser memorizadas e, por esse motivo, deve ser atribuída consistente com o esquema de perfil. Os esquemas de teclas de atalho podem variar de perfil para perfil. Um usuário pode personalizar as teclas de atalho por meio de ferramentas > opções > teclado.

Atribuindo chaves de acesso

As chaves de acesso consistem em Alt mais chaves alfanuméricas. Atribua uma chave de acesso a cada item de menu sem exceção. siga Windows e as convenções comuns para atribuir chaves de acesso. por exemplo, a chave de acesso para o arquivo > novo sempre deve ser ALT, F, N.

Não use letras de largura de pixel único, como ' i ' (em letras maiúsculas ou minúsculas) ou uma letra minúscula ' l ', e evite usar caracteres com descendentes (g, j, p, q e y), pois eles são difíceis de distinguir.

Evite usar chaves duplicadas quando possível. Nos casos em que a duplicação é inevitável, o sistema de menus manipula conflitos ao percorrer todos os comandos que usam a chave. Por exemplo, para um comando hipotético "número" no menu arquivo que duplica a tecla de acesso "N", ALT, F, n criaria um novo arquivo, e ALT, f , n, n executaria o comando "Number".

Atribuindo teclas de atalho

Evite atribuir novas teclas de atalho, pois elas não são necessárias para todos os comandos e impostos o sistema (e a memória do usuário) se estiverem em uso. os dados do Programa de Aperfeiçoamento da Experiência do Usuário (CEIP) indicam que Visual Studio usuários usam apenas um pequeno subconjunto dos atalhos integrados.

Ao definir atalhos, siga estas regras:

  • Use as sequências de teclas Control (Ctrl) e function (FN).

  • Preserve os atalhos usados com frequência. Mantenha os atalhos mais populares.

  • Torne os atalhos do editor fáceis de digitar. Associe atalhos fáceis de digitar a comandos que os desenvolvedores precisam mais ao escrever código. Por exemplo, Edit. InvokeSmartTag precisa ter uma tecla de atalho rápida como CTRL +/e não Alt + Shift + F10.

  • Busque atalhos com tema consistente.

  • siga as diretrizes de Windows para determinar quais chaves de modificador empregar. Use combinações de teclas CTRL para comandos que têm efeitos em larga escala, como comandos que se aplicam a um documento inteiro. Use combinações de teclas Shift para comandos que estendem ou complementem as ações da tecla de atalho padrão. Não use combinações CTRL + ALT.

  • Remover atalhos incorretos. Se você tiver um recurso herdado, considere remover atalhos que são usados com extrema frequência (menos de 10 vezes a partir dos dados do CEIP) ou a frequência moderada (menos de 100 vezes a partir dos dados do CEIP) se uma chave de acesso fornecer acesso rápido ao mesmo comando. Por exemplo: Alt, H, C abrirá ajuda/conteúdo.

    Não há uma maneira simples de verificar a disponibilidade do atalho. Se você quiser adicionar um atalho, siga estas etapas:

  1. verifique a lista de atalhos de Visual Studio 2013 para determinar se há comandos semelhantes para agrupá-los.

  2. Vá para ferramentas > opções > ambiente > teclado e teste seu atalho. Verifique cada esquema de mapeamento de teclado listado em "aplicar o esquema de mapeamento de teclado adicional a seguir". Verifique os perfis geral, C#, VB e C++, pois eles compartilham atalhos exclusivos. O atalho estará disponível se não estiver mapeado em nenhum desses lugares.