私はVisual Studioのコード修正を開発中です。私はNAの "コードを修正するアナライザ"プロジェクトを持っており、自動的に生成されたポータブルプロジェクトを標準のC#ライブラリプロジェクトに変換しました。Visual Studio - Subscribe Light Bulb clickイベント
私の拡張では、コードを修正するとデータが収集されたファイルが生成されます。問題は、登録されたコード修正が実行されたときに電球修正提案を表示するとファイルが生成されることです。
// 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