Partager via


Héberger Intellisense

Visual Studio active héberger Intellisense. L'hébergement d'IntellSense vous permet de fournir Intellisense pour le code qui n'est pas hébergé par l'éditeur de texte Visual Studio.

Intellisense qui héberge l'utilisation

Dans Visual Studio, tout code qui a accès à un jeu de saisies semi-automatiques et dans une mémoire tampon de texte peut obtenir des fenêtres d'Intellisense n'importe où dans l'interface (UI) utilisateur. Certains scénarios d'exemple de procédure sont saisie semi-automatique dans la fenêtre d' Espion ou dans le champ de la condition d'une fenêtre de propriétés.

interfaces d'implémentation

IVsIntellisenseHost

Tout composant de l'interface utilisateur qui héberge des fenêtres indépendantes Intellisense doit prendre en charge l'interface d' IVsIntellisenseHost . Le principal affichage de texte par défaut de l'éditeur inclut une implémentation magasin d'interface d' IVsIntellisenseHost pour conserver les fonctionnalités actuelles Intellisense. Pour la plupart, les méthodes d'interface d' IVsIntellisenseHost représentent un sous-ensemble de ce qui est implémenté dans l'interface d' IVsTextView . Le sous-ensemble inclut la gestion d'Intellisense interface utilisateur, la manipulation du signe insertion et de sélection, et la fonctionnalité simple de remplacement de texte. En outre, l'interface d' IVsIntellisenseHost active Intellisense séparé « rubrique » et « contexte » afin qu'Intellisense puisse être fourni pour les rubriques qui n'existent pas directement dans la mémoire tampon de texte qui est utilisée pour le contexte.

IVsIntellisenseHost.GetHostFlags

Un fournisseur d'interface d' IVsIntellisenseHost doit implémenter la méthode d' GetHostFlags pour permettre à un client de déterminer le type d'Intellisense comporte prend en charge hôte.

les balises d'hôte, définies dans IntelliSenseHostFlags, sont résumées ci-dessous.

Balise d'hôte Intellisense

Description

IHF_READONLYCONTEXT

Définition de cet indicateur signifie que la mémoire tampon de contexte est en lecture seule et la modification se produit uniquement dans le texte soumis.

IHF_NOSEPERATESUBJECT

Définition de cet indicateur signifie qu'il n'existe aucun rubrique séparée Intellisense. La rubrique existe dans la mémoire tampon de contexte, tel que dans le système traditionnel d' IVsTextView Intellisense.

IHF_SINGLELINESUBJECT

Définition de cet indicateur signifie que la rubrique n'est pas capable multiligne, par exemple dans une modification de ligne unique dans la fenêtre d' Espion .

IHF_FORCECOMMITTOCONTEXT

Si elle est définie et la mémoire tampon de contexte sera mise à jour, l'hôte active l'indicateur de lecture seule dans la mémoire tampon de contexte à ignorer et des modifications pour continuer.

IHF_OVERTYPE

Changer (dans la rubrique ou le contexte) doit être effectuée dans refrappent mode.

IVsIntellisenseHost.BeforeCompletorCommit et IVsIntellisenseHost.AfterCompletorCommit

Ces méthodes de rappel sont appelées par la fenêtre d'achèvement avant et après que le texte soit validé, pour activer le prétraitement et le post-traitement.

IVsIntellisenseCompletor

L'interface d' IVsIntellisenseCompletor est une version Co-creatable de la fenêtre standard d'achèvement qui est utilisée par l'environnement de développement intégré (IDE) (IDE). Toute interface d' IVsIntellisenseHost peut rapidement implémenter Intellisense à l'aide de cette interface de completor.

Voir aussi

Référence

Microsoft.VisualStudio.TextManager.Interop