Snippets de código e como usá-los
Snippets de código são pequenos blocos de código reutilizável que você pode adicionar a um arquivo de código. Em geral, os snippets contêm blocos de código usados com frequência, como blocos de Try...Finally
ou If...Else
. Você também pode usar os snippets de código para adicionar classes ou métodos inteiros.
Um snippet de código tem um título usado para selecionar o snippet e pode ter um nome de atalho que você poderá digitar para inserir o snippet. Os snippets podem até mesmo conter parâmetros de substituição, que atuam como espaços reservados. Os snippets estão disponíveis para várias linguagens, inclusive C#, C++ e Visual Basic.
Trechos de expansão e Trechos surround-with
É possível 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 circundante é adicionado ao redor do código selecionado e está disponível apenas para C# e C++.
Localizar snippets disponíveis
Para exibir os snippets disponíveis para uma linguagem, selecione Ferramentas>Gerenciador de snippets de código na barra de menus ou pressione Ctrl+K, B e selecione a linguagem desejada no menu suspenso.
Para criar e importar seu próprio snippet, de modo 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:
No editor de código, posicione o cursor ou selecione o código C# ou C++ onde deseja adicionar o snippet.
Execute uma das seguintes ações:
- Na barra de menus do Visual Studio, escolha Editar>IntelliSenseInserir snippet> ou Editar>IntelliSense>Circundar.
- Clique com o botão direito do mouse e escolha Snippet>Inserir snippet ou Snippet>Circundar com no menu de contexto.
- No teclado, pressione Ctrl+K, X para um snippet de expansão ou Ctrl+K, S para um snippet circundante.
Clique duas vezes no snippet desejado na lista suspensa ou digite o atalho do snippet e pressione Tab ou Enter.
Adicionar um snippet de expansão
Por exemplo, o snippet de expansão tryf
em C# adiciona o seguinte bloco Try...Finally
:
try
{
}
finally
{
}
Para adicionar esse snippet de expansão:
- No editor de código, posicione o cursor onde você deseja adicionar o snippet.
- Clique com o botão direito do mouse e selecione Inserir snippet no menu de contexto do botão direito do mouse ou use a barra de menus ou os comandos do teclado.
- Abra a pasta Visual C# e clique duas vezes em tryf na lista suspensa ou selecione tryf e pressione Tab ou Enter.
Dica
Também é possível posicionar o cursor no ponto de inserção, digitar tryf e pressionar Tab duas vezes.
Adicionar um snippet circundante
No exemplo a seguir de um snippet em C++, é possível usar o atalho if
como um snippet de inserção ou um snippet circundante. Se você selecionar a linha de código return FALSE;
e, em seguida, escolher Circundar com>if, o snippet de código será expandido ao redor da linha.
if (true)
{
return FALSE;
}
Parâmetros de substituição de snippet
Snippets podem conter parâmetros de substituição, que são espaços reservados que você deve substituir de acordo com o código que está criando. No exemplo anterior, true
é um parâmetro de substituição, que você substitui pela condição adequada. A substituição é repetida para cada ocorrência do mesmo parâmetro de substituição no snippet.
Por exemplo, o Visual Basic tem um snippet de código que define uma propriedade. Para inserir o snippet:
- No menu de contexto do botão direito do mouse em um arquivo de código do Visual Basic, selecione Snippet>Inserir Snippet.
- Selecione Padrões de Código>Propriedades, Procedimentos, Eventos>Definir uma Propriedade.
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 ocorrência de newPropertyValue
será alterada. Se você alterar String
para Int
na declaração de propriedade, o valor no método Set
também mudará para Int
.
Melhores práticas para usar snippets de código
O código em um snippet de código mostra somente a maneira mais simples de fazer algo. Para a maioria dos aplicativos, o código deve ser modificado para se adaptar ao aplicativo.
Tratamento de exceções
Normalmente, os blocos Try...Catch
de snippet de código capturam e relançam todas as exceções, mas talvez essa não seja a opção adequada para seu projeto. Para cada exceção, existem várias maneiras de responder. Para obter exemplos, confira Como processar 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, certifique-se de considerar os seguintes fatores.
Encontre um local acessível. Talvez os usuários não tenham acesso à pasta Arquivos de Programas do computador, portanto, talvez o armazenamento de arquivos do usuário com os arquivos do aplicativo não funcione.
Encontre um local seguro. Não é seguro armazenar arquivos na pasta raiz, p. ex., C:\. Para dados de 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, talvez um usuário não tenha permissão para gravar no arquivo.
Segurança
A segurança de um snippet dependerá de onde ele for usado no código-fonte e de como você o modificar quando ele estiver no código. A lista a seguir contém algumas das áreas que devem ser consideradas:
- Acesso ao arquivo e ao banco de dados
- Segurança de acesso do código
- Protegendo recursos como logs de eventos e registro
- Armazenar segredos
- Verificando as entradas
- Passando dados para tecnologias de script
Para mais informações, consulte Proteger aplicativos.
Snippets de código baixados
Os snippets de código instalados pelo Visual Studio não são, individualmente, um risco à segurança. No entanto, eles podem criar riscos de segurança no aplicativo. Snippets baixados na Internet devem ser tratados com extrema cautela, assim como qualquer outro conteúdo baixado. Baixe snippets somente em sites confiáveis e use um software antivírus atualizado.
Abra todos os arquivos de snippet baixados no Bloco de notas ou no editor de XML do Visual Studio e examine-os cuidadosamente antes de instalá-los. Cuidado com os seguintes problemas:
Snippet de código que possa danificar o sistema se for executado. Leia atentamente o código-fonte antes de executá-lo.
Blocos de
HelpURL
em arquivos de snippet contendo URLs que executem arquivos de script mal-intencionados ou exibam sites ofensivos.Snippets com referências adicionadas silenciosamente ao projeto e podem ser carregadas de qualquer lugar do sistema. Você pode baixar essas referências do mesmo local no qual baixa um snippet. Em seguida, o snippet pode chamar um método na referência que execute um código mal-intencionado. Para detectar essas referências, revise os blocos
Imports
eReferences
do arquivo de snippet.