像VisualStudio 2010中的WORD完成快捷方式?

我最近从Java开发和Eclipse IDE切换到C#.NET和VisualStudio 2010.我真的很想念完成字的Alt + / Eclipse快捷键。 我不是在谈论智能感知自动完成的东西。 我的意思是,我希望文本编辑器能够完成文档中某处已经存在的单词,但不会在IntelliSense中显示,例如字符串文字。

在Notepad ++中,它是Ctrl + Enter快捷键。 在Eclipse中,它是前面提到的Alt + /

VS2010能做到这一点吗? 如果不是默认情况下,任何人都可以指向我一个体面的VB宏,我可以插入我的VS2010来做到这一点?

谢谢。

编辑

请注意, CODE完成(即大多数IDE /智能编辑器由Ctrl + Space执行的操作)和简单WORD完成(我在寻找的内容)之间存在差异。 Word完成不会尝试分析当前上下文,或者猜测您可能会遇到什么类型/方法。 它所做的全部工作都是通过查看光标位置并搜索当前文档中已出现的类似词汇来尝试完成您开始键入的工作。


我创建了一个简单的VS宏:

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

将它限制在alt-space中,它对我有用。

施洛米


VS2010能做到这一点吗?

没有默认。

如果不是默认情况下,任何人都可以指向我一个体面的VB宏,我可以插入我的VS2010来做到这一点?

不知道有任何存在。 但这可能是一个不错的项目。


在Visual Studio代码(VSC)中有一个扩展名,getogrand提供的“Another Word Completion”。 我知道你的问题是关于Visual Studio的,但这可能会引起其他人对此感兴趣。

是的,很难找到这个,因为“代码完成”这个词更常见。

链接地址: http://www.djcxy.com/p/47539.html

上一篇: like WORD completion shortcut in VisualStudio 2010?

下一篇: Quickhelp for Python in Emacs autocomplete.el?