Bagikan melalui


ProvideLanguageServiceAttribute Kelas

Definisi

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
ProvideLanguageServiceAttribute
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.

Berlaku untuk