2009-06-22 2 views
4

공용 필드를 사용하는 C# 코드가 많아 속성으로 변환하고 싶습니다.C# 공용 필드를 속성으로 리팩터링하는 도구

나는 Resharper를 가지고 있으며, 하나씩 그것을 할 것이다. 그러나 이것은 영원히 걸릴 것이다.

누구든지이 작업을 도울 수있는 자동화 된 리팩토링 도구에 대해 알고 있습니까?

답변

8

Resharper는 Alt + PageDown/Alt + Enter (기본 키 바인딩 사용)를 사용하여 매우 신속하게 수행합니다. 첫 번째 필드에있는 경우 Alt + PageDown은 다음 필드로 건너 뜁니다 (제안 된 리팩토링으로 공개 필드를 래핑하는 것이 포함되므로 Alt + Enter는 속성에서 래핑하라는 메시지를 표시합니다).

모든 속성의 전체 담요 포장을 피하려는 경우가 많으므로이 방법이 가장 빠릅니다. 그것은 당신이 갈 필요가 정확히 점프 때문에 그것은 클래스에 이것을 할 매우 빠릅니다.

+0

내가 Alt + Enter를 누르면 "캡슐화 필드"리팩터링 제안을 얻지 못합니다. 나는 리팩토링 메뉴를 오른쪽 클릭하고 사용해야한다. 기본 키 바인딩 및 최신 릴리스 버전 (4.5.1231.7)을 사용하고 있습니다. –

+2

Ctrl + R/E는 원하는 리펙토링입니다. Alt + PageDown을 누른 다음 Ctrl + R/E를 눌러 메뉴를 피할 수 있습니다. 왜 그런지 모르겠지만 Alt + Enter 메뉴를 사용하여 제안 된 리팩터링으로 가져옵니다. –

+0

예, Ctrl + R/E가 작동합니다. 감사! –

1

당신이 필드의 이름을 바꿀 때 VS.NET에 있다면 VS는 이름이 바뀐 들.

공용 변수를 속성 이름으로 변경하고 VS에이 변수의 모든 인스턴스를 변경하도록 알려준 다음 값을 저장하는 개인 변수와 적절한 이름의 공용 속성을 만듭니다. 공개 변수를 삭제하면 잘되어야합니다.

+0

resharper를 사용하는 것보다 훨씬 느리고 Visual Studio의 리팩터링을 사용하여 속성의 필드를 줄 바꿈하는 것보다 훨씬 느립니다. –

+0

"Encapsulate Field"리팩터링을 지원하지 않는 Visual Studio의 Express Edition을 사용하는 경우 유용합니다. –

관련 문제