StyleCop.CLI에서 Analyzers 를 사용하고 싶습니다.

2284 단어 UnityC#

결론적으로 말하면


지금은 못하겠지만 움직이는 걸 개발하고 있어요.

StyleCop.Analyzers


Roslyn 기반 C# 코드에 사용되는 정적 분석 도구
인코딩 규칙 위반 여부 확인/수정
.NET Core/Roslyn 등과 마찬가지로 OSS로 공개됩니다.
StyleCop.Analyzers

사용 방법


통합 개발 환경(예: VisualStudio/Rider)을 사용할 때 쉽게 사용 가능
가져오기 방법은 VisualStudio의 경우 NuGet Package Manager 등부터 가져올 수 있습니다.
불행히도 VSCode는 지원되지 않습니다.

CLI로 동기화


왜냐하면 저는 CI와gitcommit hook에서 검사를 하고 싶어요.
그리고 필자는 VS코드파이니까...
특히 코딩 규칙과 관련된 일들이 댓글로 불모지라고 지적했어요.
최대한 Pull/Merge Request가 올라갈 때 자동으로 체크하고 싶어요.

CLI에서 실행되는 StyleCopy 툴군이 존재합니다.


StyleCop.Analyzers의 전신 프로젝트에는 StyleCop가 있습니다.
StyleCop
정적 분석에 필요한 충분한 조건을 충족하는 CLI 내에서 StyleCopy 자체 실행
하지만 이미 죽은 프로젝트
StyleCop.Analyzers의 개발은 계속되고 있으며 새로운 규칙도 추가되었다
또 스타일캅은 코드를 수정하는 기능이 없지만 스타일캅.Analyzers에 있습니다.

StyleCop.Analyzers의 CLI 도구가 있습니까?


지금은 아니야
하지만 아래의 Issu도 상승하여 머지않아 정식으로 지지를 받을 수 있을 것이다
CLI?
하지만 언제 설치할지 모르는 물건을 기다리는 것은 힘들다

몇 번 해보고 포기했어요.


사실 오래전부터 시도해 봤어, 스타일캅.우리는 Analzyers를 구축하기 위해 .NET Framework가 필요하다
.NET Framwork는 Windows만 지원하고, Mac/Linux는 StyleCop를 지원합니다.Analyzers에 의존하는 라이브러리를 구축하려다가 오류가 발생하여 포기했지만 주위의 환경이 마침내 완벽해져서 구축할 수 있게 되었다Microsoft.Build.Locatorβ버전이지만 사용할 수 있습니다.

그래서 해봤어요. (아직 안 됐어요.)


진도율은 50% 정도이지만 다음과 같이 출력할 수 있다
분석을 시도한 것은 gRPC의 C# 소스 코드입니다
dotnet StyleCopAnalyzersCmd.dll -d ./grpc/src/csharp
이런 명령으로 사용하고 싶은데 명령명이 너무 촌스러워요. 좋은 방안이 있다면...

잡담


아직 검사만 하고 코드는 수정하지 않았지만 검사 처리가 어느 정도 됐을 때 공개하고 싶어요.
CySharp의 MicroBatchFramework는 CLI 도구를 쉽게 만들 수 있습니다.
GitHub이 공개될 때도 이 도구를 만드는 데 힘들었던 이야기는 담기지 않을 거라고 생각해요.
StyleCop.Analyzers의 모든 기능은 internal입니다. 접근하기 어렵고 고통스럽습니다...

좋은 웹페이지 즐겨찾기