プログラムの清書

C、C++専用の機能です。
選択した行の、プログラムを清書します。
また変更した個所を別ウィンドウに表示します。

プログラムの清書するには 

1.プログラムの清書したい行を選択します。

2.[編集] メニューの [プログラムの清書] をクリックします。

例
int hijklmn(void)
{
	if ((ret = abc(param, &vlst))== -1)
		return ret;
	else if (ret == -2) 
		return ret;

	do
	{
		if (lst->address != 0)
			/* abcdefg */
			address = lst->address;
		switch (ccc)
		{
			case 'A':
				aaa = 1;
				break;
		}
		for (i = 0; i < 10; i++) sum += 1;
		
	} while (aaa != NULL);

	while (a = b)
	{
		abc = 1;
		if (abc == 1) break;
		if ((ret = abc(param, &vlst))== -1) 
			if (aaa == bbb) ccc = *(unsigned short *)ddd;
		else if (aaa == ccc) bbb = *(unsigned short *)ddd;
		  
		if ((aaa & 0x0123)==0x0100)	return (5); /* abc */
		else 						return (2); /* def */
	}
	return 1;
}


	↓

int hijklmn(void)
{
	if ((ret = abc(param, &vlst))== -1) {
		return (ret);
	}
	else if (ret == -2) {
		return (ret);
	}

	do {
		if (lst->address != 0) {
			/* abcdefg */
			address = lst->address;
		}
		switch (ccc) {
			case 'A':
				aaa = 1;
				break;
		}
		for (i = 0; i < 10; i++) {
			sum += 1;
		}
		
	} while (aaa != NULL);

	while (a = b) {
		abc = 1;
		if (abc == 1) {
			break;
		}
		if ((ret = abc(param, &vlst))== -1) {
			if (aaa == bbb) {
				ccc = *(unsigned short *)ddd;
			}
		}
		else if (aaa == ccc) {
			bbb = *(unsigned short *)ddd;
		}
		  
		if ((aaa & 0x0123)==0x0100) {
			return (5); /* abc */
		}
		else {
			return (2); /* def */
		}
	}
	return (1);
}


結果表示例
C:\ToolSoft\ToolEdit\TestData\sampl01.c(127): 	if ((ret = abc(param, &vlst))== -1)
C:\ToolSoft\ToolEdit\TestData\sampl01.c(128): 		return ret;
C:\ToolSoft\ToolEdit\TestData\sampl01.c(130): 	else if (ret == -2) 
C:\ToolSoft\ToolEdit\TestData\sampl01.c(131): 		return ret;
C:\ToolSoft\ToolEdit\TestData\sampl01.c(134): 	do
C:\ToolSoft\ToolEdit\TestData\sampl01.c(135): 		if (lst->address != 0)
C:\ToolSoft\ToolEdit\TestData\sampl01.c(139): 		switch (ccc)
C:\ToolSoft\ToolEdit\TestData\sampl01.c(144): 		for (i = 0; i < 10; i++) sum += 1;
C:\ToolSoft\ToolEdit\TestData\sampl01.c(150): 	while (a = b)
C:\ToolSoft\ToolEdit\TestData\sampl01.c(152): 		if (abc == 1) break;
C:\ToolSoft\ToolEdit\TestData\sampl01.c(155): 		if ((ret = abc(param, &vlst))== -1) 
C:\ToolSoft\ToolEdit\TestData\sampl01.c(156): 			if (aaa == bbb) ccc = *(unsigned short *)ddd;
C:\ToolSoft\ToolEdit\TestData\sampl01.c(160): 		else if (aaa == ccc) bbb = *(unsigned short *)ddd;
C:\ToolSoft\ToolEdit\TestData\sampl01.c(164): 		if ((aaa & 0x0123)==0x0100)	return (5); /* abc */
C:\ToolSoft\ToolEdit\TestData\sampl01.c(167): 		else 						return (2); /* def */
C:\ToolSoft\ToolEdit\TestData\sampl01.c(171): 	return 1;


補足
タグジャンプ
出力結果の行をダブルクリックすることにより、
出力に含まれるファイルパスと行番号からジャンプします。


制限
1.下記のように1列目の中カッコは清書対象外です。
	if (lst->address != 0)
{
	
2.「if,whileブロックで実行文が一行の場合でも、中カッコを入れる。」設定の場合でも
下記のようにifと同じ行に最後の')'がない場合は中カッコを入れません。
    if (aaa != 0 ||
    bbb == 0)
        ccc = 1;