Atalho para criar propriedades no Visual Studio?


259

Vi algumas pessoas criando propriedades em C # muito rápido, mas como elas fizeram isso?

Quais atalhos estão disponíveis no Visual Studio (atualmente usando o Visual Studio 2010) para criar propriedades?

Eu estou usando c #.

Por exemplo,

public string myString {get;set;}

Respostas:


561

Você pode digitar " prop " e pressionar tab duas vezes. Isso irá gerar o seguinte.

public TYPE Type { get; set; }

Então você altera "TYPE" e "Type":

public string myString {get; set;}

Você também pode obter a propriedade completa digitando "propfull" e depois tabular duas vezes. Isso geraria o campo e a propriedade completa.

private int myVar;

public int MyProperty
{
    get { return myVar;}
    set { myVar = value;}
}

7
Você esqueceu de nomeá-lo "Fragmento de Código" :)
PVitt

@PVitt: Obrigado, eu não sabia o nome :-)
Amra

12
Além disso, o propg criará: public int MyProperty {get; conjunto privado; }
Amc_rtty 26/11/12

3
Você também pode editar o trecho de código, na pasta VC # \ Snippets \ 1033 \ Visual C # \ "na instalação do Visual Studio. Editei o propfull.snippet para criar o campo de apoio em protectedvez de private, por exemplo
Paul Smith

9
Se você digitar P e TAB duas vezes, também criará a propriedade int.
Adnan Bhatti

78

Além da resposta de Amra , você pode encontrar outros trechos digitando

Ctrl+ K, Ctrl+X

Que é mapeado para Edit.InsertSnippet no meu Visual Studio e mostra a lista completa de trechos disponíveis.

Lembre-se também de que você pode configurar seus próprios snippets usando o Snippets Manager, disponível no Toolsmenu Code Snippets Manager.... Basicamente, você cria um arquivo *.snippete usa o botão Importar no Code Snippets Manager para adicioná-lo ao Visual Studio. Para um tutorial completo, você pode acessar os documentos; Passo a passo: Crie um trecho de código .


No Visual Studio, os trechos de código são manipulados ligeiramente diferentes dos do Visual Studio. Você pode acessar todos os trechos digitando Ctrl+ Shift+ Pe digite snippet. Duas opções devem estar disponíveis, Insert Snippete Preferences: Configure User Snippets.

O primeiro insere um trecho da sua lista de trechos (usando o Modo de idioma que você pode ver na barra de status) e, com o último, você pode criar seus próprios trechos para qualquer Modo de idioma.

Se você souber o nome abreviado, basta digitá-lo e usá-lo Tabpara expandir o snippet. Para inserir uma propriedade C # você tem três trechos disponíveis, prop, propfulle propg, para diferentes fins.


Bom, é mais lento, mas você obtém a lista completa de atalhos +1.
Amra

1
Eu te amo! estava procurando isso por um tempo agora
SageMage

24

Coloque o cursor dentro do seu campo private int _i;e, em seguida, menu Editar ou RMB - Refatorar - encapsular campo ... ( CtrlR, CtrlE) para criar os acessadores de propriedade padrão.


1
Nem todo mundo está usando o mesmo layout de teclado (para não mencionar ReSharper et al). Pode ser bom adicionar onde você pode encontrar essa mesma funcionalidade nos menus.
Sliderhouserules 10 /

11

Digite "propfull". É muito melhor usar e gerará a propriedade e a variável privada.

Digite "propfull" e depois TABduas vezes.


1
Por que as propriedades completas são melhores que as propriedades automáticas? Por que bagunçar seu código com um campo extra?
Kyle Delaney

1
Caso você precise fazer algo no setter ou getter.
joe

8

Após digitar "prop" + Tab+, Tabconforme sugerido por Amra, você pode digitar imediatamente o tipo da propriedade (que substituirá o padrão int), digitar outra guia e digitar o nome da propriedade (que substituirá o MyProperty padrão). Termine pressionando Enter.


6

Eu acho que Alt+ R+ Fé o correto para criar propriedades a partir de uma declaração variável


2
+1 ESTE é realmente o que eu estava procurando, pois cria propriedades para variáveis ​​existentes, obrigado!
AgentKnopf

1
hm .. está minificando arquivos para mim. Isso não funcionou como planejado para mim no VS2012
Ammar

6

Começar de:

private int myVar;

Quando você seleciona "myVar" e clique com o botão direito do mouse, selecione "Refatorar" e selecione "Encapsular campo".

Ele criará automaticamente:

{
    get { return myVar; }
    set { myVar = value; }
}

Ou você pode atalho pressionando Ctrl+ R+ E.


Qual versão do Visual Studio? Ele não parece estar em Visual Studio 2008.
Peter Mortensen

Várias opções de refatoração de código vieram com o VS 2010. Você precisa estar usando uma versão mais recente.
Emrah Esmeroğlu

3

Quando você escreve no Visual Studio,

public ServiceTypesEnum Type { get; set; }
public string TypeString { get { return this.Type.ToString();}}

O ReSharper continuará sugerindo a conversão para:

public string TypeString => Type.ToString();

Mas eu acho que o primeiro é mais legível do que o ReSharper sugere
Mahdi Alkhatib

3
Como isso responde à pergunta?
Peter Mortensen

3

O que eu gostei no IDE foi que eu era capaz de escrever algumas variáveis ​​como:

    private int id;
    private string name;
    private string version;
    private string description;
    private string status;
    private string symbol;

Observe que os nomes das variáveis ​​começam com letras minúsculas e, em seguida, selecione o bloco inteiro e pressione Ctrl+ R, Ctrl+ E, Aplicar. As propriedades são geradas com a letra maiúscula:

    public int Id
    {
        get
        {
            return id;
        }

        set
        {
            id = value;
        }
    }

etc.


Isso realmente não responde à pergunta, não é?
mrun

Esse era um tipo de atalho que eu estava procurando, mas você está certo. Minha resposta se concentra em como preparar as variáveis ​​para ter propriedades prontas sem edição após a aplicação do atalho.
precisa saber é o seguinte

Esse era um tipo de atalho que eu estava procurando e acabou nesta página. A questão original é como criar propriedades em C # muito rápido. Em muitos casos de uso nesse caso, certamente será onde você tem um campo privado e deseja evitar torná-lo público (este é o meu caso). Se eu tiver meu (s) campo (s) privado (s) escrito (s) e desejar propriedades públicas completas o mais cedo possível, acho que isso está respondendo à pergunta perfeitamente neste grande subconjunto de casos. Simples.
Will Croxford

2

Digite P+ Tab+ Tab.

Altere o tipo de dados, pressione TAB, altere o nome da propriedade e pressione End+ Enter.


2

Vamos para

Ferramentas >> Opções >> Editor de Texto >> C # >> IntelliSense

Na seção de comportamento Snippets:

Verifique se a opção "Sempre incluir trechos" está selecionada.

Eu espero que funcione para você também.




0

Usando o VsVim, os trechos de código parecem um pouco engraçados. O atalho que eu estava procurando quando acabei aqui é muito mais simples: depois de um tipo de nome de membro{g;s;

Eu tenho o fechamento automático do delimitador ativado, para que a chave de fechamento apareça {, e digitar um ponto-e-vírgula aciona um preenchimento automático para obter e definir.

Ele funciona no VS2013 e VS2015, e o VS2012 não possui a correspondência automática de chaves.


0

Na comunidade do visual studio 2017, a tecla é ctrl +.


0

Em c #:

private string studentName;

No final da linha após ponto e vírgula (;) Apenas pressione

Ctrl + R + E

Ele mostrará uma janela pop-up como esta: insira a descrição da imagem aqui Ao clicar em Aplicar ou pressionar ENTER, irá gerar o seguinte código de propriedade:

public string StudentName
        {
            get
            {
                return studentName;
            }

            set
            {
                studentName = value;
            }
        }

No VB:

Private _studentName As String

No final da linha (depois de String) Pressione, Certifique-se de colocar _ (sublinhado) no início, pois ele adicionará um número no final da propriedade:

Ctrl + R + E

A mesma janela aparecerá: insira a descrição da imagem aqui

Ao clicar em Aplicar ou pressionar ENTER, irá gerar o seguinte código de propriedade com número no final, assim:

Public Property StudentName As String
        Get
            Return _studentName
        End Get
        Set(value As String)
            _studentName = value
        End Set
    End Property

Com o número, as propriedades são assim:

Private studentName As String
 Public Property StudentName1 As String
        Get
            Return studentName
        End Get
        Set(value As String)
            studentName = value
        End Set
    End Property
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.