English help on website



#ifdef等のカラー表示(Ver9.34対応版)
目次ファイルタイプ別の設定デザイン複数行コメント− #ifdef等のカラー表示
 「メニュー(E)>>」から「hilightファイル直接指定モード(#ifdef等の詳細)」を選んでいる場合は、hilightファイルを直接参照します。
 hilightファイルは、[ファイルタイプ別の設定]→[デザイン]→[強調表示]で「ユーザー定義」を選び、ここでも「hilightファイル直接指定モード」を有効にして指定します。


 複数行コメントの「言語」を「C言語/Java」にしたときのプロパティで、「詳細」ボタンを押したときにこのダイアログが出ます。

 C言語のディレクティブ #ifdef #ifndef #if 〜 #endif で囲まれた範囲をカラー化できます。
 有効にする値か無効にする値のいずれかに記述することよって、カラー化できます。どちらにも書かないと、カラー化されません。
 いずれも複数行で記述することで複数の指定ができます。
 カラーは、無効部分の色だけを指定できます。有効部分は、通常の色です。
 無効部分の色は、[その他]→[ファイルタイプ別の設定]→[デザイン]の中の、「#ifdef等での無効部分」で色を指定してください。
 #ifの式の指定は、秀丸エディタは式の評価をしているわけではなく、文字列が一致しているかどうかだけで判断しています。
 なので、(WINVER>=0x0400)と書いた場合、(WINVER>=0x00000400)には一致しないので判断できません。

 先頭に「//all」と書いておくと、全てヒットするようになります。無効にする内容のほうに「//all」と書いておけば、有効を指定するだけで、有効でないもの以外は無効という感じに指定できます。

 先頭に「//color:1」という感じで書いておくと、ヒットした文字そのものを強調表示できます。
 数値は、1〜8が強調表示1〜8、9〜12が特に強調1〜4になります。
 強調表示を指定すると計算が遅くなってしまうので注意してください。
#ifdefで有効にする#define値
 ここにHOGEHOGEと書くと、以下のようになります。


#ifdef HOGEHOGE 通常色 #endif
#ifndef HOGEHOGE 無効色 #endif
#ifdef HOGEHOGE 通常色 #else 無効色 #endif
#ifndef HOGEHOGE 無効色 #else 通常色 #endif

#ifdefで無効にする#define値
 ここにHOGEHOGEと書くと、以下のようになります。


#ifdef HOGEHOGE 無効色 #endif
#ifndef HOGEHOGE 通常色 #endif
#ifdef HOGEHOGE 無効色 #else 通常色 #endif
#ifndef HOGEHOGE 通常色 #else 無効色 #endif

#ifで有効にする式の内容
ここに(WINVER >= 0x0400)と書くと、以下のようになります。


#if(WINVER >= 0x0400) 通常色 #endif
#if(WINVER >= 0x0400) 通常色 #else 無効色 #endif

#ifで無効にする式の内容
ここに(WINVER >= 0x0400)と書くと、以下のようになります。


#if(WINVER >= 0x0400) 無効色 #endif
#if(WINVER >= 0x0400) 無効色 #else 通常色 #endif

補足
どこにも何も書かなくても、#if 0 は無効色になります。


#if 0 無効色 #endif
入れ子にも対応しています。


#if 0 #ifdef HOGEHOGE 無効色 #else 無効色 #endif #else #ifdef HOGEHOGE 通常色 #else 無効色 #endif #endif