리팩터링Refactoring

코드를 리팩터링하면 코드의 전반적인 동작을 변경하지 않으면서 기존의 코드를 재정렬 및 재구성하고 명확하게 나타낼 수 있습니다.Refactoring code is a way to rearrange, restructure, and clarify existing code while ensuring that the overall behavior of the code doesn't change.

리팩터링은 안정성이 더 높은 코드베이스를 제공하므로 본인이나 코드를 참조할 수 있는 다른 개발자 혹은 사용자가 더 쉽게 사용하고 읽고 유지 관리할 수 있습니다.Refactoring produces a healthier code base, making it more useable, readable, and maintainable for you or any other developer or user that might refer to the code.

Mac용 Visual Studio는 Microsoft의 오픈 소스 .NET 컴파일러 플랫폼인 Roslyn과 통합되어 더 많은 리팩터링 작업을 수행할 수 있도록 합니다.Visual Studio for Mac's integration with Roslyn, Microsoft's open-source .NET compiler platform, allows for more refactoring operations.

이름 바꾸기Renaming

이름 바꾸기 리팩터링 명령은 모든 코드 식별자(예: 클래스 이름, 속성 이름)에 사용하여 해당 식별자와 일치하는 항목을 찾아 변경할 수 있습니다.The Rename refactoring command can be used on any code identifier (for example, a class name, property name etc.) to find all occurrences of that identifier and change them. 기호의 이름을 바꾸려면 기호를 마우스 오른쪽 단추로 클릭하고 이름 바꾸기... 를 선택하거나 Cmd(⌘) + R 키 바인딩을 사용합니다.To rename a symbol, right-click on it and choose Rename..., or use the Cmd (⌘) + R key binding:

메뉴 항목 이름 바꾸기

이렇게 하면 기호와 기호에 대한 모든 참조가 강조 표시됩니다.This highlights the symbol and any references to it. 새 이름을 입력하면 코드 내의 모든 참조가 자동으로 변경되고 Enter 를 눌러 변경 내용을 커밋할 수 있습니다.When you start typing a new name it automatically changes all references in your code, and you can commit your changes by pressing Enter:

이름 바꾸기 및 식별자

빠른 작업 및 리팩터링Quick Actions and Refactorings

빠른 작업과 리팩터링을 사용하면 단일 작업으로 쉽게 코드를 리팩터링하거나 생성하거나 수정할 수 있습니다.Quick Actions and Refactorings let you easily refactor, generate, or otherwise modify code with a single action.

빠른 작업은 다음에 사용할 수 있습니다.Quick Actions can be used to:

  • 코드 분석기 규칙 위반에 대한 코드 수정 적용Apply a code fix for a code analyzer rule violation
  • 코드 분석기 규칙 위반 표시 안 함Suppress a code analyzer rule violation
  • 리팩터링 적용(예: 임시 변수 인라인)Apply a refactoring (for example, inline a temporary variable)
  • 코드 생성(예: 지역 변수 도입)Generate code (for example, introduce a local variable)

빠른 작업은 전구 전구 아이콘 또는 스쿠루 드라이버스크루 드라이버 아이콘 아이콘을 사용하거나 커서가 작업을 사용할 수 있는 코드 줄에 있을 때 옵션(⌥) +Enter 를 눌러 적용할 수 있습니다.Quick Actions can be applied by using the light bulb light bulb icon or screwdriver screwdriver icon icons, or by pressing Option (⌥)+Enter when your cursor is on a line of code for which an action is available. 오류를 나타내는 빨간 물결 무늬가 있는 경우 오류 전구오류 전구 아이콘가 표시되고 Visual Studio에는 해당 오류에 사용할 수 있는 해결 방법이 있습니다.You'll see an error light bulb error light bulb icon if there is a red squiggle indicating an error, and Visual Studio has a fix available for that error.

어떤 언어든지 타사에서 SDK에 포함하는 방식 등을 통해 사용자 지정 진단 및 제안을 제공할 수 있으며 Visual Studio 전구는 이러한 규칙을 기반으로 켜집니다.For any language, third parties can provide custom diagnostics and suggestions, for example as part of an SDK, and Visual Studio light bulbs light up based on those rules.

빠른 작업 아이콘Quick Action Icons

빠른 작업을 사용할 수 있을 때 나타나는 아이콘은 사용 가능한 해결 방법 또는 리팩터링 형식을 나타냅니다.The icon that appears when a Quick Action is available gives an indication of the type of fix or refactoring that's available. 스크루드라이버 스크루드라이버 아이콘 아이콘은 코드를 변경하는 데 사용할 수 있는 작업이 있음을 나타내지만 반드시 사용해야 하는 것은 아닙니다.The screwdriver screwdriver icon icon indicates just that there are actions available to change the code, but you shouldn't necessarily use them. 노란색 전구 전구 아이콘 아이콘은 코드 개선을 위해 해야 하는 작업이 있음을 나타냅니다.The yellow light bulb light bulb icon icon indicates there are actions available that you should do to improve your code. 오류 전구 오류 전구 아이콘 아이콘은 코드에서 오류를 수정하는 데 사용할 수 있는 작업이 있음을 나타냅니다.The error light bulb error light bulb icon icon indicates there's an action available that fixes an error in your code.

전구 또는 스크루드라이버를 표시하려면To see a light bulb or screwdriver

  • 해결 방법을 사용할 수 있는 경우 오류 위치를 마우스로 가리킬 때 전구가 자동으로 나타납니다.If a fix is available, light bulbs spontaneously appear when you hover the mouse at the location of an error.

    마우스로 가리킨 전구

  • 빠른 작업 또는 리팩터링을 사용할 수 있는 코드 줄로 캐럿을 옮기면 전구 및 스크루드라이버가 편집기의 왼쪽 여백에 나타납니다.Light bulbs and screwdrivers appear in the left margin of the editor when you move the caret into a line of code for which a Quick Action or Refactoring is available.

  • 옵션(⌥) +Enter 를 눌러 사용 가능한 빠른 작업 및 리팩토링 목록을 어디에서나 볼 수 있습니다.Press Option (⌥)+Enter anywhere on a line to see a list of available Quick Actions and refactorings.

컨텍스트 항목 표시

컨텍스트 작업을 마우스로 가리키면 코드에서 추가하거나 제거할 내용을 미리 볼 수 있습니다.Hovering over any of the context actions provides you with a preview of what will be added or removed from your code.

Option Enter 컨텍스트 항목

이러한 옵션을 사용하도록 설정하려면 Mac용 Visual Studio > 기본 설정 > 텍스트 편집기 > 소스 분석 에서 열린 파일의 소스 분석 사용 을 선택해야 합니다.To enable these options, you must select Enable source analysis of open files in the options Visual Studio for Mac > Preferences > Text Editor > Source Analysis:

소스 분석을 사용하도록 설정

100개 이상의 작업이 제시될 수 있습니다. 이러한 작업은 Mac용 Visual Studio > 기본 설정 > 소스 분석 > C# > 코드 동작 으로 이동하고 작업 옆의 상자를 선택하거나 선택 해제하여 사용 여부를 설정할 수 있습니다.There are over 100 possible actions that can be suggested, which are enabled or disabled by browsing to Visual Studio for Mac > Preferences > Source Analysis > C# > Code Actions and selecting or unselecting the box next to the action:

C# 소스 분석 작업

일반적인 빠른 작업Common quick actions

일반적인 빠른 작업 문서에서 일반적인 빠른 작업에 대해 자세히 알아볼 수 있습니다.You can learn more about common quick actions in the Common Quick Actions article.

소스 분석Source analysis

소스 분석을 수행하면 가능한 오류 및 스타일 위반을 밑줄 표시하고 자동 수정을 컨텍스트 작업으로 제공하여 코드를 즉시 분석합니다.Source analysis analyzes your code on the fly by underlining potential errors and style violations, and providing auto fixes as context actions.

텍스트 편집기의 오른쪽에 있는 스크롤 막대를 보면 언제든지 모든 파일의 소스 분석 결과를 모두 확인할 수 있습니다.You can view all results of the source analysis for any file, at any time, by viewing the scroll bar on the right side of the text editor:

소스 분석 사이드바

상단의 원을 클릭하면 심각도가 가장 높은 문제부터 순서대로 표시된 상태에서 각 제안을 반복할 수 있습니다.If you click on the circle at the top, you can iterate through each suggestion, with the highest severity issues showing first. 개별 결과나 줄을 마우스로 가리키면 문제가 표시되며, 이 문제는 컨텍스트 작업을 통해 수정할 수 있습니다.Hovering over an individual result or line displays the issue, which can be fixed through context actions:

소스 분석 항목

참조See also