grep機能No.20811
さん 06/02/02 16:34
 
こんにちは。

プログラムのソースのgrepに秀丸エディタを利用しています。

grep(や検索)で、コメント行を検索対象外にする機能を追加して頂くととても便利
です。
例:SQL:--の行コメントや/*〜*/のブロックコメント
  VB:'(シングルコーテーション)
  Java://や/*〜*/のブロックコメント

ExamDiff Proのベータ版(まともに動きませんでしたが)のように指定できると良い
のですが。。。

ご検討よろしくお願いいたします。

[ ]
RE:20811 grep機能No.20814
秀丸担当 さん 06/02/03 09:12
 

>プログラムのソースのgrepに秀丸エディタを利用しています。
>
>grep(や検索)で、コメント行を検索対象外にする機能を追加して頂くととても便利
>です。
>例:SQL:--の行コメントや/*〜*/のブロックコメント
>  VB:'(シングルコーテーション)
>  Java://や/*〜*/のブロックコメント

grepではなく検索であれば、マクロを使ってある程度やることができます。
下候補でコメントを対象外にする場合は以下のような漢字のマクロを実行するこ
とでできます。

if( (searchoption & 0x04) != 0 ) {
 endmacro;
}
finddown;
while( (colorcode & 0x1f) == 3 ) {
 finddown;
 if( result == false ) break;
}

ただし[その他]→[ファイルタイプ別の設定]→[表示とカラー]→[モード]で、各
種言語が適切なものが指定されていて、コメント部分がコメント色になっている
必要があります。
grepの場合はできませんが、今後の開発のネタとして考えたいと思います。

[ ]
RE:20814 grep機能No.20820
さん 06/02/03 12:14
 
ご担当者様

ご提示していただいたマクロで検索ができました!
ありがとうございます!

>grepの場合はできませんが、今後の開発のネタとして考えたいと思います。
むしろgrepの時にこの機能があるとうれしいです。
コーディング規約で修正前のコードをできるだけコメント行に残すことに
なっていることが多く、grepした時に大量のコメント行が検索されてしまいます。
特に、/* 〜 */で囲んだブロックコメントや、VBでのアンダースコアで
つなげた複数行のコメントは中のソースを開かないとわかりません。

期待していますので、よろしくお願いいたします。

[ ]
RE:20820 grep機能No.20826
いいじま さん 06/02/04 00:19
 
いいじまです。

>>grepの場合はできませんが、今後の開発のネタとして考えたいと思います。
>
> むしろgrepの時にこの機能があるとうれしいです。

行コメントであれば、外部の grep プログラムを利用して、
grep 目的の単語 ファイル名 | grep -v ^// > con
とでもするのがいいと思います。

> 特に、/* 〜 */で囲んだブロックコメントや、VBでのアンダースコアで
> つなげた複数行のコメントは中のソースを開かないとわかりません。

これは一般的な grep プログラムの想定外です。
プリプロセッサのようなものを自作しないとだめでしょう。

余談ですが、使わないコードをコメントアウトするのに /* 〜 */ はご法度ですよ。
コメントアウトした中に、コメントとしての /* 〜 */ があると文法的におかしくな
ります。
#if 0 〜 #endif とか、if(0==1) { ... } とかを使うのが鉄則です。

[ ]
RE:20814 grep機能No.21888
さん 06/10/04 22:32
 
ずいぶん昔の投稿で申し訳ないのですが。。。

Version6より、複数行コメントの設定ができるようになったんですね。
「grep(や検索)で、コメント行を検索対象外にする機能」
を追加していただけるとうれしいのですが、いかがでしょうか?

[ ]
RE:20826 grep機能No.21889
さん 06/10/04 22:37
 
いいじまさん
今頃ご返信に気づきました。申し訳ございません。

>これは一般的な grep プログラムの想定外です。
>プリプロセッサのようなものを自作しないとだめでしょう。

秀丸のGrep機能が便利なので、ついつい期待してしまいます。

>
>余談ですが、使わないコードをコメントアウトするのに /* 〜 */ はご法度ですよ。
>コメントアウトした中に、コメントとしての /* 〜 */ があると文法的におかしく
>なります。
>#if 0 〜 #endif とか、if(0==1) { ... } とかを使うのが鉄則です。

それはそうなのですが、他の人が書いたコメントなどがあるのでなかなか
消せないのが現状です。

とても遅くなりましたが、ありがとうございました。

[ ]
RE:21888 grep機能No.21895
秀丸担当 さん 06/10/05 11:42
 

>Version6より、複数行コメントの設定ができるようになったんですね。
>「grep(や検索)で、コメント行を検索対象外にする機能」
>を追加していただけるとうれしいのですが、いかがでしょうか?

grepは基本的に秀丸エディタ本体の強調表示などとは無関係に動いていて、いま
のところは無理です。
ただ検索で検索対象を決める機能の追加したり、grepして置換する機能がネタと
してありますが、それらの実現によってはgrepで強調表示を検索対象としたりし
なかったりできるようになる可能性があります。

[ ]
RE:21895 grep機能No.21918
さん 06/10/06 15:37
 
ご担当者様
早速のご回答ありがとうございました。

grepでは現在のところは無理とのこと、了解致しました。
強調文字を検索対象としたりしなかったりができるようになることを
期待しています。

ありがとうございました。

[ ]