Visual Studio에서 속성을 만드는 바로 가기?


259

C #에서 속성을 만드는 사람들이 정말 빨리 보였지만 어떻게 했습니까?

Visual Studio (현재 Visual Studio 2010 사용)에서 속성을 만들기 위해 사용할 수있는 바로 가기는 무엇입니까?

C #을 사용하고 있습니다.

예를 들어

public string myString {get;set;}

답변:


561

" prop "를 입력 한 다음 tab을 두 번 누를 수 있습니다. 그러면 다음이 생성됩니다.

public TYPE Type { get; set; }

그런 다음 "TYPE"과 "Type"을 변경하십시오.

public string myString {get; set;}

"propfull"을 입력 한 다음 전체 속성을 두 번 탭해도됩니다. 그러면 필드와 전체 속성이 생성됩니다.

private int myVar;

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

7
"Code Snippet"이라는 이름을 잊어 버렸습니다 :)
PVitt

@PVitt : 감사합니다. 이름 :-)
Amra

12
또한 propg는 다음을 생성합니다. public int MyProperty {get; 개인 세트; }
Amc_rtty

3
Visual Studio 설치 아래의 VC # \ Snippets \ 1033 \ Visual C # \ "폴더에서 코드 스 니펫을 편집 할 수도 있습니다. 예를 들어 propfull.snippet을 편집하여 백업 필드를 protected대신 만들었습니다 private.
Paul Smith

9
P와 TAB을 두 번 입력하면 int 속성도 만들어집니다.
Adnan Bhatti

78

Amra의 답변 외에도 다음을 입력하여 다른 스 니펫을 찾을 수 있습니다

Ctrl+ K, Ctrl+X

내 Visual Studio에서 Edit.InsertSnippet에 매핑되어 사용 가능한 스 니펫의 전체 목록을 보여줍니다.

또한 Tools메뉴 에서 사용할 수있는 스 니펫 관리자를 사용하여 자신의 스 니펫을 구성 할 수 있습니다 Code Snippets Manager.... 기본적으로 파일을 만들고 *.snippet코드 조각 관리자에서 가져 오기 단추를 사용하여 파일 을 Visual Studio에 추가합니다. 전체 자습서를 보려면 문서로 이동하십시오. 연습 : 코드를 작성합니다 .


Visual Studio 코드 스 니펫은 Visual Studio와 약간 다르게 처리됩니다. 당신은 입력하여 모든 조각에 액세스 할 수 있습니다 Ctrl+ Shift+ P와 입력 snippet. 두 가지 옵션을 사용할 수,해야 Insert Snippet하고 Preferences: Configure User Snippets.

전자는 스 니펫 목록에서 스 니펫을 삽입하고 (상태 표시 줄에서 볼 수있는 언어 모드 사용) 후자는 스 니펫을 사용하여 모든 언어 모드에 대한 스 니펫을 작성할 수 있습니다.

짧은 이름을 알고 있다면 해당 이름을 입력 Tab하고 스 니펫을 확장하는 데 사용할 수 있습니다 . C #을 속성을 삽입하면 사용할 수, 세 조각이 prop, propfull그리고 propg, 다른 목적으로합니다.


속도는 느리지 만 전체 컷 +1 목록을 얻습니다.
Amra

1
사랑해! 한동안 이것을 찾고 있었다
SageMage

24

필드 안에 커서를 놓고 private int _i;편집 메뉴 또는 RMB-리 팩터-필드 캡슐화 ... ( CtrlR, CtrlE)를 사용하여 표준 속성 접근자를 만듭니다.


1
모든 사람이 동일한 키보드 레이아웃을 사용하는 것은 아닙니다 (ReSharper 등은 말할 것도 없습니다). 메뉴에서 이와 동일한 기능을 찾을 수있는 위치를 추가하는 것이 좋습니다.
sliderhouserules

11

"propfull"을 입력하십시오. 사용하는 것이 훨씬 낫고 속성과 개인 변수를 생성합니다.

"propfull"을 입력 한 다음 TAB두 번 입력하십시오.


1
전체 속성이 자동 속성보다 나은 이유는 무엇입니까? 추가 필드로 코드를 어지럽히는 이유는 무엇입니까?
Kyle Delaney

1
setter 또는 getter에서 무언가를 해야하는 경우.
joe

8

Amra가 제안한대로 "prop"+ Tab+ Tab를 입력 한 후에 는 즉시 속성 유형 (기본값을 대체 함 int)을 입력하고 다른 탭을 입력 한 다음 속성 이름 (기본 MyProperty를 대체 함)을 입력 할 수 있습니다. 를 눌러 완료하십시오 Enter.


6

변수 선언에서 속성을 만드는 데 Alt+ R+ F가 올바른 것으로 생각합니다.


2
+1 THIS는 기존 변수에 대한 속성을 생성하기 때문에 실제로 찾고 있습니다. 감사합니다!
Agent Knopf

1
흠 .. 그것은 나를 위해 파일을 축소하고 있습니다. 이것은 VS2012
Ammar

6

에서 시작하다:

private int myVar;

"myVar"를 선택하고 마우스 오른쪽 단추를 클릭 한 후 "리 팩터"를 선택하고 "필드 캡슐화"를 선택하십시오.

자동으로 생성됩니다 :

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

또는 Ctrl+ R+ 를 눌러 바로 가기를 할 수 있습니다 E.


어떤 버전의 Visual Studio? Visual Studio 2008에는없는 것 같습니다.
Peter Mortensen

VS 2010에는 다양한 코드 리팩토링 옵션이 제공됩니다. 최신 버전을 사용해야합니다.
Emrah Esmeroğlu

3

Visual Studio에서 쓸 때

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

ReSharper 는 다음과 같이 변환 할 것을 제안합니다.

public string TypeString => Type.ToString();

하지만 첫 번째는 ReSharper에서이 시사하는 것보다 더 많은 읽을 생각
마흐디 Alkhatib

3
이것이 어떻게 질문에 대답합니까?
피터 Mortensen

3

IDE에서 내가 좋아하는 것은 다음과 같은 몇 가지 변수를 작성할 수 있다는 것입니다.

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

변수 이름은 소문자로 시작한 다음 전체 블록을 선택하고 Ctrl+ R, Ctrl+ E, 적용을 누릅니다 . 속성은 대문자로 생성됩니다.

    public int Id
    {
        get
        {
            return id;
        }

        set
        {
            id = value;
        }
    }

기타


이것은 실제로 질문에 대답하지 않습니까?
mrun

이것은 내가 찾고 있던 일종의 헛소리 였지만 당신은 옳습니다. 내 대답은 바로 가기를 적용한 후 편집하지 않고 속성을 준비 할 수 있도록 변수를 준비하는 방법에 중점을 둡니다.
Jaro64

이것은 내가 찾던 일종의 지름길 이었고이 페이지에서 끝났습니다. 원래 질문은 C #에서 속성을 정말 빠르게 만드는 방법입니다. 이 아래의 많은 유스 케이스에서 분명히 개인 필드가 있고 공개 필드로 만드는 것을 피하고 싶을 것입니다 (이 경우는 내 경우입니다). 내 개인 필드를 작성하고 최대한 공공 속성을 최대한 활용하고 싶다면이 큰 사례에서 완벽하게 질문에 대한 답변이라고 생각합니다. 단순함.
Will Croxford

2

P+ Tab+를 입력하십시오 Tab.

데이터 유형을 변경하고을 누르고 TAB속성 이름을 변경 한 다음 End+를 누릅니다 Enter.


2

이동

도구 >> 옵션 >> 텍스트 편집기 >> C # >> IntelliSense

스 니펫 동작 섹션에서 :

"항상 스 니펫 포함"이 선택되어 있는지 확인하십시오.

나는 그것이 당신에게도 효과가 있기를 바랍니다.




0

VsVim을 사용하면 코드 스 니펫이 약간 재미있게 보입니다. 여기에 도착했을 때 찾고 있던 바로 가기는 훨씬 간단합니다. 멤버 이름 유형 후에{g;s;

구분 기호 자동 닫기가 설정되어 있으므로 닫는 중괄호가에 표시되고 {세미콜론을 입력하면 가져 오기 및 설정에 대한 자동 완성이 트리거됩니다.

VS2013 및 VS2015에서 작동하며 VS2012에는 자동 중괄호 일치 기능이 없습니다.



0

C #에서 :

private string studentName;

세미콜론 (;) 다음 줄 끝에서 Just Press

Ctrl + R + E

다음과 같은 팝업 창이 나타납니다. 여기에 이미지 설명을 입력하십시오 Apply를 클릭하거나 ENTER를 누르면 다음과 같은 속성 코드가 생성됩니다.

public string StudentName
        {
            get
            {
                return studentName;
            }

            set
            {
                studentName = value;
            }
        }

VB에서 :

Private _studentName As String

줄 끝에서 (문자열 뒤) Press, _ (밑줄)은 속성의 끝에 숫자를 추가하므로 시작 부분에 위치해야합니다.

Ctrl + R + E

같은 창이 나타납니다 : 여기에 이미지 설명을 입력하십시오

적용을 클릭하거나 ENTER를 누르면 다음과 같이 끝에 숫자가있는 다음과 같은 속성 코드가 생성됩니다.

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

숫자 속성은 다음과 같습니다.

Private studentName As String
 Public Property StudentName1 As String
        Get
            Return studentName
        End Get
        Set(value As String)
            studentName = value
        End Set
    End Property
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.