Unity에서 Visual Studio를 사용한 편안한 코딩을 위한 환경 설정

그대로는 가려운 곳에 손이 닿지 않는 것이 많기 때문에, 여러가지 커스터마이즈 해 쾌적하게 해 갑니다.

환경


  • Unity 2018.4.19f1
  • Visual Studio Community 2019

  • 코드 분석 규칙



    Linter 문화에 익숙한 결과 게임 개발에서도 규칙을 원했습니다. 팀 개발에서는 필수라고 생각합니다.
    디폴트라고 에디터로부터의 제안이 절개이거나, 경고해 주었으면 하는 곳에서 소극적이거나 하기 때문에, 자신 취향에 설정해 갑시다.

    규칙 세트 추가



    프로젝트에 대한 규칙 집합 파일을 만들어 Assembly-CSharp 및 Assembly-CSharp-Editor 설정합니다.
    규칙 세트 사용자 정의

    불필요한 using을 경고해 주게 되었습니다.


    .csproj에 설정을 자동 추가



    이대로 Unity는 자동으로 .csproj 파일을 다시 쓰므로 규칙 세트 파일을 로드하는 설정을 덮어쓰지 않도록 아래와 같은 편집기 확장 스크립트를 배치합니다.
    규칙 세트 파일 이름은 {プロジェクト名}.ruleset를 전제로 합니다.

    CsprojFixer.cs
    using System;
    using System.IO;
    using UnityEditor;
    
    public class CsprojFixer : AssetPostprocessor
    {
        public static string OnGeneratedCSProject(string _, string content)
        {
            // プロジェクト名の抽出
            string currDirPath = Directory.GetCurrentDirectory();
            string[] pathArray = currDirPath.Split(Path.DirectorySeparatorChar);
            string projectName = pathArray[pathArray.Length - 1];
    
            // .csprojの内容を置換
            string old = "</AllowUnsafeBlocks>";
            string addition = $"<CodeAnalysisRuleSet>{projectName}.ruleset</CodeAnalysisRuleSet>";
            return content.Replace(old, $"{old}{Environment.NewLine}    {addition}");
        }
    }
    

    StyleCop.Analyzers



    더 규칙을 고집하고 싶으면 NuGet 패키지의 StyleCop.Analyzers 를 도입합니다.
    NuGet 패키지를 배포하는 경우에도 편집기 확장에서 .csproj에 NuGet 패키지 설정을 추가하는 프로세스를 추가해야 합니다.

    확장 기능



    몇 가지 평소 사용하고 있는 확장 기능도 소개합니다.

    CodeMaid



    공백을 넣거나 빈 줄을 삭제해주는 편리한 포맷터입니다.
    틀림없을 정도의 옵션 설정을 할 수 있어, 저장시의 자동 성형도 할 수 있습니다. (기쁘다)

    평소 VSCode를 사용하고 있다면 이것이 없다면 힘들다.

    Enhanced Syntax Highlighting



    신택스 하이라이트로 커스터마이즈 할 수 있는 종류를 조금 늘려 줍니다.
    선언시에만 색을 바꾸거나 할 수는 없습니다만, 원래의 설정 항목이 적기 때문에 조금이라도 맛이 되면라고 생각합니다.



    참고


  • VSTU를 사용하지 않고 Unity에서 생성된 sln/csproj 파일을 스크립트에서 변경
  • Visual Studio 배포 후 수행해야 하는 설정
  • StyleCop.Analyzers를 도입하여 완성된 코드 작성
  • 좋은 웹페이지 즐겨찾기