Visual Studio 용 코드 픽스를 개발 중입니다. 나는 NA가있는 "Analyzer with Code fix"프로젝트를 가지고 있으며, 자동으로 생성 된 포터블 프로젝트를 표준 C# 라이브러리 프로젝트로 변형 시켰습니다.Visual Studio - Lightbulb 클릭 이벤트 구독
내 수정 코드는 데이터가 수집 된 파일을 생성합니다. 즉, 등록 된 코드 수정 프로그램이 실행될 때 전구 수정 제안을 가리키 자마자 파일이 생성된다는 것이 문제입니다.
// Register a code action that will invoke the fix.
context.RegisterCodeFix(
CodeAction.Create(
title: Title,
createChangedDocument: c => MakeDataDrivenAsync(context.Document, methodDeclaration, c),
equivalenceKey: Title),
diagnostic);
내가 제안 (수락)을 클릭 할 때만 파일을 생성하고 싶습니다.
이것이 가능합니까? 제안 클릭 이벤트를 구독하는 것을 고려하고 있었지만, 어떻게 해야할지 모르겠지만 이것이 가능하다는 정보를 찾지 못했습니다.
내가 생성하는 문서가 코드 인 경우에만 맞습니까? 나는 코드를 생성하지 않는다. (유용한 정보는 매우 유용합니다. 매우 유용합니다.) –
파일 시스템에서 roslyn이 아무것도 모르는 파일을 작성하는 경우, roslyn 인프라에서 완전히 분리 된 전구 세션을 작성하고 작성해야합니다. 방법은 [this] (https://github.com/Microsoft/VSSDK-Extensibility-Samples/tree/master/LightBulb) 예제를 참조하십시오. –
아니면 아마도'AdditionalDocument'를 생성 할 수 있습니다. – SLaks