8

私は最近、Java 開発と Eclipse IDE から C# .NET と VisualStudio 2010 に切り替えました。私が本当に恋しいのは、単語補完用のAlt+ Eclipse ショートカットです。/IntelliSense のオートコンプリートについて話しているわけではありません。つまり、ドキュメントのどこかに既に存在するが、IntelliSense には表示されない単語 (文字列リテラルなど) をテキスト エディターで書き終えてもらいたいのです。

Notepad++ ではCtrl+Enterショートカットです。Eclipse では前述のAlt+/

VS2010でも同じことができますか? デフォルトではない場合、これを行うためにVS2010にプラグインできるまともなVBマクロを誰かに教えてもらえますか?

ありがとうございました。

編集

CODE補完 (つまり、ほとんどの IDE/巧妙なエディターで Ctrl+Space によって実行されるもの) と単純なWORD補完 (私が探しているもの)には違いがあることに注意してください。単語補完は、現在のコンテキストを分析したり、どのタイプ/メソッドを求めているかを推測したりしません。カーソル位置を調べて、現在のドキュメントで既に発生している類似の単語を検索することで、入力を開始した作業を完了しようとします。

4

4 に答える 4

3

単純な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にバインドし、それは私のためにトリックを行います。

シュロミ

于 2012-05-21T11:00:35.750 に答える
2

VS2010でも同じことができますか?

デフォルトではいいえ。

デフォルトではない場合、これを行うためにVS2010にプラグインできるまともなVBマクロを誰かに教えてもらえますか?

存在するものを知りません。しかし、これは素晴らしいプロジェクトになる可能性があります。

于 2010-09-13T19:18:52.220 に答える
-1

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プロフェッショナルを使用しています。

于 2012-03-21T07:05:11.253 に答える