コードスニペットメモ
VBExp分のリスト化終わり。
全部で250本程度、うち半分くらいはわざわざスニペットから参照するほどのものではない。
つことは製品に付属しているスニペットは主にセオリーを提示するのが目的で、長ったらしいセオリーテキストの記述を省力化するのが主目的ではない、ということになるのかな。
特にVBExpの場合はMyに絡めた機能、VB6と同じだけど文法が変わった機能、VB6とおんなじに使えるんだよと言いたい機能なんかが目につく。
VBTS(たぶんProも同様?)はまだざっとしか見ていないけど、Office連携とかこのエディションならではの機能分が追加されているだけで、基本機能の部分は特に提供内容が変わるわけではなさそう。とは思うけど一度きちんと付き合わせておかないとね。検証してないことは断言できないので。
これは初期提供であって、今後MSや個人から追加提供される、サードパーティからスニペット集が発売される、サードーパーティ製ライブラリやらコンポーネントやらにセオリー集として付加されるなどの用途が考えられるか。
「右クリックメニューから選択」と「ショートカット+Tab」の2種類の方法で呼び出せるんだけど、IDEとMSDNLibのどちらにも、どこにもショートカットと内容のリストがない。
β1の時のどこぞの誰ぞの文章では、「スニペットごとに詳細なヘルプが用意されている」とのことだったんだけれども見あたらず。ないのか、あるいはこれから追加で提供予定なのか。
ExpとTSでは右クリックメニューで表示される項目が違う。
TSはSnippetIndex.xmlのLocalizedNameが表示される(未検証)んだけれども、Expはフォルダ名が直接表示される(未検証)ようだ。
SnippetEditorは、スニペットのありかを、本家VBのレジストリから抽出する。だけならいいけど、SnippetEditorで追加したフォルダは本家VBに反映し返すべくレジストリに書き込みに行く。
VBはレジストリに追加されるとスニペットデータの再構成(?どうもインデックスかバッファリングを持っているっぽい)を行うので、その後SnippetEditor側で追加フォルダを削除してもVBには残る。
VBで参照しないようにするにはIDEのスニペットマネージャで削除する必要がある。
もっともレジストリから当該フォルダの参照を削除して再構成するだけなので、フォルダ及びその中のファイルは無事。初めてこの操作を行った時は、フォルダそのものが消えるかと思ってどっきどき。バックアップ取ってからおそるおそる。
1台のマシンにExpとTSの両方を入れておくと、SnippetEditorはExp側しか表示しない。ソースも同時に配布されているので入手、中を見てみると、起動時初期値はVB2005のレジストリ位置を持っておりExpのレジストリがあったらそっちに上書きする、という構造になっていた。
両方を提示する、という仕組みにすることも難しくはなさそうなんだけれども…ExpとTSの両方をインストールするという使い方は想定外なのか。
ちなみにSnippetEditorの内部ではC++やC#用の定数も持っていた。将来的には「VS Snippet Editor」にするつもりなのかしら。
SnippetEditorの主目的は面倒なXMLタグからの解放にあると考えるのが妥当か。MSDNLibでもけっこうな量でスニペット用のタグの説明を行っている。このへんを考慮しなくていいだけでもかなり作成/修正作業が楽になる。
また、コードの簡単な文法チェッカがついているのもありがたい。どのへんまでの信頼性とか使い物度とかは後日実際にスニペット作ったりソース追っかけたりしての検証要。
SnippyもSnippetEditorとほぼ同コンセプト。
VBレジストリからフォルダ情報を引っこ抜かないので、ファイル決め打ちでLoadかけなきゃならないめんどくささと、SnippetEditorが各種情報を4つのタブに展開していて視認性が悪いのに対してこちらはでかい画面で一度に表示される見やすさがキモか。またこちらはC++/C#用スニペットの編集も可能。
Sunippet Compilerはまだ起動していない。もともとコンパイルするような代物ではないはずなんだが…XMLタグの付加を指してCompilerと言っているのか、文法チェッカ機能のことを指して言っているのか。
とりあえずここまで。
もう少しひねりがないとコンテンツとしてはつまらないかなあ。