Bagikan melalui


Microsoft.CodeAnalysis.Editing Ruang nama

Kelas

Nama Deskripsi
DocumentEditor

Editor untuk membuat perubahan pada pohon sintaks dokumen.

ImportAdder
SolutionEditor

Editor untuk membuat perubahan pada beberapa dokumen dalam solusi.

SymbolEditor

Editor untuk membuat perubahan pada deklarasi sumber simbol.

SymbolEditorExtensions
SyntaxEditor

Editor untuk membuat perubahan pada pohon sintaks. Editor bekerja dengan memberikan daftar perubahan yang harus dilakukan pada pohon tertentu secara berurutan. Perubahan diberikan yang SyntaxNode akan berlaku untuk di pohon asli tempat editor dibuat. Semantik aplikasi adalah sebagai berikut:

  1. Akar asli yang disediakan digunakan sebagai akar 'saat ini' untuk semua operasi. Akar 'saat ini' ini akan terus diperbarui, menjadi akar 'saat ini' baru. Akar asli tidak pernah diubah.
  2. Setiap perubahan memiliki yang diberikan SyntaxNode dilacak, menggunakan SyntaxAnnotation, menghasilkan akar 'saat ini' yang melacak semuanya. Ini memungkinkan simpul yang sama ditemukan setelah perubahan sebelumnya diterapkan yang membisukan pohon.
  3. Setiap perubahan kemudian diterapkan agar ditambahkan ke editor.
  4. Perubahan pertama kali mencoba menemukannya SyntaxNode di akar 'saat ini'. Jika simpul tersebut tidak dapat ditemukan, operasi akan gagal dengan ArgumentException.
  5. Perubahan tertentu akan berjalan pada simpul tersebut, menghapus, mengganti, atau menyisipkan di sekitarnya sesuai dengan perubahan. Jika perubahan diteruskan delegasi sebagai argumen 'komputasi', perubahan akan diberikan yang SyntaxNode ditemukan di akar saat ini. Akar 'saat ini' kemudian akan diperbarui dengan mengganti simpul saat ini dengan simpul komputasi baru.
  6. Akar 'saat ini' kemudian dikembalikan.
SyntaxEditorExtensions
SyntaxGenerator

Pabrik agnostik bahasa untuk membuat simpul sintaksis.

API ini dapat digunakan untuk membuat simpul sintaksis khusus bahasa yang secara semantik mirip antar bahasa.

Pohon yang dihasilkan oleh API ini akan mencoba menghormati preferensi pengguna jika memungkinkan. Misalnya, pembuatan MemberAccessExpression(SyntaxNode, String) akan dilakukan dengan cara seperti "ini." atau "Saya." akan disederhanakan sesuai dengan preferensi pengguna jika Simplifier digunakan.

Struct

Nama Deskripsi
DeclarationModifiers

Enum

Nama Deskripsi
DeclarationKind
OperatorKind
SpecialTypeConstraintKind

Delegasikan

Nama Deskripsi
SymbolEditor.AsyncDeclarationEditAction

Tindakan yang membuat perubahan pada simpul deklarasi dalam SyntaxTree.

SymbolEditor.DeclarationEditAction

Tindakan yang membuat perubahan pada simpul deklarasi dalam SyntaxTree.