代码之家  ›  专栏  ›  技术社区  ›  Peter Perháč

visualstudio 2010中是否有类似eclipse的单词完成快捷方式?

  •  7
  • Peter Perháč  · 技术社区  · 14 年前

    最近,我从Java开发和Eclipse IDE切换到C.*.NET和VisualStudio 2010。我真正想念的是 中高音 + / 用于字完成的eclipse快捷方式。我不是说智能感知自动完成的东西。我的意思是,我希望文本编辑器完成已经存在于文档中某个位置但不会以智能方式显示的单词的编写,例如字符串文本。

    在notepad++中,它是 Ctrl键 + 进入 捷径。 在eclipse中,它是前面提到的 中高音 + /

    VS2010也能做到这一点吗?如果不是默认情况下,有谁能给我指一个像样的vb宏,我可以插入我的vs2010来做这个?

    谢谢您.

    编辑

    请注意两者之间有区别 代码 完成(即在大多数ide/聪明的编辑器中,是通过ctrl+space执行的)和简单的 完成(我要找的)。单词补全不会试图分析当前上下文,也不会猜测您可能要使用的类型/方法。它所做的一切都是试图完成一项工作,你开始键入,环顾你的光标位置,并搜索类似的词已经发生在当前的文件。

    4 回复  |  直到 7 年前
        1
  •  3
  •   shlomiw    12 年前

    我创建了一个简单的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空间,它就帮我搞定了。

    舍洛米

        2
  •  2
  •   Cédric Guillemette    14 年前

    VS2010也能做到这一点吗?

    默认情况下没有。

    如果不是默认情况下,有谁能给我指一个像样的vb宏,我可以插入我的vs2010来做这个?

    不知道有什么存在。但这可能是个不错的项目。

        3
  •  0
  •   Josef.B    7 年前

    在visual studio代码(vsc)中,getogrand有一个扩展名“另一个单词完成”。我知道你的问题是关于visual studio的,但这可能会引起其他人的兴趣。

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

        4
  •  -1
  •   Ron Ryl    13 年前

    VS2010默认具有此功能:

    快捷键:“alt+右箭头”或“ctrl+空格键”

    工具栏按钮:(由于我是新用户,请在 http://i.stack.imgur.com/OyiHY.png )

    相关命令对象名称:edit.completeword(请参见: http://msdn.microsoft.com/en-us/library/xte2hh6a%28v=vs.71%29.aspx )

    顺便说一下,我用的是VS2010专业版。

    推荐文章