블로그에 정말 가끔씩 소스코드를 올릴때가 있습니다.

그때마다 빌드툴에서 긁어붙이기를 하면 지저분해서 속이 상하는데요..

바로 이렇게 됩니다. 그냥 긁어붙일경우...  아주 너저분합니다.

 void CXButtonXPTestDlg::OnButton2()
{
 TRACE(_T("in CXButtonXPTestDlg::OnButton2\n"));

 UpdateData(TRUE);

 CString str = _T("");
 m_edtCount2.GetWindowText(str);
 int nCount = _ttoi(str);
 if (nCount < 0)
  nCount = 0;
 nCount++;
 str.Format(_T("%d"), nCount);
 m_edtCount2.SetWindowText(str);

 BOOL bToggled = m_XButtonXP.GetToggleState();
 TRACE(_T("toggle state=%d\n"), bToggled);

 if (m_bMessageBox)
  AfxMessageBox(_T("Button 2 pressed."), MB_OK|MB_ICONINFORMATION);
}


이런 너저분함을 없애기 위해서 몇군데 찾아봤습니다.

첫번째로 http://codepad.org/  입니다. 사이트상에는 글자에 색깔도 이쁘게 입혀지는데 긁어붙이니 그렇지 않네요.

 
void CXButtonXPTestDlg::OnButton2() 
{
	TRACE(_T("in CXButtonXPTestDlg::OnButton2\n"));

	UpdateData(TRUE);

	CString str = _T("");
	m_edtCount2.GetWindowText(str);
	int nCount = _ttoi(str);
	if (nCount < 0)
		nCount = 0;
	nCount++;
	str.Format(_T("%d"), nCount);
	m_edtCount2.SetWindowText(str);

	BOOL bToggled = m_XButtonXP.GetToggleState();
	TRACE(_T("toggle state=%d\n"), bToggled);

	if (m_bMessageBox)
		AfxMessageBox(_T("Button 2 pressed."), MB_OK|MB_ICONINFORMATION);
}



그리고 두번째로

http://code.google.com/p/syntaxhighlighter/

그런데 쓰기가 좀 불편합니다. 직접 태그를 입력하면 자바스크립트가 알아서 변경시켜주는거죠.

샘플 화면입니다. <== 샘플 화면을 지우고 직접 티스토리 스타일시트를 지정해보았습니다.
http://gyuha.tistory.com/193  <== 세팅법 참고.
 

(티스토리의 스킨을 수정할 경우 소스를 올릴때마다 자동으로 적용되므로 어쩌면 편할 수도 있습니다.



세번째 입니다. 첫번째 처럼 긁어붙이기가 되므로 쓰기 편하네요. 색깔도 예쁘게 잘 나옵니다.
http://quickhighlighter.com/
 
  1. void CXButtonXPTestDlg::OnButton2()
  2. {
  3.     TRACE(_T("in CXButtonXPTestDlg::OnButton2\n"));
  4.  
  5.     UpdateData(TRUE);
  6.  
  7.     CString str = _T("");
  8.     m_edtCount2.GetWindowText(str);
  9.     int nCount = _ttoi(str);
  10.     if (nCount < 0)
  11.         nCount = 0;
  12.     nCount++;
  13.     str.Format(_T("%d"), nCount);
  14.     m_edtCount2.SetWindowText(str);
  15.  
  16.     BOOL bToggled = m_XButtonXP.GetToggleState();
  17.     TRACE(_T("toggle state=%d\n"), bToggled);
  18.  
  19.     if (m_bMessageBox)
  20.         AfxMessageBox(_T("Button 2 pressed."), MB_OK|MB_ICONINFORMATION);
  21. }


마지막으로 http://www.chamisplace.com/colorizer/cc.asp 

이 사이트는 괄호가 인상적이네요. 큼지막 합니다.

 1: void CXButtonXPTestDlg::OnButton2()
2: //=============================================================================
3:
{
4: TRACE(_T("in CXButtonXPTestDlg::OnButton2\n"));
5:
6: UpdateData(TRUE);
7:
8: CString str = _T("");
9: m_edtCount2.GetWindowText(str);
10: int nCount = _ttoi(str);
11: if (nCount < 0)
12: nCount = 0;
13: nCount++;
14: str.Format(_T("%d"), nCount);
15: m_edtCount2.SetWindowText(str);
16:
17: BOOL bToggled = m_XButtonXP.GetToggleState();
18: TRACE(_T("toggle state=%d\n"), bToggled);
19:
20: if (m_bMessageBox)
21: AfxMessageBox(_T("Button 2 pressed."), MB_OK|MB_ICONINFORMATION);
22: }



각각 장단점이 있습니다. 취향에 맞게 선택하시면 되겠네요.

+ Recent posts