マクロ集 / コメントアウトマクロ


マクロ集

コメントアウト支援マクロ

Commentoutマクロ

トライ&エラーのお供に・・・

使用方法

コメントアウト支援(Commentout)

foo|
bar
// すでにコメントアウトしてある行は解除される

3回実行後

// foo
// bar
すでにコメントアウトしてある行は解除される
|

コピーしてコメントアウト(Commentout.commentoutAndCopy?)

  if(exp){

実行後

// if(exp){
|if(exp){

推奨キーアサイン

Commentout

^/

Commentout.commentoutAndCopy?

^%/

コード

Commentout

#include <windows.h>

mchar *getcomment(mchar *ext)
{
		// 拡張子に対応するコメントを返す
		if(stristr(".rb/.pl", ext)) return "#";
		if(stristr(".log/.ini", ext)) return ";";
		if(stristr(".bat",ext)) return "rem";
		return "//";
}

commentoutAndCopy
{
	mchar *cmt = getcomment(pathGetExt(text->szfilename));
	txstr line; getpara(line);

	if(strncmp(line, cmt, strlen(cmt))==0)
		return;
	
	jumplinetop;
	insert(cmt+line+"\n");
}

// その行のみをコメント化・コメント解除する
commentout
{
	mchar *cmt = getcomment(pathGetExt(text->szfilename));
	txstr line; getpara(line);

	jumplinetop;
	if(strncmp(line, cmt, strlen(cmt))==0)
	{
		for(int i=0; i<strlen(cmt); i++)
			deletechar;
		if(getchar==' ')
			deletechar;
	}
	else
		insert(cmt+" ");
	nextpara;
}

main
{
	if(text->fClip)
	{
		walkstart;
		while(iswalking)
			commentout(text);
		walkend;
	}
	else
		commentout(text);
}

この記事は役に立ちましたか?

選択肢 投票
とても役に立った 4  
役に立った 2  
どちらともいえない 0  
あまり役に立たなかった 0  
役に立たなかった 2  

  • 選択範囲を/*でコメントアウト、解除するものがほしいかも -- 2005-05-09 21:33:08 (月)
    • 作ってみたけど正直使いづらい。範囲選択する手間で/* */入力した方が速いし。 -- 2005-06-10 01:17:59 (金)