스마트 에디터

코드 완성

CLion에서는 코드 완성 기능을 사용하여 코드를 더 빠르게 입력할 수 있습니다. 키워드나 변수, 함수, 클래스의 이름을 입력하기 시작하면 일치하는 제안 목록을 확인할 수 있습니다. 시간을 훨씬 더 단축하려면 이름의 대문자(CamelHumps 매칭)나 이름의 일부(Middle 매칭)만 입력하세요.

IDE는 프로젝트에 사용된 외부 라이브러리 및 프레임워크의 심볼에도 코드 완성 옵션을 제안합니다.

C 및 C++에 대한 접미사 코드 완성을 사용하면 방금 입력한 표현식 주위에 코드를 추가할 수 있습니다. 자주 사용되는 언어 구조로 표현식을 래핑하거나 free 함수의 첫 번째 인수로 표현식을 전달할 수 있습니다.

이러한 기본 코드 완성 기능은 코드가 입력되는 동시에 작동합니다. 또한 CLion은 코드 컨텍스트에 따라 지능적으로 제안을 필터링하여 스마트 완성 기능(Ctrl+Shift+Space)을 제공합니다.

코드 스타일

CLion은 코드가 서식을 갖추고 구성된 코딩 스타일 가이드라인을 준수하도록 합니다. 이 기능은 코드가 입력되는 동시에 작동하지만 사용자가 Reformat Code(코드 서식 재지정) 액션(Ctrl+Alt+L)을 사용해 명확하게 적용할 수도 있습니다.

코드 스타일은 Editor(에디터) | Code Style(코드 스타일) 설정에서 구성할 수 있습니다. 일반 구성뿐만 아니라 언어별(예: C/C++, CMake, HTML 또는 XML) 옵션을 설정할 수도 있습니다.

코드 스타일에는 공백, 정렬 규칙, 탭 및 들여쓰기, 코드 생성, 빈 줄 등이 포함됩니다. 코드에 영향을 미치는 코드 스타일 설정의 경우, 최근 변경으로 영향을 받은 줄이 강조 표시되어 있는, 즉시 미리보기가 제공됩니다.

고급 옵션

특정 파일의 기존 서식 중 일부를 선택하여 유지할 수도 있습니다. 파일을 열었을 때 해당 파일의 들여쓰기가 활성화된 코드 스타일 설정과 다르면 CLion에서 알려줍니다.

그러면 서식 변경 등의 파일 편집 과정에서 스타일 설정을 강제 적용하거나 기존 들여쓰기를 유지할 수 있습니다. 이 기능은 Editor(에디터) | Code Style..(코드 스타일) 설정에서 켜거나 끌 수 있습니다.

CLion에서는 선택된 코드 부분에만 설정이 적용되도록 변경할 수 있습니다. 코드를 선택하고 Adjust code style settings(코드 스타일 설정 조정)이라는 빠른 수정 기능(Alt+Enter)을 사용해 보세요.

강조 표시 및 구성

컨텍스트 문제 해결

코드 강조 표시가 CMake 대상의 플래그와 변수에 따라 달라지는 경우 CLion에서 코드를 적절한 방식으로 강조 표시합니다. 간단히 빌드 및 실행 구성을 선택하기만 하면 CLion에서 자동으로 컨텍스트 문제 해결로 전환해줍니다.

여전히 수동 전환기를 선호하는 경우 에디터의 오른쪽 하단 모서리에서 찾을 수 있습니다.

C/C++용 Breadcrumb

위치 경로

에디터 하단에 작은 마커로 표시된 이동 경로를 통해 코드 내 자신의 위치를 간편하게 계속 파악할 수 있어 코드에서 자유롭게 이동할 수 있습니다. CLion은 경로에 네임스페이스, 클래스, 구조, 함수, 람다를 표시합니다.

사전 정의된 코드 스타일

CLion에서는 사전 정의된 코드 스타일을 선택하여 사용자의 코드 스타일 구성에 적용할 수 있습니다. Google, LLVM, LLDB, GNU, Microsoft, Qt, Stroustrup 코드 스타일 및 Allman, Whitesmiths, K&R 괄호 가이드라인이 제공됩니다. 즐겨찾기를 선택하려면 Set from(다음에서 설정)... | Predefined Style(사전 정의된 스타일)을 사용하세요.

이 기능은 코드 서식 지정 옵션, C/C++ 이름 지정 스타일 및 헤더 가드에 적용됩니다.

이름 지정 규칙

이름 지정 설정

CLion은 사용자가 제공한 이름 지정 체계를 존중합니다. 다음 작업의 경우 선택된 설정이 사용됩니다.

  • 코드 자동 완성
  • 코드 생성
  • 코드 리팩터링
  • 빠른 수정 적용

Settings(설정) | Editor(에디터) | Code Style(코드 스타일) | C/C++ | Naming Convention(이름 지정 규칙)에서 수동으로 스타일을 구성하거나 미리 정의된 규칙에서 이름을 선택할 수 있습니다.

매개변수 힌트

매개변수 힌트

매개변수 이름 힌트를 통해서 함수 호출을 탐색하는 동안 함수 시그니처로 전환되는 것을 피할 수 있습니다. 이 기능은 코드의 가독성을 향상시키는 데 도움이 됩니다.

함수 호출, lambda, 생성자, 이니셜라이저 목록 및 매크로 식에 대해 CLion이 전달된 인수의 매개변수 이름을 표시합니다. 이 기능은 인수가 리터럴 또는 하나 이상의 피연산자를 지닌 표현식일 경우 작동합니다.

타입 힌트

타입 힌트

CLion에 추론된 타입을 위한 타입 힌트가 포함되어 코드의 가독성이 향상되었습니다. 힌트 기능은 자동 변수 타입, 구조적 바인딩의 타입 및 람다 반환 타입을 사용할 때 유용합니다.

Settings(설정) | Editor(에디터) | Inlay Hints(인레이 힌트) | C/C++ 또는 힌트 컨텍스트 메뉴에서 바로 특정 타입 힌트를 활성화/비활성화할 수 있습니다.

ClangFormat

컨텍스트 문제 해결

CLion은 대체 코드 서식 지정 도구로 ClangFormat을 제공합니다. CLion에서 현재 프로젝트 또는 모든 프로젝트에 대해 이를 활성화하면 CLion이 이 도구를 사용해 코드 서식을 지정합니다.

CLion은 프로젝트에서 .clang-format 구성 파일을 검색하고 ClangFormat으로 전환하도록 제안합니다.

코딩 지원

프로젝트에서 .clang-format 구성 파일을 사용자 지정한 경우, 업데이트 시 코딩 지원을 이용할 수 있습니다.

자세히 알아보기

코드 선택 및 주석

CLion에서 코드 블록을 빠르게 선택하려면 커서를 블록 내부에 놓고 선택 범위를 확장(예: 심볼에서 표현식, 줄, 논리 코드 블록 등으로 확장)하는 데 필요한 횟수만큼 Ctrl+W를 누르세요. 선택 범위를 더 작은 논리 부분으로 줄이려면 Ctrl+Shift+W를 필요한 만큼 누르세요.

블록을 선택한 후에, 블록 주석(Ctrl+Shift+/) 또는 줄 주석(Ctrl+/)을 적용할 수 있습니다. 한 줄에 주석을 달고 싶은 경우 해당 줄을 선택할 필요 없이 줄 위에 캐럿을 놓고 Ctrl+/를 누르기만 하면 됩니다.

매개변수 정보

함수에서 허용하는 매개변수를 알 수 없는 경우 CLion에서 도와 드립니다. Parameter Info(매개변수 정보, Ctrl+P)를 열면 사용 가능한 모든 함수 시그너처와 매개변수를 확인할 수 있습니다. 매개변수를 편집하기 시작하면 CLion에서 호환되지 않는 시그너처를 비활성화 표시합니다.

코드의 래핑 해제 및 삭제

내포된 수많은 문이 있는 복잡한 코드에서 괄호로 감싼 부분을 정확하고 안전하게 삭제하려면 Unwrap/Remove…(래핑 해제/삭제, Ctrl+Shift+Delete) 액션을 사용하세요. 캐럿의 위치와 if, else, for, while, do..while, for 제어문의 괄호를 해제할 수 있는 위치에 따라 옵션이 제안됩니다.

다중 캐럿 및 선택

한 번에 여러 가지를 처리하고 싶으시다면, CLion에서는 가능합니다. 다중 캐럿을 사용하면 파일에서 여러 위치를 동시에 편집할 수 있습니다.

편집할 위치를 마우스로 여러 개 선택(Alt+Shift를 누른 후 마우스 클릭으로 캐럿을 배치)하거나 Alt+J를 눌러 다음 사용 위치 몇 개를 선택 범위에 추가하세요(삭제는 Alt+Shift+J).

그러면 선택된 모든 위치를 동시에 편집할 수 있어 이러한 모든 위치에서 코드 완성 및 라이브 템플릿 등을 이용할 수 있습니다. 편집이 완료되면 Esc를 눌러 단일 캐럿 모드로 돌아가세요.

코드 재배열

전체 코드 줄과 블록을 위아래로 이동하여 코드를 재배열할 수 있습니다. 한 줄을 선택할 필요도 없이 이동하려면 Alt+Shift+Up/Down을 누르면 됩니다. 선택한 코드 블록을 이동하려면 Ctrl+Shift+Up/Down을 사용하세요.

자동 가져오기

아직 가져오지 않은 심볼을 사용하려 할 때 CLion에서 해당 심볼을 검색한 후, 심볼 추가를 제안하거나 사용자가 코드를 완성할 때 자동으로 추가해줍니다.

빠른 정의

현재 컨텍스트를 벗어나지 않고도 함수 구현 또는 선언을 확인할 수 있습니다. 심볼 위에 캐럿을 놓고 Ctrl+Shift+I를 누르기만 하면 Quick Definition(빠른 정의) 팝업 창이 열립니다.

빠른 문서

Quick Documentation(빠른 문서) 팝업 창(Ctrl+Q)에서는 선택된 클래스, 함수, 변수, 매개변수, 매크로의 문서를 확인할 수 있습니다.

Quick Documentation(빠른 문서)에는 자동으로 선언된 변수의 매크로 치환추론된 유형을 비롯해 참조 유형 링크와 Doxygen 스타일의 문서 미리보기도 표시됩니다.