次の方法で共有


Microsoft.CodeAnalysis.Editing 名前空間

クラス

名前 説明
DocumentEditor

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

ImportAdder
SolutionEditor

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

SymbolEditor

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

SymbolEditorExtensions
SyntaxEditor

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

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

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

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

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

構造体

名前 説明
DeclarationModifiers

列挙型

名前 説明
DeclarationKind
OperatorKind
SpecialTypeConstraintKind

代理人

名前 説明
SymbolEditor.AsyncDeclarationEditAction

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

SymbolEditor.DeclarationEditAction

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