Compartilhar via


Trechos de código e como utilizá-los

Fragmentos de código são pequenos trechos de código reutilizável que você pode adicionar a um arquivo de código. Os snippets geralmente contêm blocos de código usados com frequência, como Try...Finally ou If...Else blocos. Você também pode usar snippets de código para adicionar classes ou métodos inteiros.

Um trecho de código tem um título que você usa para selecioná-lo e pode ter um nome de atalho que você digita para inseri-lo. Snippets também podem conter parâmetros de substituição, que atuam como variáveis substitutas. Snippets estão disponíveis para muitos idiomas, incluindo C#, C++e Visual Basic.

Snippets de expansão e snippets de "envolver com"

Você pode adicionar dois tipos de snippets de código ao seu código:

  • Um snippet de expansão é adicionado em um ponto de inserção especificado.
  • Um snippet surround-with é adicionado ao redor do código selecionado e está disponível apenas para C# e C++.

Localizar snippets disponíveis

Para visualizar os snippets de código disponíveis para um idioma, selecione Ferramentas>Gerenciador de Snippets de Código na barra de menus, ou pressione Ctrl+K, B, e em seguida, selecione o idioma desejado no menu suspenso.

Captura de tela da caixa de diálogo Gerenciador de Trechos de Código.

Para criar e importar seu próprio snippet para que ele apareça na lista de snippets, consulte Passo a passo: criar um snippet de código no Visual Studio.

Adicionar um snippet a um arquivo de código

Para adicionar um snippet a um arquivo de código:

  1. No editor de código, coloque o cursor ou selecione o código C# ou C++ em que você deseja adicionar o snippet.

  2. Execute uma das seguintes ações:

    • Na barra de menus do Visual Studio, escolha Editar>IntelliSense>Inserir Trecho ou Editar>IntelliSense>Com Sobreposição.
    • Clique com o botão direito do mouse e escolha Inserir Snippet de > ou Snippet>Envolver Com no menu de contexto.
    • No teclado, pressione Ctrl+K, X para um snippet de expansão ou Ctrl+K, S para um snippet de envolvimento com.
  3. Clique duas vezes no trecho desejado na lista suspensa ou digite o atalho do trecho e pressione Tab ou Enter.

Adicionar um trecho de expansão

Por exemplo, o trecho de código de expansão do C# tryf adiciona o bloco Try...Finally seguinte:

try
{

}
finally
{

}

Para adicionar este trecho de expansão:

  1. No editor de código, posicione o cursor onde você deseja adicionar o snippet.
  2. Clique com o botão direito do mouse e selecione Inserir Snippet no menu de contexto, ou use a barra de menus ou os comandos do teclado.
  3. Abra a pasta Visual C# e clique duas vezes em Tryf na lista suspensa ou selecione tryf e pressione Tab ou Enter.

Dica

Você também pode colocar o cursor no ponto de inserção, digitar tryf e pressionar Tab duas vezes.

Adicionar um trecho de código de envolvimento

No exemplo a seguir de um snippet C++, o atalho if pode ser usado como um snippet de inserção ou um snippet de envolvimento. Se você selecionar a linha return FALSE; de código e então escolher Surround With>se, o trecho será expandido em volta da linha.

if (true)
{
    return FALSE;
}

Parâmetros de substituição de snippet

Os snippets podem conter parâmetros de substituição, que são espaços reservados que você deve substituir para se ajustar ao código que você está escrevendo. No exemplo anterior, true é um parâmetro de substituição, que você substitui pela condição apropriada. A substituição se repete para cada instância desse parâmetro de substituição no trecho.

Por exemplo, o Visual Basic tem um snippet de código que define uma propriedade. Para inserir o trecho:

  1. No menu de contexto do clique com o botão direito do mouse em um arquivo de código do Visual Basic, selecione Snippet>Inserir Trecho.
  2. Selecione Padrões de Código>Propriedades, Procedimentos, Eventos>Definir uma Propriedade.

Captura de tela do menu de trecho de código para

O código a seguir é inserido:

Private newPropertyValue As String
Public Property NewProperty() As String
    Get
        Return newPropertyValue
    End Get
    Set(ByVal value As String)
        newPropertyValue = value
    End Set
End Property

Se você alterar newPropertyValue para m_property, cada instância de newPropertyValue muda. Se você alterar String para Int na declaração de propriedade, o valor no método Set também será alterado para Int.

Práticas recomendadas para usar snippets de código

O código em um snippet de código mostra apenas a maneira mais básica de fazer algo. Para a maioria dos aplicativos, o código deve ser modificado para atender ao aplicativo.

Tratamento de exceções

Normalmente, os blocos de snippet Try...Catch de código capturam e relançam todas as exceções, mas essa pode não ser a escolha certa para o projeto. Para cada exceção, há várias maneiras de responder. Para obter exemplos, consulte Como lidar com uma exceção usando try/catch (C#) e Instrução Try...Catch...Finally (Visual Basic).

Locais de arquivos

Ao adaptar locais de arquivo ao seu aplicativo, considere os fatores a seguir.

  • Encontre um local acessível. Os usuários podem não ter acesso à pasta Arquivos de Programas do computador, portanto, armazenar arquivos de usuário com os arquivos do aplicativo pode não funcionar.

  • Encontre um local seguro. Armazenar arquivos na pasta raiz como C:\ não é seguro. Para dados do aplicativo, é melhor usar a pasta Dados do Aplicativo . Para dados individuais do usuário, o aplicativo pode criar um arquivo na pasta Documentos de cada usuário.

  • Use um nome de arquivo válido. Você pode usar os controles OpenFileDialog e SaveFileDialog para reduzir a probabilidade de nomes de arquivo inválidos.

  • Lembre-se de que um arquivo selecionado pelo usuário pode ser excluído antes que seu código possa manipular o arquivo. Além disso, um usuário pode não ter permissão para gravar no arquivo.

Segurança

A segurança de um snippet depende de onde você o usa no código-fonte e de como modificá-lo quando ele estiver no código. A lista a seguir contém algumas áreas a serem consideradas:

  • Acesso a arquivo e banco de dados
  • Segurança de acesso ao código
  • Proteger recursos como registros de eventos e registro do sistema
  • Armazenar segredos
  • Verificando entradas
  • Passando dados para tecnologias de script

Para obter mais informações, consulte Aplicativos seguros.

Trechos de código baixados

Snippets de código instalados pelo Visual Studio não são riscos à segurança. No entanto, eles podem criar riscos de segurança em seu aplicativo. Os snippets baixados da Internet devem ser tratados com extrema cautela, como qualquer outro conteúdo baixado. Baixe snippets somente de sites em que você confia e use o software antivírus up-to-date.

Abra todos os arquivos de snippet baixados no Bloco de Notas ou no editor XML do Visual Studio e examine-os cuidadosamente antes de instalá-los. Cuidado com os seguintes problemas:

  • Código de snippet que pode danificar seu sistema se você executá-lo. Leia o código-fonte cuidadosamente antes de executá-lo.

  • HelpURL bloqueia arquivos de snippet que contêm URLs que executam arquivos de script mal-intencionados ou exibem sites ofensivos.

  • Snippets que contêm referências que são adicionados silenciosamente ao seu projeto e podem ser carregados de qualquer lugar em seu sistema. Você pode baixar essas referências do mesmo local do qual você baixa um snippet. O trecho de código pode então chamar um método na referência que executa código malicioso. Para detectar essas referências, revise os blocos Imports e References do arquivo de snippet.