【要望】関数一覧No.24285
sugar さん 08/01/15 11:36
 
お世話になっております。
Version7.07を利用させていただいております。

さて、C言語の以下の一文(…記述方法の理由はさておき)ですが、関数一覧では、fun
cBだけが一覧表示されます。
------------------------------
#define XXXX

#ifdef XXXX
void funcA(void)
#else
void funcB(void)
#endif /* XXXX */
{
   …
}
------------------------------

要望として、ifdefのカラー表示などの条件を追加して、現在、defineで有効となっ
ているfuncAを関数一覧に表示することは可能でしょうか?

もしくは、代替機能(方法)があればご教授を頂きたいです。
(記述方法を変更するしかないでしょうか?)

以上、よろしくお願いします。

[ ]
RE:24285 【要望】関数一覧No.24289
秀丸担当 さん 08/01/15 12:45
 

>要望として、ifdefのカラー表示などの条件を追加して、現在、defineで有効となっ
>ているfuncAを関数一覧に表示することは可能でしょうか?
>
>もしくは、代替機能(方法)があればご教授を頂きたいです。
>(記述方法を変更するしかないでしょうか?)

確かにこの書き方では、funcAを関数一覧にすることができないようです。

一応、行の強調表示が設定されていれば、アウトライン解析の方法を強調一覧に
すると両方表示されます。
両方だと意味が無いかもしれないですが。


関数一覧でも以下のように書くと両方表示されます。
#ifdef XXXX
void funcA(void){
#else
void funcB(void){
#endif /* XXXX */


ツリー表示で、見出しを追加して、「オプション(O)>>」を開くと、「コメント
を無視」というのがあります。
これをONにした見出しは、コメントと#ifdef等の無効部分の色は無視するように
なります。
これを使うとfuncAだけを表示させることが可能になります。

見出しの定義で、
「種類」は「文字列」
「文字列」は
^[_a-zA-Z][^\(=;:]*[ \t]+[_a-zA-Z][_a-zA-Z0-9]*\([^;]*$
「大文字小文字の区別」はOFF
「単語の検索」はOFF
「正規表現」はON
としてオプションの「コメントを無視」もONにしておくとできます。

これと同じようにC-function.hilightにある行の強調表示のものを4つ作れば一
応できることになります。


見出しの定義が「関数」または「強調表示」の場合は「コメントを無視」ができ
ません。
「関数」の場合は修正がややこしいですが、「強調表示」の場合は「文字列」の
ときと同様にコメントを無視できるようにしたほうがいいかもしれません。

[ ]