【问题标题】:Is there a Eclipse-like WORD completion shortcut in VisualStudio 2010?Visual Studio 2010 中是否有类似 Eclipse 的 WORD 完成快捷方式?
【发布时间】:2010-08-17 15:40:58
【问题描述】:

我最近从 Java 开发和 Eclipse IDE 切换到 C# .NET 和 VisualStudio 2010。我真正怀念的是用于单词完成的 Alt + / Eclipse 快捷方式。我不是在谈论 IntelliSense 自动完成的东西。我的意思是,我希望文本编辑器完成编写文档中已经存在但不会出现在 IntelliSense 中的单词,例如字符串字面量。

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

VS2010 可以做同样的事情吗?如果不是默认情况下,谁能指出我可以插入到我的 VS2010 中的体面的 VB 宏来执行此操作?

谢谢。

编辑

请注意 CODE 补全(即在大多数 IDE/聪明的编辑器中由 Ctrl+Space 执行的操作)和简单的 WORD 补全(我是寻找)。单词完成不会尝试分析当前上下文,也不会猜测您可能追求的类型/方法。它所做的一切都是通过环顾光标位置并搜索当前文档中已经出现的相似单词来尝试完成您开始输入的工作。

【问题讨论】:

    标签: eclipse visual-studio keyboard-shortcuts word-completion


    【解决方案1】:

    我创建了一个简单的 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,它对我有用。

    史洛米

    【讨论】:

      【解决方案2】:

      VS2010 也能做到吗?

      默认没有。

      如果不是默认设置,谁能给我指出一个不错的 VB 宏,我可以将它插入到我的 VS2010 中来执行此操作?

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

      【讨论】:

      • 是的,我肯定会使用这样的插件。最好有这样的 Word/Outlook 插件,我在输入电子邮件时总是按 Ctrl+Space,当单词没有自动完成时我会非常沮丧:)
      • 我真的无法将此标记为已接受的答案。当我这么想的时候,你并没有真正帮助。
      【解决方案3】:

      在 Visual Studio Code (VSC) 中,getogrand 有一个扩展名“Another Word Completion”。我知道您的问题是关于 Visual Studio,但其他搜索此内容的人可能会对此感兴趣。

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

      【讨论】:

        【解决方案4】:

        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 专业版。

        【讨论】:

        • 请看我最后的编辑。我不是在寻找代码完成,这是任何 IDE 中必须具备的。我正在寻找一种让单词自动完成的简单方法(我指的是任何单词 - 不仅仅是方法/字段/属性/类型名称。甚至是文档或 cmets 中的单词。)
        猜你喜欢
        • 2011-06-22
        • 2014-09-26
        • 2011-03-17
        • 1970-01-01
        • 1970-01-01
        • 2017-07-04
        • 2011-06-23
        • 2014-07-11
        • 1970-01-01
        相关资源
        最近更新 更多