[C#] Visual Studio TODO 만들기

.Net/C# 2013. 1. 30. 13:56

 

 

출력창에 위와같이 출력이 된다.

해당 라인을 더블클릭 하면은

 

 

실제 소스페이지의 라인으로 이동한다.

using System;

namespace KIS.Util
{
    /// <summary>
    /// 디버깅을 도와주는 유틸 클래스
    /// </summary>
    public static class MyDebug
    {
        /// <summary>
        /// 현재까지 스택트레이스를 출력한다.
        /// </summary>
        public static void GetStackTrace()
        {
            System.Diagnostics.Debug.Write(Environment.StackTrace);
        }

        /// <summary>
        /// 콘솔에 스트릴을 출력한다.
        /// </summary>
        /// <param name="format"></param>
        /// <param name="args"></param>
        public static void PrintConsole(string format, params object[] args)
        {
            string msg = string.Format(format, args);
            System.Console.Write(msg);
        }

        /// <summary>
        /// 현재 파일 이름
        /// </summary>
        public static string CurrentFile
        {
            get
            {
                return new System.Diagnostics.StackTrace(true).GetFrame(1).GetFileName();           
            }
        }

        /// <summary>
        /// 현재 파일의 라인번호
        /// </summary>
        public static int CurrentLine
        {
            get
            {
                return new System.Diagnostics.StackTrace(true).GetFrame(1).GetFileLineNumber();
            }
        }


        public static void TODO(string format, params object[] args)
        {
            string file_name    = new System.Diagnostics.StackTrace(true).GetFrame(1).GetFileName();
            int    file_number  = new System.Diagnostics.StackTrace(true).GetFrame(1).GetFileLineNumber();
            string msg  = string.Format(format, args);
            string todo = string.Format("{0}({1}) : {2}", file_name, file_number, msg);
            System.Console.WriteLine(todo);
        }
    }
}

'.Net > C#' 카테고리의 다른 글

[C#] XML Serialize Tutorial  (0) 2013.05.08
[C#] Mutex를 통한 다중 인스턴스 실행방지  (0) 2013.02.08
[C#] Form close와 Dispose  (0) 2013.01.28
[C#] 정적 생성자 (static 멤버 초기화)  (0) 2013.01.15
[C#] Assemble.load  (0) 2013.01.15
posted by 뚱2

링크 : http://taranakite.blog.me/100155110924 


posted by 뚱2
Visual Studio에서는 매크로를 이용해서 TODO 기능을 만들수 있다.
빌드시 메세지를 출력하게 하고 메세지를 클릭하면 그 소스코드로 점프하는 기능이다.
이게 참 유용한데 나중에 작업해야 하는 것들을 빌드할때 마다 보고 나중에 수정함으로
차후 오류를 줄일수 있는 것이다.

이런 비슷한 기능이 이클립스에서는 Tasks이다.
주석을 달때 //FIXME, //TODO로 달면은 이클립스가 인식해서
자동으로 Tasks에 등록된다.

개발 초기단에게 공통부분이 다 정해지지 않았거나 프로토타입을 우선 만들고 나중에
수정해야 하는경우 흔이 나중에 할려다가 잊고 릴리즈 하는 경우가 생기는데
Tasks 등록시켜 놓고 나중에 정리하면 유용하다.
posted by 뚱2

#pragma message

C/C++/VC++ / MFC 2011. 2. 25. 13:15
참 재미있는 기능입니다.
이걸로 TODO를 만들면 VC++에서 점프가 가능합니다.


위와 같이 Output 창에서 해당 라인을 더블클릭하면 실제 소스로 이동합니다.

// with line number
#define STRING2(x) #x
#define STRING(x) STRING2(x)
#define TODO(x) message(__FILE__"("STRING(__LINE__)") : ▶"x"◀")


사용할때는
// Used
#pragma TODO("테스트")


이렇게 사용하시면 됩니다.
posted by 뚱2