C/C++ソース作成支援 C/C++のソースコードを記述するための機能です。まだ、もうしわけ程度の機能しか実装していませんが、 これからだんだん充実してきています。 ■ 予約語の色表示予約語を通常のテキストとは異なる色で表示することが可能です。 設定方法は予約語の色表示を参照。 ■ カッコの対応(showmatch)共通プロパティの編集タブで、『 ){] 入力時:対応するカッコに一時移動』オプションをONにしておくと、 (半角)閉じカッコを入力した瞬間に、対応する開きカッコにカーソルを一時的に移動します。 カッコの対応が間違っていないかどうかがすぐにわかります。 vi モードであれば、:set sm でこのオプションをONにすることができます。 ■ 対応するカッコへの移動カーソルが(半角)カッコにあるときに Ctrl + ] を入力すると、対応するカッコにカーソルを移動します。 ■ 参照入力(abbreviation)英字で始まる英数字、または数字の(半角)文字列の参照入力(英単語の意味は違うが、abbreviation とも呼ばれる)機能を実装した。 この機能はC/C++のソースコードをエディットしている時にほんとに便利で、以下の様な仕様である。
extern void getNthItem(const char *itemList, int ix, CString &item); extern int getItemsCount(const char *itemList); void CViviView::doBlsInput(int next) { get■Ctrl+L を入力すると、"get" をキーにして、検索を行い、getItemsCount をカーソル位置に入力する。 extern void getNthItem(const char *itemList, int ix, CString &item); extern int getItemsCount(const char *itemList); void CViviView::doBlsInput(int next) { getItemsCount■もう一度、Ctrl+L を入力すると、次にマッチする getNthItem に置き換わる。 extern void getNthItem(const char *itemList, int ix, CString &item); extern int getItemsCount(const char *itemList); void CViviView::doBlsInput(int next) { getNthItem■行きすぎた場合は、Ctrl+M で戻ることが出来る。 ■ {, } 自動インデントタイプ別プロパティのレイアウトタブで『{, } 自動インデント』 オプションをONに設定しておくと、(空白類を除いた)行頭で '}' を入力したときに、そのカッコに対応する '{' のある行のインデントに合うように、行頭の空白類を調節します。 たとえば、 if( foo == bar ) { hoge(); ■ という状態で '}' を入力すると、以下の様になります。 if( foo == bar ) { hoge(); }■ また、(コメント類を除く)行末が '{' のときに改行を行うと、インデントを+1します。 if( foo == bar ) {■ 改行を行うと、以下の様になります。 if( foo == bar ) { ■ ■ '#' 入力時の行頭空白類削除タイプ別プロパティのレイアウトタブで『行頭での '#':空白類を削除』オプションをONに設定しておくと、 空白類を除いた行頭で '#' を入力したときに、行のはじめの空白類を削除します。 たとえば、 void f() { if( foo == bar ) { hoge(); ■ という状態で '#' を入力すると、以下の様になります。 void f() { if( foo == bar ) { hoge(); #■ |