« iPhone/iPod touch用SDKを2月に提供、ネイティブアプリ開発が可能に - Engadget Japanese | トップページ | Rubyのこのごろ »

menucomplete.msの使い方 チュートリアル

アンカーシステムズさん作成のプロジェクト型エディタPeggyのサポート掲示板で、menucomplete.msの使い方について質問をいただきましたので、チュートリアルを作成してみました。
こういう反応をいただくのはとても嬉しいですね。

掲示板の方に解答したのですが、ここにも転載したいと思います。

◆menucomplete.msの使い方

◇menucomplete.msをダウンロードする

まず、スクリプトをスクリプトライブラリからダウンロードします。
http://www2.noritz.co.jp/anchor/cgi/as_mocaupload.cgi?command=latest
へアクセスし、84番の"menucomplete.ms"をダウンロードします。
その後、scriptフォルダに置きます。デフォルトでは、スクリプトフォルダは

C:\Program Files\Anchor\share\script
にありますので、
C:\Program Files\Anchor\share\script\menucomplete.ms
となるようにコピーしてください。

◇キーボードショートカットに割り当てる

menucomplete.msは単語補完という機能の性格上、キーボードショートカット
に割り当てるのが必須と思われます。
Peggyを起動し、メニューのツール->カスタマイズからダイアログボックスを開き、スクリプトタブ内のリストで空いている場所を選択して、「コマンド」の列でmenucomplete.ms:MenuCompleteを設定した後、「ショートカット変更」ボタンでショートカットを割り当ててください。Ctrl+Space等がお勧めです。

◇Peggyの設定を変更する

キーボードショートカットを割り当てたら、次にPeggyの設定を変更します。
まず、メニューのツール->オプションの拡張子タブで、リスト内の拡張子hの言語を「C」から「C++」に変更します。
これは、ヘッダファイルに対してもC++のTAGSを生成するためです。

また、メニューの検索->シンボル検索->定義位置ブラウザで「高度な設定」ボタンを押して、全てのオプションを表示させます。そして、以下のチェックボックスをONにしてダイアログボックスを閉じます。

グローバル変数のタグを生成する→ON
メンバ変数のタグを生成する→ON
プロジェクトのTAGSをインポートする→ON
TAGSファイルを残す→ON
これは、Pegggyが作成するTAGSファイルを、ファイルとして残しておくために必要な設定です。以降、TAGSを生成した後にプロジェクトファイルと同じフォルダにTAGSというファイルができるようになります。
menucomplete.msは、このファイルを解析することでメンバ名補完を実現しています。

◇サンプルのプロジェクトを作成する

では次に、実際のソースコードを用いてmenucomplete.msを使ってみます。
例として用いるソースコードとして、今回はやねうらおさんのyaneSDK3rdを使わせていただくことにしました。
http://yaneurao.hp.infoseek.co.jp/yaneSDK3rd/
へアクセスし、「yaneSDK3rd 1.40」というリンクと「サンプル1」というリンクから、それぞれ「yaneSDK3rd0307161139.zip」というファイルと「sample1.zip」というファイルをダウンロードしてください。
解凍するとそれぞれ「yaneSDK3rd」というフォルダと「sample1」というフォルダができますので、両方を同じ場所に置いてください。ここでは例として、

C:\test\
に置くことにします。つまり、フォルダ構成は
C:\test\yaneSDK3rd
C:\test\sample1
となります。

次にPeggyを開いて、プロジェクトウィンドウにエクスプローラから二つのフォルダをD&Dします。フォルダの内容が全て登録されたら、メニューのプロジェクト->保存するでプロジェクトを

C:\test\yaneSDK3rd.peg
として保存します。

◇メンバ補完を使ってみる

これでいよいよメンバ補完が使えるようになります。先ほどのプロジェクトを開いたまま、まずShift+F12でTAGSを生成してください。次にC:\test\sample1\sourse\capp.cppを開き、97行目と98行目の間に改行を挿入して、

sapp.
と入力して.の右にカーソルがある状態で先ほど割り当てたCtrl+Spaceを入力してみてください。
IsValid()
m_oMutex
m_bValid
という補完リストが表示されたら成功です。リストは文字を入力するに従って絞り込まれていくはずです。
また同じように、
init.
としてCtrl+Spaceを入力したり、
CAppInitializer::
としてCtrl+Spaceを入力してもリストが表示されるはずです。
menucomplete.msでは.と->を区別していませんので、
init->
とした場合は、文法的には合っていないのですがリストが表示されてしまいます。
より詳しい使い方や仕様に関しては、スクリプト冒頭のコメントを見ていただければと思います。検索ツールにフォーカスがあるときに単語補完ができるのも、結構使えるのではないかと思います。

◇自分のプロジェクトで

現在作業されているプロジェクトでも、「◇Peggyの設定を変更する」までの設定がされていてかつTAGSが生成されていれば、同じように使えると思います。
プロジェクトにTAGSが登録されていれば、その中で定義されているクラスや構造体のメンバも補完できます。

|

« iPhone/iPod touch用SDKを2月に提供、ネイティブアプリ開発が可能に - Engadget Japanese | トップページ | Rubyのこのごろ »

「パソコン・インターネット」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/1789/16894874

この記事へのトラックバック一覧です: menucomplete.msの使い方 チュートリアル:

« iPhone/iPod touch用SDKを2月に提供、ネイティブアプリ開発が可能に - Engadget Japanese | トップページ | Rubyのこのごろ »