CLion - 프로젝트에 파일 추가 시 자동 삽입되는 문구 설정하기

반응형

본 글에서는 JetBrains 사의 C/C++ 개발용 IDE 인 CLion 에서, 프로젝트에 파일 추가 시 자동으로 삽입되는 문구를 설정하는 방법을 설명한다.

 

본 글의 내용을 작성하는데 사용된 환경은 다음과 같다.

 

  • 윈도우즈 10 프로
  • CLion 2019.3.1

 

기본 삽입 문구

CLion IDE에서 프로젝트 내에 특정 유형의 새로운 파일을 생성하여 추가하는 경우, 해당 파일 상단에 사전에 정의된 문구가 자동으로 삽입된다. 이는 CLion에서 제공하는 기능이다.

 

기본 설정 상태에서 *.h 파일을 추가하면 다음과 같은 문구가 파일에 자동 삽입된다.

 

  • test-project 라는 이름의 프로젝트 내에서 test.h 파일을 생성한 결과이다.
  • 사용자 이름과 생성 일자를 포함한 주석이 자동 삽입되며, 프로젝트명과 파일명을 기반으로 한 인클루드 가드가 자동 삽입된다.
//
// Created by h3ngss0 on 2020-02-16.
//
#ifndef TEST_PROJECT_TEST_H
#define TEST_PROJECT_TEST_H

#endif //TEST_PROJECT_TEST_H

 

또한 기본 설정 상태에서 *.c 파일을 추가하면 다음과 같은 문구가 파일에 자동 삽입된다. 

 

  • test-project 라는 이름의 프로젝트 내에서 test.c 파일을 생성한 결과이다.
  • 사용자 이름과 생성 일자를 포함한 주석이 자동 삽입된다.
//
// Created by h3ngss0 on 2020-02-16.
//

 

 

 

 

자동 삽입 문구 변경하기

위와 같이 자동으로 삽입되는 문구는 설정을 통해 변경할 수 있으며, 본 글에서는 Doxygen 형식의 주석을 추가하는 것으로 변경해 보고자 한다.

 

현재 진행 중인 모든 프로젝트에서는 Doxygen을 이용하여 매뉴얼을 자동 생성하고 있다. 매뉴얼에 각 파일에 대한 설명을 포함하기 위해 모든 *.c 및 *.h 파일의 상단에 Doxygen 형식의 주석을 작성하고 있다.

따라서 CLion 에서 자동 삽입해 주는 문구를 Doxygen 형식으로 설정함으로써 직접 작성하는 수고를 조금 덜 수 있다.

 

다음과 같은 방법으로 CLion이 삽입해 주는 자동 삽입 문구를 변경할 수 있다.

 

1. CLion 에서 FileSettings 순으로 메뉴를 선택하여, Settings 창을 띄운다.

Settings 창

 

2. Settings 창의 좌측 메뉴에서 Editor File and Code Templates 순으로 메뉴를 선택한다.

File and Code Templates 설정

 

 

 

 

3. File and Code Templates 설정 창의 Files 탭에서 각 파일 유형 별로 자동 삽입되는 문구를 확인하고 설정할 수 있다.

C Header File 항목을 선택하면 *.h 파일 추가 시에 자동 삽입되는 문구의 템플릿이 우측창에 표시된다.

내용을 살펴 보면 #parse() 명령을 통해 "C File Header.h" 에 정의된 내용을 먼저 삽입하고, 그 밑에 인클루드 가드를 삽입하는 것을 확인할 수 있다.

즉, 앞서 설명 되었던 기본 삽입 문구에서 사용자 이름과 생성일자를 포함한 주석에 대한 내용이 C File Header.h 내에 포함되어 있는 것을 예상할 수 있다.

#parse("C File Header.h")
#[[#ifndef]]# ${INCLUDE_GUARD}
#[[#define]]# ${INCLUDE_GUARD}

#[[#endif]]# //${INCLUDE_GUARD}

*.h 파일에 자동삽입되는 문구

 

4. 이제 Includes 탭으로 이동하면 C File Header.h 항목의 내용이 표시된다. 사용자 이름($USER_NAME)과 생성일자(${DATE})를 포함한 주석을 삽입하게끔 되어 있다. 

기관명($ORGANIZATION)이 정의되어 있는 경우 Copyright 문구를 삽입하는 부분도 포함되어 있다.

#if ($HEADER_COMMENTS)
//
// Created by $USER_NAME on ${DATE}.
#if ($ORGANIZATION_NAME && $ORGANIZATION_NAME != "")
// Copyright (c) $YEAR ${ORGANIZATION_NAME}#if (!$ORGANIZATION_NAME.endsWith(".")).#end All rights reserved.
#end
//
#end

C File Header.h 항목의 내용

 

 

 

 

5. C File Header 항목을 선택한 상태에서 바로 위에 있는 Copy Template 아이콘을 클릭하면, Copy of C File Header 라는 항목이 복사된다.

C File Header 내용을 복사하여 새로운 항목을 생성

 

6. 복사된 Copy of C Header 해당 항목을 선택한 후, 우측 창에서 Name 항목을 Doxygen C File Header 로 변경하고 창 안의 내용을 다음과 같이 변경한다.

/**
 * @file
 * @brief
 * @date ${DATE}
 * @author $USER_NAME
 */
 
 

Doxygen C File Header 항목 작성

 

 

 

 

7. 다시 Files 탭으로 이동하여 우측 창의 #parse() 명령 내의 항목을 Doxygen C File Header.h 로 변경한다.

#parse("C File Header.h") -> #parse("Doxygen C File Header.h")

C Header File 에서 Doxgen C File Header.h 를 파싱하도록 변경

 

8. C source File 항목 역시 #parse() 구문을 동일하게 변경한다. 이는 *.c 파일을 추가했을 때 삽입되는 문구이다.

C 내ㅕㄱㅊㄷ File 에서 Doxgen C File Header.h 를 파싱하도록 변경

 

 

 

9. OK 버튼을 클릭하여 설정을 완료한다.

 

 

이제부터 *.h 파일 생성 시, 다음과 같은 문구가 자동 삽입된다.

Doxygen에서 @file 명령의 인자가 비어 있을 때에는 파일명을 자동으로 적용하므로, @brief 항목에 대한 설명만 추가해 주면 된다.

/**
 * @file
 * @brief
 * @date 2020-02-16
 * @author h3ngss0
 */

#ifndef TEST_PROJECT_TEST2_H
#define TEST_PROJECT_TEST2_H

#endif //TEST_PROJECT_TEST2_H

 

*.c 파일 생성 시에도 다음과 같은 문구가 자동 삽입된다.

/**
 * @file
 * @brief
 * @date 2020-02-16
 * @author gyun
 */

 

파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음

 

댓글

Designed by JB FACTORY