Skip to content

VS Code 활용법

통합 터미널(Integrated Terminal) 활용하기

단축키로 내장 터미널 열고 닫기 (Ctrl + `)

Windows 터미널 창과 VS Code 화면을 번갈아 가며 작업하는 것은 번거롭습니다. VS Code는 에디터 내부에 터미널을 띄울 수 있는 통합 터미널 기능을 제공합니다.

  • 단축키 Ctrl + `(백틱, 보통 숫자 1 왼쪽 키)을 누르면 화면 하단에 터미널이 나타나고, 다시 누르면 숨겨집니다.
  • 통합 터미널은 자동으로 현재 열려있는 폴더(예: ioipractice)를 기준으로 열리기 때문에 cd 명령어로 매번 이동할 필요가 없습니다.
  • 위쪽에는 소스 코드를, 아래쪽에는 터미널을 띄워두면 하나의 화면에서 코드 수정과 g++ 컴파일을 즉시 수행할 수 있습니다.

화면 분할로 효율적으로 문제 풀기

편집기 화면 창 나누기 (Split Editor)

소스 코드가 길어지거나 여러 파일을 동시에 봐야 할 때 사용할 수 있습니다. 우측 상단의 네모난 창이 반으로 갈라진 아이콘을 클릭하거나, 단축키 Ctrl + \(백슬래시)를 누르면 에디터 화면이 좌우로 분할됩니다.

소스 코드와 input.txt 파일을 나란히 띄워두기

  1. 화면을 좌우로 분할합니다.
  2. 왼쪽 화면에는 작성 중인 main.cpp를 띄워둡니다.
  3. 오른쪽 화면에는 문제의 예제 입력이 담긴 input.txt를 띄워둡니다.
  4. 아래쪽에는 통합 터미널을 열어둡니다.

이렇게 세팅하면 코드를 수정하자마자 예제 입력을 눈으로 확인하고, 즉시 터미널에서 컴파일하여 실행해 볼 수 있습니다. 일반적으로 문제풀이시에는 하단의 cph judge 확장을 주로 사용하지만, 사용할 수 없는 대회 환경에서 활용할 수 있습니다.

알아두면 유용한 편집 단축키

주석 처리하기 (Ctrl + /)

  • 원하는 줄에 커서를 두고 Ctrl + /를 누르면 맨 앞에 //가 생기며 주석 처리됩니다.
  • 한 번 더 누르면 주석이 해제됩니다.
  • 여러 줄을 마우스로 드래그한 상태에서 단축키를 누르면 여러 줄이 동시에 주석 처리됩니다.

코드 자동 정렬하기 (Format Document)

  • 문서 빈 공간을 우클릭하고 문서 서식(Format Document)을 클릭하거나,
  • 단축키 Shift + Alt + F를 누르면 코드가 깔끔하게 자동 정렬됩니다.
  • 올바른 포매팅을 위해서는 언어 확장(C/C++)이 필요할 수 있습니다.

다중 커서(Multi-Cursor) 활용하기

변수 이름이나 특정 단어를 여러 곳에서 한꺼번에 수정해야 할 때 유용합니다.

  • 변경하고 싶은 단어를 드래그한 뒤, Ctrl + D를 여러 번 누르면 동일한 단어가 차례대로 선택됩니다.
  • 이 상태에서 키보드를 치면 선택된 모든 곳의 글자가 동시에 수정됩니다.

문제 풀이를 위한 필수 확장 프로그램

다음은 VS Code에 설치하여 유용하게 사용할 수 있는 확장 중 일부입니다.

C/C++ (Microsoft)

C++ 코드를 작성할 때 변수나 함수의 이름을 자동 완성해 주고, 문법에 맞지 않는 코드가 있으면 컴파일하기 전에도 밑줄을 그어 알려주는 필수 확장 프로그램입니다.

CPH (Competitive Programming Helper)

문제 풀이 중 여러 편의기능을 제공하는 강력한 확장입니다.

  • 브라우저 확장 프로그램인 Competitive Companion과 함께 사용하면, 온라인 저지의 문제 페이지에서 모든 예제 입출력 데이터를 빠르게 VS Code로 가져올 수 있습니다.
  • 예제 입출력에 대해 올바르게 작동하는지 컴파일과 출력 비교를 자동으로 수행해 줍니다.

GitHub Copilot 비활성화

일반적으로 생성형 LLM은 대회 중에 금지됩니다. 반드시 꺼 주세요.

  • VS Code 우측 하단 상태 표시줄의 GitHub Copilot 아이콘을 클릭합니다.
  • 화면 상단에 열리는 메뉴에서 **Disable Completions for 'cpp'**를 선택합니다.
  • 설정이 완료되면 C++ 파일(.cpp)에서 Copilot 자동 완성이 비활성화됩니다.