7

Je suis récemment passé du développement Java et IDE Eclipse à C# .NET et VisualStudio 2010. Ce qui me manque vraiment, c'est le raccourci Alt + / Eclipse pour la complétion des mots. Je ne parle PAS de trucs de complétion automatique IntelliSense. Je veux dire, je voudrais que l'éditeur de texte finisse d'écrire des mots qui existent déjà quelque part dans le document mais qui n'apparaîtront pas dans IntelliSense, par ex. littéraux de chaîne.Existe-t-il un raccourci d'achèvement WORD de type Eclipse dans VisualStudio 2010?

Dans Notepad ++, il est le Ctrl +Entrez raccourci. Dans Eclipse, il est mentionné ci-dessus la Alt + /

peut VS2010 faire la même chose? Si ce n'est pas le cas par défaut, quelqu'un peut-il me désigner une macro VB décent que je pourrais brancher sur mon VS2010 pour le faire?

Merci.

EDIT

S'il vous plaît l'esprit il y a une différence entre CODE fin (ce que dans la plupart des environnements de développement/éditeurs intelligents est réalisée par Ctrl + Espace) et simple WORD fin (ce que je cherche). La complétion de Word n'essaie pas d'analyser le contexte actuel, ou devinez quel type/méthode vous pourriez être après. Tout ce qu'il fait essaie de terminer un travail que vous avez commencé à taper en regardant autour de l'emplacement de votre curseur et en recherchant des mots similaires déjà présents dans le document en cours.

Répondre

2

Est-ce que VS2010 peut faire la même chose?

Non par défaut.

Si ce n'est pas le cas par défaut, quelqu'un peut-il me diriger vers une macro VB décente que je pourrais brancher sur mon VS2010 pour le faire?

Je n'en connais aucune qui existe. Mais cela pourrait être un beau projet à faire.

+3

Oui, je voudrais certainement utiliser un tel plugin. Même mieux d'avoir un tel plugin pour Word/Outlook aussi, je suis toujours en appuyant sur Ctrl + Espace lorsque vous tapez dans mes e-mails et devenir vraiment contrarié lorsque les mots ne sont pas autocompleted :) –

+0

Je ne peux vraiment pas marquer cela comme une réponse acceptée . Tu n'as pas vraiment aidé quand j'y pense. –

-1

VS2010 a cette fonctionnalité par défaut:

Raccourcis: "ALT + DROITE" ou "CTRL + barre d'espace"

bouton barre d'outils: (comme je suis un nouvel utilisateur, s'il vous plaît ouvrir l'image capture d'écran manuellement à http://i.stack.imgur.com/OyiHY.png)

commande pertinente Nom de l'objet: Edit.CompleteWord (voir: http://msdn.microsoft.com/en-us/library/xte2hh6a%28v=vs.71%29.aspx)

BTW, j'utilise VS2010 professionnel.

+2

s'il vous plaît voir mon dernier EDIT. Je ne cherche pas l'achèvement de code, qui est un must have dans n'importe quel IDE. Je suis à la recherche d'un moyen simple d'avoir des mots complétés automatiquement (par des mots je veux dire des mots - pas seulement des noms de méthode/champ/propriété/type Même des mots dans la documentation ou des commentaires.) –

3

J'ai créé simple VS macro:

Public Sub CompletePreviousWord()   

    Dim doc As EnvDTE.Document = DTE.ActiveDocument 
    Dim selection As TextSelection = doc.Selection   

    ' word to left is what we want to find   
    selection.WordLeft(True, 1) 
    Dim findWord As String = selection.Text 

    ' get search text from the beginning of the document 
    Dim ep As EditPoint = selection.ActivePoint.CreateEditPoint() 
    ep.StartOfDocument() 
    Dim searchText As String = ep.GetText(selection.ActivePoint) 

    Dim match = Regex.Match(searchText, "[^a-zA-Z0-9_]?(" + findWord + "[a-zA-Z0-9_]*)", _ 
     RegexOptions.IgnoreCase Or RegexOptions.RightToLeft)   

    If match.Success Then 
     ' replace the whole world - for case sensitive and to allow undo (by doing only one operation)    
     selection.Insert(match.Groups.Item(1).Value) 
    Else    
     selection.WordRight(False, 1) 
    End If 

End Sub 

Délimitée à alt-espace et le tour est joué pour moi.

Shlomi

0

Dans le code Visual Studio (VSC), il y a une extension, "Un autre mot d'achèvement" par getogrand.Je sais que votre question portait sur Visual Studio, mais cela pourrait intéresser d'autres personnes à la recherche de ce produit.

Yup, difficile à chercher car le terme "achèvement de code" est plus commun.