次の方法で共有


Microsoft.CodeAnalysis.Editing 名前空間

クラス

DocumentEditor

ドキュメントの構文ツリーを変更するためのエディター。

ImportAdder
SolutionEditor

ソリューション内の複数のドキュメントに変更を加えるエディター。

SymbolEditor

シンボル ソース宣言を変更するためのエディター。

SymbolEditorExtensions
SyntaxEditor

構文ツリーを変更するためのエディター。 エディターは、特定のツリーに対して実行する変更の一覧を 順番に指定することで機能します。 エディターが作成された元の SyntaxNode ツリーで適用される変更が与えられます。 アプリケーションのセマンティクスは次のとおりです。

  1. 指定された元のルートは、すべての操作の "現在の" ルートとして使用されます。 この 'current' ルートは継続的に更新され、新しい 'current' ルートになります。 元のルートは変更されません。
  2. 各変更は、 を使用してSyntaxAnnotation特定SyntaxNodeの追跡を行い、それらすべてを追跡する "現在の" ルートを生成します。 これにより、ツリーを変更する以前の変更が適用された後に、同じノードを見つけることができます。
  3. 各変更は、エディターに追加された順序で適用されます。
  4. 変更は、最初に '現在の' ルートでそのを見 SyntaxNode つけようとします。 そのノードが見つからない場合、操作は で ArgumentException失敗します。
  5. 特定の変更は、そのノードで実行され、変更に応じて削除、置換、または挿入されます。 変更が 'compute' 引数としてデリゲートに渡された場合、現在のルートで見つかった が SyntaxNode 渡されます。 その後、現在のノードを新しい計算済みノードに置き換えることで、'current' ルートが更新されます。
  6. その後、'current' ルートが返されます。
SyntaxEditorExtensions
SyntaxGenerator

構文ノードを作成するための言語に依存しないファクトリ。

この API を使用すると、言語間で意味的に似た言語固有の構文ノードを作成できます。

この API によって生成されるツリーは、可能な限りユーザー設定を尊重しようとします。 たとえば、"this." または "Me" が使用されている場合Simplifier、ユーザー設定に従って簡略化されるように生成MemberAccessExpression(SyntaxNode, String)が行われます。

構造体

DeclarationModifiers

列挙型

DeclarationKind
OperatorKind
SpecialTypeConstraintKind

代理人

SymbolEditor.AsyncDeclarationEditAction

SyntaxTreeの宣言ノードに変更を加えるアクション。

SymbolEditor.DeclarationEditAction

SyntaxTreeの宣言ノードに変更を加えるアクション。