Questa pagina è stata utile?
I suggerimenti relativi al contenuto di questa pagina sono importanti. Comunicaceli.
Altri suggerimenti?
1500 caratteri rimanenti
MSDN Library
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Interfaccia IVsProvideColorableItems

Notifica all'editor di codice sugli elementi colorabili personalizzati offerti dal servizio di linguaggio.

Spazio dei nomi:  Microsoft.VisualStudio.TextManager.Interop
Assembly:  Microsoft.VisualStudio.TextManager.Interop (in Microsoft.VisualStudio.TextManager.Interop.dll)

[GuidAttribute("100B9A33-905C-4312-B2A2-452189F19AB9")]
[InterfaceTypeAttribute()]
public interface IVsProvideColorableItems

Il tipo IVsProvideColorableItems espone i seguenti membri.

  NomeDescrizione
Metodo pubblicoGetColorableItemDetermina le informazioni dell'elemento per ogni elemento il colore personalizzato fornito dal servizio di linguaggio.
Metodo pubblicoGetItemCountDetermina il numero di elementi colorabili personalizzati offerti dal servizio di linguaggio.
In alto

Distribuzione IVsProvideColorableItems, fornisce gli elementi colorabili personalizzati all'editor principale e che l'editor principale del numero di elementi colorabili forniti e il relativo colore predefinito/impostazioni di formattazione è. L'editor principale gestisce le selezioni dei colori dell'utente corrente per gli elementi colorabili (come imposta in opzioni finestra di dialogo scegliere strumenti menu). Come gli elementi colorabili predefiniti, il linguaggio non dispone del controllo diretto sull'aspetto visivo dei relativi elementi colorabili oltre a specificare i valori predefiniti.

Questa interfaccia viene utilizzata per notificare all'editor sugli elementi del linguaggio oltre a quelli forniti DEFAULTITEMS. Non tentare di ridefinire gli elementi del linguaggio esistenti (ad esempio, i commenti o parole chiave) e non utilizzare lo stesso nome degli elementi di linguaggio predefinito o di oggetto esistente.

Note per gli implementatori

Per supportare gli elementi colorabili personalizzati nel servizio di linguaggio, è necessario implementare questa interfaccia nella stessa classe che implementa IVsLanguageInfo collegare e fornire il supporto per accedere all'interfaccia con QueryInterface metodo. Per implementare i metodi e IVsProvideColorableItems interfaccia, è necessario un elenco di IVsColorableItemoggetti per fornire su richiesta (vedere IVsColorableItem interfaccia per un esempio di come creare un elenco di elementi colorabili personalizzati).

Note per i chiamanti

un editor ottiene questa interfaccia chiamando QueryInterface metodo in IVsLanguageInfo collegare che rappresenta un servizio di linguaggio.

Di seguito è riportato un esempio di come questa interfaccia può essere distribuita in un servizio di linguaggio. l'esempio in IVsColorableItem viene illustrato come implementare l'interfaccia MyColorableItem classe.

using Microsoft.VisualStudio;
using Microsoft.VisualStudio.TextManager.Interop;

namespace MyLanguagePackage
{
    class MyLanguageService : IVsLanguageInfo, IVsProvideColorableItems
    {
        private MyColorableItems colorableItemsList[];
        public MyLanguageService()
        {
            // populate the colorableItemsList here.
        }

        public int GetItemCount(out int piCount)
        {
            piCount = 0;
            if (this.colorableItemsList != null)
            {
                 if (this.colorableItemsList.Length > 0)
                 {
                     // The first color is a placeholder and is
                     // never counted.
                     piCount = this.colorableItemsList.Length - 1;
                 }
            }
            return VSConstants.S_OK;
        }

        public int GetColorableItem(int iIndex, out IVsColorableItem ppItem)
        {
            int retval = VsConstants.E_INVALIDARG;

            ppItem = null;
            if (this.colorableItemList != null &&
                iIndex >= 0 && iIndex < this.colorableItemList.Length)
            {
                 ppItem = this.colorableItemsList[iIndex];
                 retval = VSConstants.S_OK;
            }
            return retval;
        }
    }
}

Aggiunte alla community

Mostra:
© 2015 Microsoft