이 문서에서는 Roslyn 분석기가 Unity에서 게임 코드의 디버깅과 품질 개선에 어떻게 도움이 되는지 설명합니다.
Roslyn 분석기는 Roslyn 컴파일러 플랫폼의 API를 사용하여 실시간으로 C# 코드를 분석하는 코드 분석 도구입니다. 분석기는 미리 정의된 규칙 집합에 따라 코드 개선 제안, 경고 또는 오류를 제공할 수 있습니다. Microsoft Visual Studio 및 Microsoft Visual Studio Code의 플러그인으로 작동하며, 이 두 코드 편집기의 IntelliSense 기능을 보완합니다.
Roslyn 분석기는 코드의 잠재적 문제를 분석하고 식별하는 추가 도구와 함께 IntelliSense에서 제공하는 제안, 완료 및 사용 가능한 API에 대한 정보를 기반으로 구축됩니다. 또한 Roslyn 컴파일러 플랫폼의 API를 사용하여 가능한 수정 사항에 대한 제안을 받을 수 있습니다.
Roslyn 분석기는 표준을 시행하고 코드 규약을 위반할 경우 경고하는 데 유용합니다. 또한 코드 오류나 스타일 위반을 수정하는 데 도움을 줄 수 있습니다.
Visual Studio에는 Roslyn용 오픈 소스 리 포지토리의 일부인 많은 기본 분석기가 포함되어 있으며, 이 방법을 사용한 디버깅에 대해 자세히 알아볼 수 있는 좋은 리소스입니다.
참고: 이 글의 대부분은 Windows에만 적용됩니다. Roslyn 분석기는 macOS용 Visual Studio에서도 사용할 수 있지만, 검사 지원은 Windows용에 비해 제한적입니다.
위 이미지는 Roslyn 분석기의 일반적인 사용법을 보여주는 동영상에서 가져온 것입니다. 이 예제에서는 코드를 분석한 결과 사용되지 않는 변수가 발견되었습니다. 변수 수에 녹색 줄무늬가 밑줄이 그어져 있어 개발자가 이 문제를 인지할 수 있습니다. 클릭하면 문제와 이를 해결할 수 있는 옵션이 있는 링크가 표시됩니다. 비디오에서 개발자는 권장 사항에 따라 사용하지 않는 변수를 제거하도록 선택합니다.
녹색 물결선 외에도 빨간색 물결선이나 회색 점이 표시될 수 있습니다. 이러한 다양한 기호는 문제의 보안 수준 또는 코드의 문제가 얼마나 심각한지를 나타냅니다.
위의 표에서 볼 수 있듯이 각 분석기에는 사용자가 구성할 수 있는 심각도 수준이 있습니다.
여러 Roslyn 분석기를 사용할 수 있지만 Visual Studio에는 몇 가지 분석기가 사전 설치되어 있습니다. 이러한 기본 제공 분석기의 설정을 두 곳에서 조정할 수 있습니다. 로컬 버전의 Visual Studio의 경우 기본 설정은 도구 > 옵션 > 텍스트 편집기 > C# > 코드 스타일 > 일반을 통해 조정할 수 있습니다. 위 이미지에 표시된 대화 상자를 사용하여 심각도 수준을 변경할 수 있습니다.
위 이미지는 간단한 코드 클래스입니다. 7번 줄의 pos에서 문자 p와 o 아래 줄임표 기호(한 줄에 점 3개)와 11번 줄의 if 문은 제안을 나타냅니다. 거리 아래의 녹색 줄무늬는 경고이며, 11번 줄의 xPos 인스턴스 두 개 아래의 빨간색 줄무늬는 오류입니다. 경고 및 오류도 오류 목록 창에 표시됩니다.
기본 제공 분석기 설정을 보여주는 이미지에서 리팩터링 전용과 코드 블록 기본 설정에 대한 제안 사이를 전환하는 것을 볼 수 있습니다: 교정기 선호. 리팩토링만 하면 if 문 아래에 줄임표가 숨겨집니다.
중괄호 선호 설정이 제안 사항이고 줄임표 위로 마우스를 가져가면잠재적 수정 링크를 표시하는 패널이 표시됩니다. 이를 클릭하면 사용 가능한 옵션이 있는 다른 패널이 표시됩니다. 이 경우 코드에 중괄호를 추가하는 한 가지 옵션만 사용할 수 있습니다. 위 이미지는 이 순서를 보여줍니다.
특정 프로젝트의 코드 스타일을 보장하려면 프로젝트와 함께 제공되는 .editorconfig 파일을 추가하면 됩니다. 이는 많은 개발자로 구성된 대규모 팀에서 합의된 코드 스타일 규칙을 효율적으로 적용하는 방법이 될 수 있습니다.
.editconfig 파일을 사용하면 도구 > 옵션 > 텍스트 편집기 > C#을 통해 사용 중인 Visual Studio 버전에서 설정을 재정의할 수 있습니다. 필요한 경우 여러 개의 .editorconfig 파일을 루트 폴더에 하나, 하위 폴더에 하나씩 배치하여 중첩할 수도 있습니다. 그러면 하위 폴더에 있는 폴더가 루트에 있는 폴더를 재정의합니다.
다음 섹션에서는 .editorconfig 파일을 추가하는 방법에 대해 간략하게 설명합니다.
코드 텍스트 창에서 포함된 분석기의 심각도 수준을 변경합니다.
솔루션 탐색기를 마우스 오른쪽 버튼으로 클릭하고 새 항목을 선택합니다. 다음 패널에서 설치됨 > C# > 일반 편집기 구성 파일(기본값)을 선택합니다.
또 다른 옵션은 도구 > 옵션 > 텍스트 편집기 > C# 패널의 설정에서 .editorconfig 파일 생성을 선택하는 것입니다(기본 제공 분석기 구성 아래의 이미지 참조).
이제 .editorconfig 파일이 생겼으므로 Visual Studio(Windows 버전)에 텍스트 파일의 편집 가능한 보기가 표시됩니다. 이 파일을 변경하면 .editorconfig가 저장된 폴더 및 모든 하위 폴더의 C# 스크립트에 영향을 미칩니다.
사전 설치된 Roslyn 분석기에 추가하여 기능을 확장할 수 있습니다. 분석기는 NuGet 패키지 또는 Visual Studio 확장 프로그램(VSIX 파일)으로 설치됩니다. NuGet 패키지 설치 과정을 보려면 www.nuget.org 으로 이동하세요. 인기있는 것은 코드베이스에서 스타일 문제를 찾아주는 StyleCop.Analyzers입니다.
패키지 관리자 콘솔을 사용하여 Visual Studio에서 도구 > NuGet 패키지 관리자 > 패키지 관리자 콘솔을 통해 패키지를 설치합니다. 각 분석기 패키지의 www.nuget.org 페이지에 패키지 관리자 콘솔에 붙여넣을 명령이 나와 있습니다. 텍스트를 클립보드에 복사하는 편리한 버튼도 있습니다.
분석기 어셈블리가 설치되고 솔루션 탐색기에 참조 > 분석기 아래에 나타납니다.
또 다른 옵션은 VSIX 확장 기능으로 제공되는 분석기를 설치하는 것입니다. Visual Studio에서 확장 프로그램 > 확장 프로그램 관리를 선택합니다.
확장 프로그램의 이름을 알고 있는 경우 검색창을 사용하여 찾거나 "analyzer"로 검색하세요. 위 이미지는 댓글 분석기를 선택한 모습입니다. 다운로드를 클릭하여 분석기 확장 프로그램을 설치하고, 확인을 선택하여 대화 상자를 닫은 다음, Visual Studio의 모든 인스턴스를 닫아 VSIX 설치 관리자를 시작합니다.
수정을 선택하여 설치를 시작합니다. 설치가 완료되면 닫기를 선택한 다음 Visual Studio를 다시 엽니다.
확장 프로그램이 설치되어 있는지 확인하려면 확장 프로그램 > 확장 프로그램 관리를 선택합니다. 확장 프로그램 관리 대화 상자에서 왼쪽의 설치된 카테고리를 선택한 다음 이름으로 확장 프로그램을 검색합니다.
이 문서에서는 Visual Studio에서 사용할 수 있는 기본 제공 Roslyn 분석기에 중점을 두었지만, 직접 분석기를 만들 수도 있습니다. .NET 컴파일러 플랫폼을 사용하여 빌드된 분석기는 팀의 코드 품질을 크게 향상시킬 수 있습니다.
분석기를 만드는 데 익숙해지면 구문, 반복적인 편집, 새 라이브러리를 사용한 안내 등 코딩 문제에서 팀의 생산성을 높이는 데 분석기가 어떻게 도움이 되는지 알게 될 것입니다.
Microsoft에서 제공하는 몇 가지 유용한 추가 리소스에는 자신만의 C# Roslyn 분석기를 만드는 방법에 대한 이 자습서와 Roslyn 분석기에 대한 이 YouTube 동영상이 있습니다.
Unity에서 디버깅하기
이 문서에서 Unity 프로젝트 디버깅에 대한 자세한 팁을 확인하세요:
고급 기술 전자책
유니티는 전문 개발자가 게임 코드를 최적화하는 데 도움이 되는 다양한 고급 가이드를 제공합니다. C# 스타일 가이드를 만듭니다: 확장 가능한 깔끔한 코드 작성 에서는 팀이 깔끔하고 읽기 쉬우며 확장 가능한 코드베이스를 개발하는 데 도움이 되는 코드 스타일 가이드를 만드는 방법에 대한 업계 전문가의 조언을 정리해 놓았습니다.
사용자들에게 인기 있는 또 다른 가이드는 Unity로 생산성을 높일 수 있는 70여 가지 팁입니다. 숙련된 개발자도 놓칠 수 있는 팁을 비롯하여 Unity 2020 LTS로 일상적인 통합 워크플로를 개선할 수 있는 시간 절약 팁이 가득합니다.
유니티의 모든 고급 전자책과 문서는 유니티 베스트 프랙티스 허브에서 확인할 수 있습니다.