2010-06-04 7 views
1

J'ai étudié le MEF (Managed Extensibility Framework), mais je ne suis pas entièrement sûr que ce soit quelque chose dont j'ai besoin et qui puisse m'aider à accomoder ce que j'ai besoin de faire.Visual Studio 2010 avec Framework Extensiblity géré

Est-ce que quelqu'un peut fournir une description facile à comprendre de MEF, fournit de bonnes ressources et des tutoriels (en dehors de MSDN), et/ou sait s'il peut faire la tâche que j'essaie de faire sous Visual Studio?

La tâche que j'essaie de faire est de «consigner» une chaîne de texte dans un fichier texte chaque fois que l'utilisateur sélectionne une chaîne de texte. J'ai également besoin de cette fonctionnalité pour fonctionner de manière passive et en temps réel, ce que Visual Studio Add-in ne supporte pas cette fonctionnalité, car leur comportement est "cliquez sur le bouton pour travailler".

+0

Pourriez-vous donner un peu plus de détails à ce que vous essayez d'accomplir? Que voulez-vous dire par "passivement et en temps réel?" –

+0

Désolé à ce sujet. Je veux dire, c'est que je veux que mon code fonctionne le temps qu'IDE fonctionne. Lorsque je sélectionne une section de texte, je veux que mon code enregistre le texte sélectionné dans un fichier, sans que l'utilisateur le connecte lui-même. – NewProgrammer

Répondre

0

Je suis sûr que cela est possible dans .NET sans aller «près du métal», probablement une référence au «code de niveau inférieur». La méthode .NET TextPattern.GetSelection Method vous aidera à accomplir votre tâche si elle est associée à un gestionnaire MouseEvent.

+0

Merci pour l'aide Stephan, mais le but que je fais est de le coder pour Visual Studio 2010 en tant qu'extension, et je l'écris en C#. Depuis MEF apparaît à l'une de mes solutions, j'ai besoin d'aide, car je suis encore nouveau pour Visual Studio Add-in et MEF Extensiblity APIs – NewProgrammer

+0

Pas de problème mon pote. J'utiliserais un écouteur C# MouseEvent et la méthode C# TextPattern.GetSelection que j'ai mentionnée ci-dessus. – nottinhill

1

Voir my response to a similar question.

La réponse est "oui", c'est possible/supporté. Recherchez les éléments suivants dans samples/documentation/walkthroughs:

IWpfTextViewCreationLister - pour détecter la création d'instances d'éditeur.
ITextView.Selection - l'objet de sélection
ITextSelection.SelectionChanged - soulevé chaque fois que les changements de sélection (mais pas pour le vide-sélection suivi de la caret)