CS+ではなくHEWを使っています。
CS+の方が新しいでしょうから状況は異なるかもしれませんが、同じルネサスということでとりあえず回答しておきます。
他の回答にもあるようにコンパイルのオプションで出力するリストが選択できました。
例えばこんなコードをコンパイルすると、
c
1//#define DEBUG
2#define NUM 999
3
4void test(void)
5{
6#ifdef DEBUG
7 printf("debug\n");
8#endif
9 printf("%d\n", NUM);
10}
こんなのが出ます。
c
1SH SERIES C/C++ Compiler (V.9.04.01.002) 03-Oct-2018 15:01:08 PAGE 1
2
3************ SOURCE LISTING ************
4
5FILE NAME: test.c
6
7 Seq File Line 0----+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+-
8 1 test.c 1 //#define DEBUG
9 2 test.c 2 #define NUM 999
10 3 test.c 3
11 4 test.c 4 void test(void)
12 5 test.c 5 {
13 6 test.c 6 #ifdef DEBUG
14 7 test.c 7 X printf("debug\n");
15 8 test.c 8 #endif
16 9 test.c 9 E printf("%d\n", 999);
17 10 test.c 10 }
7行目にXがついていてこの行は実行しないというのはわかりますが、お望みの行自体を削除することはできないようです。
またマクロも展開して出力されるので、9行目のNUMを999に置き換えられてしまい、コードを解読するという意味ではわかりづらいものになってしまいます。
やはりエディタで無効部分は色を薄くしたり折りたたむなどするほうが現実的かと思います。
上記はSHコンパイラの例ですので、RXコンパイラでどうなるかはわかりません。
もう少し見てみたら、プリプロセッサが展開したものを出力することができました。
こんなのになります。
c
1#line 1 "test.c"
2
3
4
5void test(void)
6{
7
8
9
10 printf("%d\n", 999);
11}
お望みどおり実行されない行は削除されましたが、NUMは999に置き換えられてしまいますね。当然ですが。
これでよしとするかどうかはご判断ください。