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에서 자동으로 컨텍스트 문제 해결로 전환해줍니다.
여전히 수동 전환기를 선호하는 경우 에디터의 오른쪽 하단 모서리에서 찾을 수 있습니다.
에디터 하단에 작은 마커로 표시된 이동 경로를 통해 코드 내 자신의 위치를 간편하게 계속 파악할 수 있어 코드에서 자유롭게 이동할 수 있습니다. 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++ 또는 힌트 컨텍스트 메뉴에서 바로 특정 타입 힌트를 활성화/비활성화할 수 있습니다.
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 스타일의 문서 미리보기도 표시됩니다.