複数のテキスト操作を組み合わせた Visual Studio (2010) パッケージがあります。たとえば、csharp ファイルにカスタム プロパティを挿入します。
これらの挿入は非常に多くなる可能性があるため、元に戻すボタンを 1 回クリックするだけでコマンドの効果を元に戻すことができるようにしたいと考えています。これを行う方法はありますか?
複数のテキスト操作を組み合わせた Visual Studio (2010) パッケージがあります。たとえば、csharp ファイルにカスタム プロパティを挿入します。
これらの挿入は非常に多くなる可能性があるため、元に戻すボタンを 1 回クリックするだけでコマンドの効果を元に戻すことができるようにしたいと考えています。これを行う方法はありますか?
はい。有効な
ITextBuffer buffer;
次のように、ITextEdit を取得するだけです。
var textEdit = buffer.CreateEdit();
次に、次のことができます。
textEdit.Delete(...)
textEdit.Insert(....)
そして、あなたが終わったら、あなたはしなければなりません
textEdit.Apply();
また
textEdit.Cancel();
変更を適用またはキャンセルしない場合、他の変更はバッファーで許可されません....そのため、変更を試行でラップする必要があります...最終的に、例外によってエディターがシャットダウンされないようにします。すべての変更がグループ化され、1 回の取り消しですべてが元に戻されます。
お役に立てれば。