Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Visual Studio Modeling and Visualization SDK (VMSDK) menyediakan beberapa tingkat di mana Anda dapat menentukan alat pemodelan:
Tentukan bahasa khusus domain (DSL) menggunakan diagram Definisi DSL. Anda dapat dengan cepat membuat DSL dengan notasi diagrammatik, formulir XML yang dapat dibaca, dan alat dasar yang diperlukan untuk menghasilkan kode dan artefak lainnya. Untuk informasi selengkapnya, lihat Cara Menentukan Bahasa Domain-Specific.
Menyempurnakan DSL dengan menggunakan fitur-fitur yang lebih canggih dari Definisi DSL. Misalnya, Anda dapat membuat tautan tambahan muncul saat pengguna membuat elemen. Teknik-teknik ini sebagian besar dicapai dalam Definisi DSL, dan beberapa memerlukan beberapa baris kode program.
Perluas alat pemodelan Anda dengan menggunakan kode program. VMSDK dirancang khusus untuk memudahkan integrasi ekstensi Anda dengan kode yang dihasilkan dari Definisi DSL. Untuk informasi selengkapnya, lihat Menulis Kode untuk Menyesuaikan Bahasa Domain-Specific.
Nota
Ketika Anda telah memperbarui file Definisi DSL, jangan lupa untuk mengklik Ubah Semua Templat di toolbar Penjelajah Solusi sebelum membangun kembali solusi Anda.
Referensi artikel
| Untuk mencapai efek ini | Lihat topik ini |
|---|---|
| Perbolehkan pengguna untuk mengatur properti warna dan gaya bentuk. | Klik kanan bentuk atau kelas konektor, arahkan ke Tambahkan Terekspos, dan klik item. |
| Kelas elemen model yang berbeda terlihat mirip pada diagram, berbagi properti seperti tinggi dan lebar awal, warna, dan tooltip. | Gunakan pewarisan antara bentuk atau kelas konektor. Pemetaan antara bentuk turunan dan kelas domain turunan mewarisi detail pemetaan dari induknya. Atau, petakan kelas domain yang berbeda ke kelas bentuk yang sama. |
| Kelas elemen model ditampilkan dalam konteks bentuk yang berbeda. | Petakan lebih dari satu kelas bentuk ke kelas domain yang sama. Saat Anda membangun solusi, ikuti laporan kesalahan dan berikan kode yang diminta untuk memutuskan bentuk apa yang akan digunakan. |
| Warna bentuk atau fitur lain seperti font menunjukkan status saat ini. | Lihat Memperbarui Bentuk dan Konektor untuk Mencerminkan Model. Buat aturan yang memperbarui properti yang diekspos. Lihat Aturan Menyebarkan Perubahan Dalam Model. Atau, gunakan OnAssociatedPropertyChanged() untuk memperbarui fitur yang tidak diekspos seperti panah tautan atau font. |
| Ikon pada bentuk berubah untuk menunjukkan status. | Atur visibilitas pemetaan dekorator di jendela Detail DSL. Temukan beberapa dekorator gambar pada posisi yang sama. Lihat Memperbarui Bentuk dan Konektor untuk Mencerminkan Model. Atau, timpa ImageField.GetDisplayImage(). Lihat contoh di ImageField. |
| Mengatur gambar latar belakang pada bentuk apa pun | Timpa InitializeInstanceResources() untuk menambahkan ImageField dengan penjangkaran. |
| Bentuk sarang ke kedalaman apa pun | Siapkan pohon penyematan rekursif. Tentukan BoundsRules untuk memuat bentuk. |
| Lampirkan konektor di titik tetap pada batas elemen. | Tentukan elemen terminal yang disematkan, yang diwakili oleh port kecil pada diagram. Gunakan BoundsRules untuk memperbaiki port di tempat. Lihat sampel Diagram Sirkuit di Visualisasi dan Pemodelan SDK. |
| Bidang teks menampilkan nilai yang berasal dari nilai lain. | Petakan dekorator teks ke properti domain Penyimpanan Terhitung atau Kustom. Untuk informasi selengkapnya, lihat Properti Penyimpanan Terhitung dan Kustom. |
| Menyebarkan perubahan antar elemen model, atau di antara bentuk | Lihat Validasi dalam Bahasa Domain-Specific. |
| Menyebarkan perubahan, seperti pada sumber daya ekstensi Visual Studio lainnya di luar toko. | Lihat Penanganan Aktivitas Menyebarkan Perubahan di Luar Model. |
| Jendela properti menampilkan properti elemen terkait. | Konfigurasi Penerusan Properti. Lihat Menyesuaikan Jendela Properti. |
| Kategori properti | Jendela properti dibagi menjadi beberapa bagian yang disebut kategori. Atur Kategori properti domain Anda. Properti dengan nama kategori yang sama akan muncul di bagian yang sama. Anda juga dapat mengatur Kategori peran hubungan. |
| Mengontrol akses pengguna ke properti domain | Atur Is Browsable menjadi false untuk mencegah properti domain muncul di jendela Properti saat runtime. Anda masih dapat memetakannya ke dekorator teks. UI Baca Saja mencegah pengguna mengubah properti domain. Akses program ke properti domain tidak terpengaruh. |
| Ubah nama, ikon, dan visibilitas simpul di penjelajah model DSL Anda. | Lihat Menyesuaikan Model Explorer. |
| Aktifkan salin, potong, dan tempel | Atur properti Aktifkan Salin dan Tempel pada simpul Editor di DSL Explorer. |
| Salin tautan referensi dan targetnya setiap kali elemen disalin. Misalnya, salin Komentar yang dilampirkan ke item. | Atur properti Propagates Copy dari peran sumber (diwakili oleh baris di satu sisi hubungan domain dalam diagram Definisi DSL). Tulis kode untuk mengambil alih ProcessOnCopy untuk mencapai efek yang lebih kompleks. Lihat Menyesuaikan perilaku salin. |
| Hapus, ubah hubungan induk, atau menautkan kembali elemen terkait saat elemen dihapus. | Tetapkan nilai Propagates Delete untuk sebuah peran dalam hubungan. Untuk efek yang lebih kompleks, override metode ShouldVisitRelationship dan ShouldVisitRolePlayer dalam kelas MyDslDeleteClosure, yang didefinisikan dalam DomainModel.cs. |
| Pertahankan tata letak dan tampilan bentuk pada salin dan seret-letakkan. | Tambahkan bentuk dan konektor ke salinan ElementGroupPrototype. Metode yang paling nyaman untuk mengesampingkan adalah ElementOperations.CreateElementGroupPrototype()Lihat Menyesuaikan perilaku salin. |
| Tempelkan bentuk di lokasi yang dipilih, seperti posisi kursor saat ini. | Gantikan ClipboardCommandSet.ProcessOnCopy() untuk menggunakan versi spesifik lokasi dari ElementOperations.Merge().. Lihat Menyesuaikan Perilaku Salin. |
| Membuat tautan tambahan saat menempel | Menggantikan ClipboardCommandSet.ProcessOnPasteCommand() |
| Aktifkan fitur seret dan letakkan dari diagram ini, DSL lainnya, dan elemen Windows lainnya. | Lihat Cara: Menambahkan Pengendali Drag-and-Drop |
| Izinkan bentuk atau alat diseret ke bentuk anak, seperti port, seolah-olah diseret ke induk. | Tentukan Arahan Penggabungan Elemen pada kelas objek target, untuk meneruskan objek yang dijatuhkan ke induk. Lihat Menyesuaikan Pembuatan dan Gerakan Elemen. |
| Izinkan agar suatu bentuk atau alat diseret ke bentuk lain sehingga tautan atau objek tambahan dibuat. Misalnya, untuk mengizinkan komentar dijatuhkan ke item yang akan ditautkan. | Tentukan Direktif Gabungan Elemen pada kelas domain target, dan tentukan tautan yang akan dihasilkan. Dalam kasus yang kompleks, Anda dapat menambahkan kode kustom. Lihat Menyesuaikan Pembuatan dan Gerakan Elemen. |
| Buat sekelompok elemen dengan satu alat. Misalnya, komponen dengan sekumpulan port tetap. | Ambil alih metode inisialisasi kotak alat di ToolboxHelper.cs. Buat Prototipe Grup Elemen (EGP) yang berisi elemen dan tautan hubungannya. Lihat Menyesuaikan Alat dan Kotak Alat. Sertakan bentuk utama dan port dalam EGP, atau tentukan BoundsRules untuk memosisikan bentuk port saat EGP dibuat. |
| Gunakan satu alat koneksi untuk menginisiasi beberapa jenis hubungan. | Tambahkan Link Connect Directives (LCD) ke Penyusun Koneksi yang dipanggil oleh alat. LCD menentukan jenis hubungan dari jenis dua elemen. Untuk membuat ini bergantung pada status elemen, Anda dapat menambahkan kode kustom. Lihat Menyesuaikan Alat dan Kotak Alat. |
| Alat lekat - pengguna dapat mengeklik dua kali alat apa pun untuk membuat banyak bentuk atau konektor berulang-ulang. | Di DSL Explorer, pilih simpul Editor . Di jendela Properti, atur Gunakan Item Kotak Alat Lengket. |
| Menentukan perintah menu | Lihat Cara: Mengubah Perintah Menu Standar |
| Membatasi model dengan aturan validasi | Lihat Validasi dalam Bahasa Domain-Specific |
| Hasilkan kode, file konfigurasi, atau dokumen dari DSL. | Membuat Kode dari Bahasa Domain-Specific |
| Sesuaikan bagaimana model disimpan ke file. | Lihat Menyesuaikan Penyimpanan File dan Serialisasi XML |
| Simpan model ke database atau media lainnya. | Mengambil alih YourLanguageDocData Lihat Menyesuaikan Penyimpanan File dan Serialisasi XML |
| Integrasikan beberapa DLL sehingga berfungsi sebagai bagian dari satu aplikasi. | Lihat Mengintegrasikan Model dengan menggunakan Visual Studio Modelbus. |
| Izinkan DSL Anda diperluas oleh pihak ketiga, dan kontrol ekstensi. |
Memperluas DSL Anda dengan menggunakan MEF Berbagi Kelas antara DSL dengan menggunakan Pustaka DSL Menentukan Kebijakan Penguncian untuk Membuat Segmen Read-Only |
Konten terkait
- Cara Menentukan Bahasa Domain-Specific
- Menulis Kode untuk Menyesuaikan Bahasa Domain-Specific
- Pemodelan SDK untuk Visual Studio - Bahasa Domain-Specific
Nota
Komponen Transformasi Templat Teks diinstal secara otomatis sebagai bagian dari beban kerja pengembangan ekstensi Visual Studio . Anda juga dapat menginstalnya dari tab Komponen individual penginstal Visual Studio, di bawah kategori SDK, pustaka, dan kerangka kerja . Instal komponen SDK Pemodelan dari tab Komponen individual .