ProvideLanguageServiceAttribute Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menginformasikan Visual Studio bahwa VSPackage menyediakan layanan bahasa. Digunakan dengan kerangka kerja paket terkelola (MPF).
public ref class ProvideLanguageServiceAttribute sealed : Microsoft::VisualStudio::Shell::RegistrationAttribute
public ref class ProvideLanguageServiceAttribute sealed : Microsoft::VisualStudio::Shell::RegistrationAttribute
[System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=true, Inherited=true)]
public sealed class ProvideLanguageServiceAttribute : Microsoft.VisualStudio.Shell.RegistrationAttribute
[<System.AttributeUsage(System.AttributeTargets.Class, AllowMultiple=true, Inherited=true)>]
type ProvideLanguageServiceAttribute = class
inherit RegistrationAttribute
Public NotInheritable Class ProvideLanguageServiceAttribute
Inherits RegistrationAttribute
- Warisan
- Atribut
Contoh
Contoh ini menunjukkan bagaimana atribut yang ditentukan pengguna ini digunakan untuk mendaftarkan layanan bahasa yang mendukung operasi IntelliSense, pencocokan kurung kurawal, penguraian asinkron (latar belakang), dan item berwarna kustom.
Catatan
Visual C# memungkinkan bentuk singkat dari atribut yang ditentukan pengguna dengan menghilangkan bagian "Atribut" dari nama. Bentuk singkatan ini digunakan dalam ini dan semua contoh lainnya di seluruh kelas ini.
using Microsoft.VisualStudio.Shell;
namespace MyLanguagePackage
{
internal class MyConstants
{
public const string languageName = "MyLanguage";
public const int languageNameResourceID = 106;
}
[ProvideLanguageService(typeof(MyLanguageService),
MyConstants.languageName,
MyConstants.languageNameResourceID,
// Optional language service properties
CodeSense = true, // General IntelliSense support
RequestStockColors = false, // Custom colorable items
EnableASyncCompletion = true, // supports background parsing
MatchBraces = true, // Match braces on command
MatchBracesAtCaret = true // Match braces while typing
)]
class MyLanguagePackage
{
}
}
Keterangan
Atribut yang ditentukan pengguna ini (yang khusus untuk Visual C#) digunakan untuk memberikan informasi yang diperlukan untuk mendaftarkan layanan bahasa dengan Visual Studio. Nilai yang ditentukan oleh atribut ini disimpan sebagai metadata dalam perakitan. Metadata ini kemudian digunakan oleh program seperti regpkg.exe (bagian dari VSIP SDK) untuk membuat kunci dan entri registri terkait yang memberi tahu Visual Studio tentang layanan bahasa.
Entri registri yang terpengaruh oleh ProvideLanguageServiceAttribute ditemukan di bawah kunci registri berikut:
HKEY_LOCAL_MACHINE\
SOFTWARE\
Microsoft\
VisualStudio\
[X.Y]\
Languages\
Language Services\
[language name]\
(Default) = reg_sz: [Language Service GUID]
Package = reg_sz: [Package GUID]
LangResID = reg_dword: [language name resource ID]
Di mana [X.Y] adalah versi Visual Studio, misalnya, 8.0Exp, dan [nama bahasa] adalah nama bahasa (seperti yang ditentukan dalam parameter kedua ke ProvideLanguageServiceAttribute konstruktor kelas).
Catatan
Setiap properti menentukan entri registri yang tepat yang dipengaruhinya sehingga entri tersebut tidak ditampilkan dalam contoh di atas. Entri tambahan tersebut muncul pada tingkat yang sama dengan tiga entri yang diperlihatkan.
Konstruktor kelas menentukan parameter minimum yang diperlukan. Kelas atribut yang ditentukan pengguna juga mendukung parameter bernama opsional. Parameter bernama ini ditentukan dalam daftar parameter konstruktor setelah parameter yang diperlukan. Semua properti pada kelas ini yang mendukung operator dapatkan dan atur dapat ditentukan sebagai parameter bernama. Contoh menunjukkan bagaimana parameter bernama digunakan.
Catatan
Beberapa parameter bernama khusus untuk kerangka kerja paket terkelola (MPF) dan ini dicatat dalam setiap deskripsi properti.
Atribut yang ditentukan pengguna berikut digunakan untuk layanan bahasa:
Atribut | Deskripsi |
---|---|
ProvideLanguageServiceAttribute | Mendaftarkan layanan bahasa dengan Visual Studio dan menentukan fitur apa yang didukung. |
ProvideLanguageExtensionAttribute | Mengaitkan ekstensi file dengan layanan bahasa. |
ProvideLanguageEditorOptionPageAttribute | Menentukan simpul properti atau halaman untuk kotak dialog Opsi khusus untuk layanan bahasa. |
ProvideLanguageCodeExpansionAttribute | Menentukan informasi lokasi untuk mendukung cuplikan kode dalam layanan bahasa. |
ProvideServiceAttribute | Mendaftarkan layanan bahasa sebagai layanan Visual Studio. Semua layanan yang disediakan dalam kode terkelola menggunakan atribut ini. |
Catatan Bagi Inheritor
Kelas atribut ini tidak dapat diwarisi sehingga tidak ada yang perlu diimplementasikan.
Catatan Bagi Pemanggil
Kelas atribut ini biasanya diterapkan ke kelas VSPackage utama Anda, meskipun dapat muncul di kelas apa pun. Kelas ini hanya akan muncul sekali untuk setiap layanan bahasa yang didukung VSPackage Anda.
Konstruktor
ProvideLanguageServiceAttribute(Object, String, Int32) |
Menginisialisasi instans baru kelas Shell.ProvideLanguageServiceAttribute. |
Properti
AutoOutlining |
Menentukan apakah layanan bahasa mendukung kerangka otomatis. |
CodeSense |
Menentukan apakah layanan bahasa mendukung operasi IntelliSense. |
CodeSenseDelay |
Menentukan jumlah waktu sebelum operasi penguraian mulai mendukung operasi IntelliSense. |
DebuggerLanguageExpressionEvaluator |
Menentukan evaluator ekspresi yang digunakan untuk mengevaluasi ekspresi. |
DefaultToInsertSpaces |
Menentukan pengaturan default untuk opsi Sisipkan spasi dalam kotak dialog Opsi untuk layanan bahasa. |
DefaultToNonHotURLs |
Menentukan pengaturan awal opsi Aktifkan navigasi URL klik tunggal dalam kotak dialog Opsi. |
EnableAdvancedMembersOption |
Menentukan apakah opsi Sembunyikan Anggota Tingkat Lanjut diaktifkan dalam kotak dialog Opsi. |
EnableAsyncCompletion |
Menentukan apakah bahasa mendukung penguraian latar belakang. |
EnableCommenting |
Menentukan apakah layanan bahasa dapat mengomentari dan membatalkan kode sumber komentar menggunakan satu perintah. |
EnableFormatSelection |
Menentukan apakah layanan bahasa mendukung pemformatan otomatis kode sumber. |
EnableLineNumbers |
Menentukan apakah opsi Nomor baris dapat dipilih dalam kotak dialog Opsi. |
FontColorDefaults |
Menginformasikan Visual Studio bahwa VSPackage menyediakan layanan bahasa. Digunakan dengan kerangka kerja paket terkelola (MPF). |
HideAdvancedMembersByDefault |
Menentukan status awal opsi Sembunyikan Anggota Tingkat Lanjut dalam kotak dialog Opsi. |
LanguageName |
Mengembalikan nama bahasa. |
LanguageResourceID |
Mengembalikan ID sumber daya yang digunakan untuk mendapatkan versi nama bahasa yang dilokalkan. |
LanguageServiceSid |
Menginformasikan Visual Studio bahwa VSPackage menyediakan layanan bahasa. Digunakan dengan kerangka kerja paket terkelola (MPF). |
MatchBraces |
Menentukan apakah layanan bahasa mendukung pasangan bahasa yang cocok. |
MatchBracesAtCaret |
Menentukan apakah layanan bahasa mendukung pasangan bahasa yang cocok saat mengetik. |
MaxErrorMessages |
Menentukan jumlah maksimum pesan kesalahan yang dapat dilaporkan layanan bahasa untuk operasi penguraian. |
QuickInfo |
Menentukan apakah layanan bahasa mendukung Info Cepat IntelliSense. |
RequestStockColors |
Menentukan apakah layanan bahasa menggunakan item bawaan yang dapat berwarna sebagaimana disediakan oleh Visual Studio. |
ShowCompletion |
Menentukan apakah opsi Penyelesaian pernyataan diaktifkan dalam kotak dialog Opsi. |
ShowDropDownOptions |
Menentukan apakah opsi Bilah navigasi diaktifkan dalam kotak dialog Opsi. |
ShowHotURLs |
Menentukan apakah URL ditampilkan sededingin mungkin untuk menampilkan URL dapat diklik. Opsi ini tidak digunakan. |
ShowMatchingBrace |
Menentukan apakah pasangan bahasa yang cocok ditampilkan di bilah status. |
ShowSmartIndent |
Menentukan apakah opsi Inden Cerdas diaktifkan dalam kotak dialog Opsi. |
SingleCodeWindowOnly |
Menentukan apakah perintah Jendela -> Jendela Baru dinonaktifkan untuk layanan bahasa. |
SupportCopyPasteOfHTML |
Menentukan apakah layanan bahasa mendukung html format clipboard untuk operasi salin dan tempel. |
TypeId |
Ambil alih properti TypeID untuk memungkinkan RegistrationAttribute memperoleh kelas untuk bekerja dengan System.ComponentModel.TypeDescriptor.GetAttributes(...). Atribut yang berasal dari atribut ini harus mengambil alih properti ini hanya jika membutuhkan kontrol yang lebih baik pada instans yang dapat diterapkan ke kelas. (Diperoleh dari RegistrationAttribute) |
Metode
GetPackageRegKeyPath(Guid) |
Mendapatkan jalur registri (relatif terhadap akar registri aplikasi) dari VSPackage. (Diperoleh dari RegistrationAttribute) |
Register(RegistrationAttribute+RegistrationContext) |
Membuat semua kunci dan entri registri seperti yang ditentukan oleh konstruktor kelas. |
Unregister(RegistrationAttribute+RegistrationContext) |
Menghapus semua kunci dan entri registri seperti yang ditentukan oleh konstruktor kelas. |