Visual Studio 코드베이스를 간소화하기 위해 코드를 새 구문으로 추출하거나 코드를 인라인화하기 위한 몇 가지 리팩터링을 제공합니다. 빠른 작업 및 리팩터링 메뉴(Ctrl+.)를 통해 이러한 리팩터링에 액세스할 수 있습니다.
추출 방법
이 리팩터링에서는 코드 조각을 자체 메서드로 변환하여 여러 위치에서 동일한 코드를 호출해야 하는 경우 중복을 줄입니다.
추출할 코드를 강조 표시합니다.
C#:
Visual Basic:
다음으로 다음 중 하나를 수행합니다.
-
Keyboard
- Ctrl+R을 누른 다음 Ctrl+M을 누릅니다. (선택한 프로필에 따라 바로 가기 키가 다를 수 있습니다.)
- Ctrl 키를 누릅니다+.빠른 작업 및 리팩터링 메뉴를 트리거하고 미리 보기 창 팝업에서 메서드 추출을 선택합니다.
-
마우스
- 리팩터 > 링 추출 방법 편집>을 선택합니다.
- 코드를 마우스 오른쪽 단추로 클릭하고 추출 > 메서드 리팩터링 >선택
- 코드를 마우스 오른쪽 단추로 클릭하고 빠른 작업 및 리팩터링 메뉴를 선택하고 미리 보기 창 팝업에서 메서드 추출 을 선택합니다.
메서드가 즉시 만들어집니다. 이제 새 이름을 입력하여 메서드의 이름을 바꿀 수 있습니다.
팁 (조언)
IDE의 오른쪽 위에 표시되는 이름 바꾸기 상자의 확인란을 사용하여 저장하기 전에 변경 내용을 미리 볼 뿐만 아니라 이 새 이름을 사용하도록 메모 및 기타 문자열을 업데이트할 수도 있습니다.
C#:
Visual Basic:
Main Sub에 대한 Visual Basic 코드 스크린샷입니다. 메서드 이름이 강조 표시되고 팝업 이름 바꾸기 창이 open.
-
Keyboard
변경 내용이 마음에 들면 적용 단추를 선택하거나 Enter 키를 누르면 변경 내용이 커밋됩니다.
로컬 함수 추출
적용 대상: C#
이 리팩터링에서는 기존 메서드의 코드 조각을 로컬 함수로 변환합니다. 추출된 코드는 동일한 메서드 내에서만 호출해야 하는 경우에 유용합니다.
추출할 코드를 강조 표시합니다.
Ctrl 키를 누릅니다+. 빠른 작업 및 리팩터링 메뉴를 트리거합니다.
로컬 함수 추출을 선택합니다.
기본 클래스 추출
이 리팩터링에서는 선택한 클래스의 멤버를 새 기본 클래스로 추출합니다. 상속을 통해 클래스 간에 멤버를 공유하려는 경우에 유용합니다.
클래스 이름 또는 강조 표시된 멤버에 케어트를 놓습니다.
Ctrl 키를 누릅니다+. 빠른 작업 및 리팩터링 메뉴를 트리거합니다.
새 기본 클래스로 멤버 상향 이동을 선택합니다.
새 기본 클래스 추출 대화 상자가 열리고 기본 클래스의 이름과 배치할 위치를 지정할 수 있습니다. 새 기본 클래스로 전송할 멤버를 선택하고 추상 만들기 열에서 확인란을 선택하여 멤버를 추상화하도록 선택할 수 있습니다.
인터페이스 추출
이 리팩터링에서는 클래스, 구조체 또는 인터페이스의 기존 멤버를 사용하여 인터페이스를 만들어 다른 형식이 공통 서명을 공유할 수 있도록 합니다.
클래스 이름에 커서를 놓습니다.
C#:
Visual Basic:
다음으로, 다음 작업 중 하나를 수행합니다.
-
Keyboard
- Ctrl+R을 누른 다음 Ctrl+I를 누릅니다. (선택한 프로필에 따라 바로 가기 키가 다를 수 있습니다.)
- Ctrl 키를 누릅니다+.빠른 작업 및 리팩터링 메뉴를 트리거하고 미리 보기 창 팝업에서 인터페이스 추출을 선택합니다.
-
마우스
- 리팩터 > 링 추출 인터페이스 편집>을 선택합니다.
- 클래스의 이름을 마우스 오른쪽 단추로 클릭하고 빠른 작업 및 리팩터링 메뉴를 선택하고 미리 보기 창 팝업에서 인터페이스 추출 을 선택합니다.
-
Keyboard
팝업되는 인터페이스 추출 대화 상자에서 다음과 같은 정보를 입력합니다.
분야 설명 새 인터페이스 이름 만들 인터페이스의 이름입니다. 이름은 기본적으로 IClassName으로 설정됩니다. 여기서 ClassName 은 위에서 선택한 클래스의 이름입니다. 새 파일 이름 인터페이스를 포함할 생성된 파일의 이름입니다. 인터페이스 이름과 마찬가지로 이 이름은 기본적으로 IClassName으로 설정됩니다. 여기서 ClassName 은 위에서 선택한 클래스의 이름입니다. 현재 파일에 추가 옵션을 선택할 수도 있습니다. 공용 멤버를 선택하여 인터페이스를 형성합니다. 인터페이스로 추출할 항목입니다. 원하는 만큼 선택할 수 있습니다. 확인을 선택합니다.
인터페이스는 지정된 이름의 파일에 만들어집니다. 또한 선택한 클래스는 해당 인터페이스를 구현합니다.
C#:
Visual Basic:
인라인 메서드
이 리팩터링에서는 단일 문 본문 내의 정적, 인스턴스 또는 확장 메서드의 사용을 원래 메서드 선언을 제거하는 옵션으로 해당 구현으로 바꿉니다.
메서드의 사용량에 대한 케어트를 배치합니다.
Ctrl 키를 누릅니다+. 빠른 작업 및 리팩터링 메뉴를 트리거합니다.
다음 옵션 중 하나를 선택합니다.
인라인 메서드 선언을 제거하려면 인라인
<QualifiedMethodName>을 선택합니다.
인라인을 선택하고
<QualifiedMethodName>원래 메서드 선언을 유지합니다.
인라인 임시 변수
이 리팩터링에서는 임시 변수를 제거하고 대신 해당 값으로 대체하여 임시 변수가 코드를 이해하기 어렵게 만들 때 코드를 간소화합니다.
인라인 처리할 임시 변수 내부에 텍스트 커서를 강조 표시하거나 배치합니다.
C#:
Visual Basic:
다음으로 다음 중 하나를 수행합니다.
-
Keyboard
- Ctrl 키를 누릅니다+. 빠른 작업 및 리팩터링 메뉴를 트리거합니다.
-
마우스
- 코드를 마우스 오른쪽 단추로 클릭하고 빠른 작업 및 리팩터링 메뉴를 선택합니다.
-
Keyboard
미리 보기 창 팝업 에서 인라인 임시 변수 를 선택합니다.
변수가 제거되고 해당 사용량이 변수 값으로 대체됩니다.
C#:
Visual Basic: