Microsoft MVP성태의 닷넷 이야기
VS.NET IDE: 96. Visual Studio에서 /* ~ */ 주석을 위한 단축키(매크로) [링크 복사], [링크+제목 복사],
조회: 34556
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

Visual Studio에서 /* ~ */ 주석을 위한 단축키(매크로)

다음과 같은 질문이 있습니다.

C#에서 범위로 주석을 다는 /* ~ */종류의 주석은 따로 단축키가 유무 문의 드립니다? 보이지가 않습니다.
; https://social.msdn.microsoft.com/Forums/ko-KR/18d2922d-e452-4376-822a-dc4df3c6b12e/c-?forum=dotnetko

예전에도 한번 이와 유사한 질문을 받았던 기억이 나는데... 그래서 이참에 아예 글로 정리해 봅니다.

일단, 현재 Visual Studio의 공식 단축키는 없습니다. 대신 매크로를 이용하시면 됩니다. Visual Studio 2012 이상의 환경에서 매크로 사용법은 다음의 글에 정리해 두었으니 참고하시고,

Visual Studio 2012/2013에서의 매크로 구현 - Visual Commander
; https://www.sysnet.pe.kr/2/0/1767

Macros for Visual Studio 2013
; https://www.sysnet.pe.kr/2/0/1817

여기서는 간단하게 Visual Studio 2013에서 "Macros for Visual Studio 2013" 도구로 구현하는 방법을 살펴보겠습니다.

가장 중요한 매크로 구현 코드는 다음과 같습니다.

if (dte.ActiveDocument == null) {
}
else {
    var selection = dte.ActiveDocument.Selection;
    selection.Mode = 0;

    var startPoint = selection.BottomPoint.CreateEditPoint();
    var endPoint = selection.TopPoint.CreateEditPoint();

    var firstPos = endPoint.AbsoluteCharOffset;

    var text = selection.Text;
    var startPos = text.indexOf("/*");

    dte.UndoContext.Open("SetCommentArea");
    try {
        if (startPos != -1) {
            text = text.replace(/\/\*/g, "");
            text = text.replace(/\*\//g, "");
            endPoint.ReplaceText(startPoint, text, 1);
        }
        else {
            endPoint.ReplaceText(startPoint, "/*" + text + "*/", 1);
            var lastPos = selection.BottomPoint.AbsoluteCharOffset;
            selection.MoveToAbsoluteOffset(firstPos, false);
            selection.MoveToAbsoluteOffset(lastPos, true);
        }
    }
    finally
    {
        dte.UndoContext.Close();
    }
}

제 경우에 이 매크로의 이름을 "ToggleComment"라고 했으며, "Macros for Visual Studio 2013" 도구에서는 단축키를 Ctrl + M, 1 부터 Ctrl + M, 9까지 할당할 수 있으니 원하는 것을 쓰시면 됩니다. (참고로, 좀 더 자유로운 단축키를 원하신다면 "Visual Commander" 도구를 사용해야 합니다.)

이 정도면... 그런대로~~~! ^^




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 7/10/2021]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 181  [182]  183  184  185  186  187  188  189  190  191  192  193  194  195  ...
NoWriterDateCnt.TitleFile(s)
493정성태5/26/200728355오류 유형: 34. Windows Server 2008 : CA 인증서 발급 실패
492정성태5/23/200727846.NET Framework: 89. ManagedThreadId - 두 번째 이야기 [5]파일 다운로드1
491정성태5/21/200728087.NET Framework: 88. ManagedThreadId ? [4]
490정성태5/19/200736884오류 유형: 33. error MSB6003: SxS DLL 로딩 오류 [2]
489정성태5/14/200724638.NET Framework: 87. .NET 2.0에서 C# 3.0 기능 사용하기
488정성태5/14/200722833Windows: 25. Multiple Input Queues
487정성태4/24/200728569VC++: 32. VC++에서 bool이 가지는 의미 [3]
486정성태3/22/200727552Windows: 24. DreamScene과 DWM(Desktop Window Manager)의 관계 [1]
485정성태3/17/200722763오류 유형: 32. VS.NET 2005 - x64 환경에서의 mixed 디버깅 환경 구성
484정성태3/17/200721909오류 유형: 31. SQL Compact Edition 설치 후 오류
483정성태3/17/200743320오류 유형: 30. x64 환경: .NET + COM 프로젝트 실행 시 오류 - 80040154 [2]
482정성태3/17/200732740Team Foundation Server: 17. 팀 프로젝트 접속 및 사용
481정성태3/17/200726674Team Foundation Server: 16. 팀 프로젝트 읽기 전용 사용자 등록
480정성태3/14/200725089.NET Framework: 86. GC(Garbage Collector)의 변화
479정성태3/14/200728835개발 환경 구성: 25. D820 - ReadyBoost 구동
478정성태3/14/200728395개발 환경 구성: 24. D820 고주파음 문제
477정성태3/14/200737794개발 환경 구성: 23. 비스타 x64 버전에서 서명되지 않은 드라이버 사용 [4]
476정성태3/9/200733070개발 환경 구성: 22. D820 노트북 - 설치 및 BitLocker 구성 [1]
475정성태3/6/200727294.NET Framework: 85. 공용 프로퍼티 자동 생성
474정성태3/5/200725448.NET Framework: 84. Lambda 표현식 응용 사례 [1]
473정성태3/4/200732689디버깅 기술: 14. TFS 오류 추적(TF53010, TF14105)
472정성태3/3/200731965디버깅 기술: 13. 예외 발생 시 Minidump 생성 - WinDBG [3]파일 다운로드1
471정성태3/1/200720722디버깅 기술: 12. Managed Method에 Break Point 걸기
469정성태2/28/200732582디버깅 기술: 11. (Managed) Main Method에 Break Point 걸기 [3]파일 다운로드1
470정성태3/1/200723991    답변글 디버깅 기술: 11.1. (Managed) Main Method에 Break Point 걸기 - 내용 보강
468정성태2/25/200733731COM 개체 관련: 20. 탭 브라우저의 윈도우 핸들 구하기 [3]
... 181  [182]  183  184  185  186  187  188  189  190  191  192  193  194  195  ...