티스토리 뷰

728x90

프로젝트 초기부터 프로젝트에 대한 코딩 가이드가 작성되어 그 속에 포함된 라이선스 헤더를 소스코드마다 붙여왔다면 문제가 될 것이 없지만 코딩이 거의 완료된 시점에 코드마다 라이선스 헤더를 붙여야 한다면 작업이 귀찮기도 하지만 코드 전체를 일일이 열어서 붙여넣기 해야하는 짜증나는 작업일 수 있습니다.

지루할 수 있는 라이선스 헤더 붙이기를 간편하게 일괄로 붙일 수 있는 "License Header Manager"라는 비주얼스튜디오 플러그인이 있습니다. 물론 무료입니다. 필자의 경우 비주얼스튜디오 2010으로 테스트했는데 문제없이 잘 동작했습니다. 2010부터 2015까지 모두 지원하니 간편하게 설치해서 사용할 수 있습니다.


다운로드 및 설치는 비주얼스튜디오 내부에서 간편하게 할 수 있습니다. 도구>확장 관리자 메뉴에서 "온라인 갤러리"를 선택한 다음 위의 그림과 같이 검색창에 "License Header Manager"를 검색하여 [다운로드]를 클릭하면 됩니다.


다운로드가 끝나면 자동으로 설치를 시작하는데 위와 같은 화면이 나오면 [설치]를 클릭합니다.


설치가 끝나면 위와 같이 비주얼스튜디오 재시작을 안내합니다. [지금 다시 시작] 버튼을 클릭합니다.


비주얼스튜디오를 재시작했으면 도구>옵션 메뉴를 통해서 각 소스 코드 마다 적용할 기본 라이선스 헤더에 관한 설정을 수행합니다. 적용한 다음부터 새로운 파일이 추가될 때 자동적으로 라이선스 헤더를 삽입하도록 "Automatically...." 옵션을 체크합니다.


"Default Header"에 표시되는 것이 각 파일 확장자별로 자동 삽입할 라이선스 헤더로 "extensions:" 에 이어서 대상 파일 확장자를 기술하고 그 다음 줄부터 다른 "extensions:"이 나올때 까지 해당 파일 확장자별 라이선스 헤더를 기술합니다. 위의 예제의 경우 확장자가 ".vb"로 끝나면 'Sample license test.를 소스에 삽입합니다. 수정하려면 하단의 [Edit...]버튼을 클릭합니다.


위의 화면은 기본 라이선스 편집 화면으로 *.cs, *.cpp, *.h 파일 확장자에 대해서 라이선스 헤더용 주석을 삽입한 예제입니다. 솔루션이나 프로젝트에 있는 다른 파일에 영향이 없도록 꼭 필요한 파일들에만 적용하고 나머지 확장자에 대한 기술은 삭제합니다. 

extensions: .cs .cpp .h .Designer.cs .Generated.cs
//    YARABACode
//    Copyright (c) 2015 yaraba system CO.,LTD. 
//    http://www.dongwun.com 
// 
//    This file is part of YARABACode 
// 
//    YARABACode is free software: you can redistribute it and/or modify 
//    it under the terms of the GNU General Public License as published by 
//    the Free Software Foundation, either version 3 of the License, or 
//    (at your option) any later version. 
// 
//    YARABACode is distributed in the hope that it will be useful, 
//    but WITHOUT ANY WARRANTY; without even the implied warranty of 
//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
//    GNU General Public License for more details. 
// 
//    You should have received a copy of the GNU General Public License 
//    along with YARABACode.  If not, see http://www.gnu.org/licenses/

위의 스크립트는 C# 솔루션에 일괄적으로 라이선스 헤더를 적용하기 위한 필자의 GPL 라이선스 헤더입니다.


기본 라이선스 헤더를 준비했으면 각 프로젝트의 컨텍스트 메뉴(프로젝트를 우측 마우스로 클릭)>License Headers>Add New License Header Definition File을 선택합니다. 메뉴를 선택하면 앞서 등록해 놓았던 기본 라이선스 헤더를 가지고 해당 프로젝트에 "프로젝트이름.licenseheader"라는 파일을 생성합니다. 각 프로젝트 단위로 라이선스 헤더를 지정하므로 솔루션이 여러 프로젝트로 구성되어 있는 경우에는 각 프로젝트 단위로 파일을 생성합니다.


특정 소스코드의 컨텍스트 메뉴>License Headers>Add License Header를 선택하여 입력한 라이선스 헤더가 해당 파일의 상단에 정상적으로 적용되는지 확인합니다.


위의 그림처럼 정상적으로 코드에 라이선스 헤더가 삽입되면 각 프로젝트 별로 프로젝트의 컨텍스트 메뉴(프로젝트를 우측 마우스로 클릭)>License Headers>Add License Headers to All Files 메뉴를 통해서 프로젝트에 속한 모든 파일에 대해서 라이선스 헤더를 일괄 적용합니다.

안전하고 편리한 작업이지만 일괄 적용 과정은 취소(Undo)를 지원하지 않으므로 백업을 하시거나 코드 형상 관리 체계에서 수행해야 합니다.

728x90
댓글
최근에 올라온 글
최근에 달린 댓글
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함