Condividi tramite


Procedura: Accedere ai tipi di carattere e la combinazione colori incorporate

L'ambiente di sviluppo integrato di (IDE) Visual Studio ha una combinazione di tipi di carattere e di colori associata alla finestra dell'editor. È possibile accedere a questa combinazione tramite l'interfaccia di IVsTextView .

Per utilizzare tipi e combinazioni di colori incorporate, un VSPackage necessario:

  • Definire una categoria da utilizzare con i tipi di carattere e il servizio predefiniti di colori.

  • Registrare la categoria ai tipi di carattere e i colori predefiniti server.

  • Consigliare l'ide che utilizzi specifici di una finestra gli elementi e le categorie della visualizzazione di incorporato utilizzando le interfacce di T:Microsoft.VisualStudio.TextManager.Interop.IVsTextEditorPropertyContainer e di T:Microsoft.VisualStudio.TextManager.Interop.IVsTextEditorPropertyCategoryContainer .

L'ide utilizza la categoria risultante come handle della finestra. Il nome della categoria nella casella a discesa di Impostazioni di visualizzazione per: nella pagina delle proprietà di Tipi di carattere e colori .

Per definire una categoria mediante i tipi di carattere incorporate e colori

  1. creare un GUID arbitrario.

    Il GUID utilizzato per identificare in modo univoco una categoria. Questa categoria riutilizza i tipi di carattere predefinito dell'IDE e dei colori la specifica. Per ulteriori informazioni, vedere GUIDGEN Sample: Generates Globally Unique Identifiers (GUIDs).

    Nota

    Nel recuperare il tipo di carattere e i dati di colore con IVsFontAndColorEvents o altre interfacce, l'utilizzo di package VS il GUID fare riferimento a informazioni incorporate.

  2. Il nome della categoria deve essere aggiunto a una tabella di stringhe nel file di risorse del package VS RC, in modo che può essere localizzato in base alle necessità se visualizzato nell'IDE.

    Per ulteriori informazioni, vedere Aggiunta o eliminazione di una stringa.

Per registrare un marcatore personalizzato

  1. Creare un tipo speciale con voce del Registro di sistema della categoria nel percorso seguente:

    [HKLM \SOFTWARE\Microsoft \Visual Studio \ <versione di Visual Studio> \FontAndColors \ <categoria> ]

    <categoria> è il nome non localizzato della categoria.

  2. Popolare il Registro di sistema per utilizzare i tipi di carattere e la combinazione colori predefiniti con quattro valori:

    Nome

    Type

    Dati

    Descrizione

    Categoria

    REG_SZ

    GUID

    Un GUID arbitrario che identifica una categoria che contiene il tipo e la combinazione colori predefinite.

    Pacchetto

    REG_SZ

    GUID

    {} F5E7E71D-1401-11D1-883B-0000F87579D2

    Il GUID utilizzato dal package VS che utilizza il tipo di carattere predefinito e colore delle configurazioni.

    NameID

    REG_DWORD

    ID

    ID di risorsa di un nome di categoria localizzabile nel package VS.

    ToolWindowPackage

    REG_SZ

    GUID

    Il GUID del pacchetto VS che implementa l'interfaccia di IVsTextView .

Per avviare l'utilizzo di fornito dal sistema di tipi di carattere e colori

  1. Creare un'istanza dell'interfaccia di T:Microsoft.VisualStudio.TextManager.Interop.IVsTextEditorPropertyCategoryContainer come parte dell'implementazione e di inizializzazione della finestra.

  2. Chiamare il metodo di GetPropertyCategory per ottenere un'istanza dell'interfaccia di T:Microsoft.VisualStudio.TextManager.Interop.IVsTextEditorPropertyContainer corrispondente all'istanza corrente di IVsTextView .

  3. SetProperty di chiamato due volte.

    • chiamata una volta con VSEDITPROPID_ViewGeneral_ColorCategorycome argomento.

    • chiamata una volta con VSEDITPROPID_ViewGeneral_FontCategory come argomento.

    Questo imposta ed espone i tipi di carattere predefinite e dei colori servizi quali proprietà della finestra.

Esempio

Nell'esempio seguente viene avviata l'utilizzo dei tipi di carattere incorporati e dei colori.

CComVariant vt;
CComQIPtr<IVsTextEditorPropertyCategoryContainer> spPropCatContainer(m_spView);
if (spPropCatContainer != NULL){
    CComPtr<IVsTextEditorPropertyContainer> spPropContainer;
    if (SUCCEEDED(spPropCatContainer->GetPropertyCategory(GUID_EditPropCategory_View_MasterSettings, 
                                                          &spPropContainer))){
        CComVariant vt;CComVariant VariantGUID(bstrGuidText);
        spPropContainer->SetProperty(VSEDITPROPID_ViewGeneral_FontCategory, VariantGUID);
        spPropContainer->SetProperty(VSEDITPROPID_ViewGeneral_ColorCategory, VariantGUID);
    }
}

Vedere anche

Concetti

Ottenere il tipo di carattere e informazioni sui colori per la colorazione del testo

Accedere alle impostazioni archiviate di colori e tipi di carattere

Il tipo di carattere e cenni preliminari di colore

Altre risorse

Tipi di carattere