VisualStudioの定義へ移動っぽいマクロを作った

普段はVisualStudioを使っているが、重かったり簡単にコードを見たい時はテキストエディタでいつもコードを読んでいる。
そうすると、エディタをVisualStudioっぽくしたくなってくる。ということで、前回に引き続き、公開。

動作環境

サクラエディタの最新版なら大丈夫かと。
VB.NETにしか使えません。他の言語にも使いたいって時は、正規表現あたりを勝手にいじって下さい。

概要と使い方

obj = Me.MethodName()

上記のように書いてあるところで、MethodNameにカーソルを移動し(またはメソッド名を選択)し、マクロを実行すると、下記の1行目に飛ぶ。

Private Sub MethodName()
  'ここに処理
EndSub

また、履歴を記憶するので、履歴をたどることで呼び出す側に戻れることが出来ます。

マクロソース

'定義へジャンプ

Dim strMethodName
Dim strSearchWord

'選択単語の取得
strMethodName = GetSelectedString

'何も選択されていない場合は、カーソルのある位置の単語を取得
If Len(strMethodName) = 0  Then
	SelectWord
	strMethodName = GetSelectedString
End if

'現在位置を保存
MoveHistSet

'正規表現の作成
strSearchWord ="^[^']*(Function|Sub|Private|Public|Protected).*" & strMethodName & ".*$"

'検索
SearchNext strSearchWord , 00111

'行へフォーカス
GoLineTop

注意点

正規表現を勉強している最中なので、怪しい部分があるかと思いますが普通に使えるレベルにはなっています。

拡張子はvbsで、文字コードSJISで保存しないとうまく動かないみたいです。

ちなみに

私は、F12に割り当てています。これで、サクラエディタも結構もVSに近づいた!
マクロって割とアイデアが大事。コーディングはこの程度なら楽チンだし。