
이 문서에서는 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 분석기의 일반적인 사용을 보여주는 비디오에서 가져온 것입니다. 이 예제에서는 코드 분석이 사용되지 않는 변수를 발견했습니다. 개발자는 변수 count가 초록색 물결선으로 밑줄이 그어져 있어 이 문제를 인식하게 됩니다. 클릭하면 문제와 수정 옵션이 있는 링크가 표시됩니다. 비디오에서 개발자는 권장 사항에 따라 사용하지 않는 변수를 제거하기로 선택합니다.
녹색 물결선 외에도 빨간 물결선이나 회색 점이 보일 수 있습니다. 이러한 다양한 기호는 문제의 보안 수준 또는 코드에 대한 문제의 심각성을 나타냅니다.

위의 표에서 볼 수 있듯이 각 분석기는 사용자 구성 가능 심각도 수준을 가지고 있습니다.

여러 개의 Roslyn 분석기가 있지만 Visual Studio에는 일부가 미리 설치되어 있습니다. 이러한 내장 분석기의 설정은 두 곳에서 조정할 수 있습니다. 로컬 버전의 Visual Studio에서는 기본 설정이 도구 > 옵션 > 텍스트 편집기 > C# > 코드 스타일 > 일반을 통해 조정됩니다. 위 이미지에 표시된 대화 상자를 사용하여 심각도 수준을 변경할 수 있습니다.

위 이미지는 간단한 코드 클래스입니다. 7행의 pos에서 p와 o 아래의 생략 기호(세 개의 점)와 11행의 if 문은 제안을 나타냅니다. distance 아래의 녹색 물결선은 경고이며, 11행의 xPos 두 인스턴스 아래의 빨간 물결선은 오류입니다. 경고 및 오류는 오류 목록 창에도 표시됩니다.

내장 분석기의 설정을 보여주는 이미지가 Refactoring 전용과 코드 블록 기본 설정에 대한 제안 사이에서 전환되는 것을 알 수 있습니다: 중괄호를 선호합니다. Refactoring 전용은 if 문 아래의 생략 기호를 숨깁니다.
Prefer braces 설정이 제안이고 생략 기호 위에 마우스를 올리면 잠재적 수정 링크가 표시되는 패널이 나타납니다. 이것을 클릭하면 사용 가능한 옵션이 있는 다른 패널이 표시됩니다. 이 경우 코드에 중괄호를 추가하는 하나의 옵션만 사용할 수 있습니다. 위 이미지는 이 순서를 보여줍니다.
특정 프로젝트에 대한 코드 스타일을 보장하고 싶다면, 프로젝트와 함께 제공되는 .editorconfig 파일을 추가할 수 있습니다. 이는 많은 개발자로 구성된 대규모 팀에서 합의된 코드 스타일 규칙을 강제하는 효율적인 방법이 될 수 있습니다.
.editconfig 파일을 사용하면 도구 > 옵션 > 텍스트 편집기 > C#를 통해 Visual Studio 버전의 설정을 재정의할 수 있습니다. 필요한 경우 루트에 하나를 두고 하위 폴더에 하나를 배치하여 여러 개의 .editorconfig 파일을 중첩할 수 있습니다. 하위 폴더에 있는 파일이 루트에 있는 파일을 재정의합니다.
다음 섹션에서는 .editorconfig 파일을 추가하는 방법을 설명합니다.

코드 텍스트 창에서 포함된 분석기의 심각도 수준을 변경합니다.

솔루션 탐색기를 마우스 오른쪽 버튼으로 클릭하고 새 항목을 선택합니다. 다음 패널에서 설치됨 > C# > 일반 editorconfig 파일 (기본값)을 선택합니다.
또 다른 옵션은 도구 > 옵션 > 텍스트 편집기 > C# 패널의 설정에서 Generate .editorconfig file을 선택하는 것입니다 (내장 분석기 구성 아래의 이미지에서 볼 수 있음).

이제 .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'를 검색하십시오. 위 이미지는 Comment Analyzer가 선택된 상태를 보여줍니다. 분석기 확장을 설치하려면 다운로드를 클릭하고 대화 상자를 닫으려면 확인을 선택한 후 Visual Studio의 모든 인스턴스를 닫아 VSIX 설치 프로그램을 실행하십시오.
설치를 시작하려면 수정을 선택하십시오. 설치가 완료되면 닫기를 선택하고 Visual Studio를 다시 엽니다.

확장이 설치되었는지 확인하려면 확장 > 확장 관리를 선택하십시오. 확장 관리 대화 상자에서 왼쪽의 설치된 카테고리를 선택한 다음 이름으로 확장을 검색하십시오.

이 기사는 Visual Studio와 함께 제공되는 내장 Roslyn 분석기에 초점을 맞추었지만, 자신만의 분석기를 만들 수도 있습니다. .NET 컴파일러 플랫폼을 사용하여 구축된 분석기는 팀의 코드 품질을 극적으로 향상시킬 수 있습니다.
분석기를 만드는 데 경험이 쌓이면, 구문, 반복적인 편집, 새로운 라이브러리 안내 등과 같은 코딩 문제에 대해 팀의 생산성을 높이는 데 어떻게 도움이 되는지 알게 될 것입니다.
Microsoft의 몇 가지 좋은 추가 리소스에는 자신만의 C# Roslyn 분석기를 만드는 방법에 대한 이 튜토리얼과 Roslyn 분석기에 대한 이 YouTube 비디오가 포함됩니다.
Unity에서 디버깅하기
이 기사들에서 Unity 프로젝트 디버깅에 대한 더 많은 팁을 얻으세요:
고급 기술 전자책
Unity는 전문 개발자가 게임 코드를 최적화하는 데 도움이 되는 여러 고급 가이드를 제공합니다. C# 스타일 가이드 만들기: 산업 전문가의 조언을 바탕으로 팀이 깔끔하고 읽기 쉬우며 확장 가능한 코드베이스를 개발하는 데 도움이 되는 코드 스타일 가이드를 만드는 방법에 대한 조언을 포함하여 더 깨끗한 코드를 작성하세요.
우리 사용자들 사이에서 또 다른 인기 있는 가이드는 Unity로 생산성을 높이는 70+ 팁입니다. Unity 2020 LTS와 함께하는 일상적인 집합 작업 흐름을 개선하기 위한 시간 절약 팁으로 가득 차 있습니다. 심지어 경험이 많은 개발자들도 놓쳤을 수 있는 팁입니다.
Unity의 모든 고급 전자책과 기사는 Unity 모범 사례 허브에서 찾을 수 있습니다.