7 min read

visual studio code 알고리즘 문제풀이 환경 구축

visual studio code 알고리즘 문제풀이 환경 구축

기존에는 dev c++ ide를 사용하고 있었는데, 이걸 굉장히 오래전부터 사용하기도 했고 이제 지원도 끊겨서 너무 오래된 프로그램이기 때문에, 계속 ide를 갈아타고자 하고 있었다.

ICPC 준비 과정에서, vscode를 ide로 사용하고 있는 팀원이 있었기 때문에 vscode로 갈아타기로 결정했고, 설치 과정이 dev c++ 에 비해서 상대적으로 복잡하기 때문에 여기에 정리해두도록 하겠다.

C++17 (현재 백준에서의 기본 언어) 를 사용하고, 브라우저 확장 등을 통한 백준을 보다 편리하게 사용하는 것 까지도 본 글에서 다뤄볼 예정이다.

MinGW 설치

MinGW는 Minimalist GNU For W32의 약자로, GNU GCC 컴파일러를 윈도우 상에서 사용할 수 있게 해주는 프로그램이다.

MinGW-w64 - for 32 and 64 bit Windows - Browse Files at SourceForge.net
A complete runtime environment for gcc

위 링크를 열어서,

MinGW-W64 GCC-8.1.0 아래의 x86_64-posix-seh 파일을 설치한다.

설치한 파일의 압축을 풀면 mingw64 폴더를 확인할 수 있는데, 이 폴더를 복사하여 "C:\Program Files\" 아래에 붙여넣기 한다.

관리자 권한으로 마저 붙여넣어 준다.

MinGW 환경변수 설정

윈도우 검색창에 환경 변수를 입력, 시스템 환경 변수 편집 창을 열어준다.

하단 환경 변수(N)... 클릭 후

시스템 변수(S) > Path 를 선택하고
편집(I)... 버튼을 눌러 편집창으로 진입한다.

새로만들기(N) 후 "C:\Program Files\mingw64\bin" 을 입력하고

확인을 눌러 저장하고 나온다.

visual studio code 확장 설치

Code Runner - Visual Studio Marketplace
Extension for Visual Studio Code - Run C, C++, Java, JS, PHP, Python, Perl, Ruby, Go, Lua, Groovy, PowerShell, CMD, BASH, F#, C#, VBScript, TypeScript, CoffeeScript, Scala, Swift, Julia, Crystal, OCaml, R, AppleScript, Elixir, VB.NET, Clojure, Haxe, Obj-C, Rust, Racket, Scheme, AutoHotkey, AutoIt, K…
Competitive Programming Helper (cph) - Visual Studio Marketplace
Extension for Visual Studio Code - Makes judging, compiling, and downloading problems for competitve programming easy. Also supports auto-submit for a few sites.

Visual Studio Code로 C++ 파일을 열면, 언어에 맞는 확장 프로그램을 설치하라는 알림이 우하단에 뜬다. 버튼을 눌러 C++ 언어에 맞는 확장을 설치해주도록 한다.

Visual Studio Code의 Extensions에서, 위의 두 확장 프로그램을 설치한다.
첫번째 확장 프로그램은 컴파일을 위한 것이고,
두 번째 확장 프로그램은 백준 등의 사이트에서 테스트케이스를 자동으로 가져온다.

설치 도중에 서버를 켠다는 내용이 있으면 허락해주도록 하자. cph 확장이 브라우저와 통신하기 위한 것이다.

모든 확장의 설치가 끝났다면 vscode가 이러한 모습이어야 한다.

테스트 용으로 cpp 파일을 하나 생성해서, 실행해본다.

실행은 우측 상단 재생 버튼을 누르거나, 단축키로는 ctrl + alt + N 이다.

나는 F2 키로 변경해서 사용하고 있다.

정상적으로 bits/stdc++.h 헤더를 불러와서 실행하는것을 확인할 수 있다.

cph 확장 설치

Competitive Companion
Parses competitive programming problems and sends them to various tools like CHelper and Hightail.

크롬 브라우저 확장 Competitive Companion을 설치한다. 이 확장이 vscode의 cph 확장과 통신하며 테스트케이스를 자동으로 가져오게 된다.

29756번: DDR 체력 관리

내가 출제한 문제 <DDR 체력 관리> 를 예시로 들어 보겠다.

브라우저 확장 설치 후 백준 문제 페이지를 열고, 브라우저 우상단에서 초록색 + 버튼을 클릭하면

초록색 + 버튼

vscode 창에서 어떤 언어로 파일을 생성할지 물어보고, cpp를 선택하면

문제명.cpp 이름의 파일을 생성하고 페이지에서의 테스트 케이스를 복사해서 가져온다.

좌하단 Run All 버튼을 통해 모든 테스트케이스를 실행해 볼 수 있으며,

이렇듯 모든 Test Case에 대해서 Passed를 받은 후 제출하면 되겠다.

cph 확장 기본 언어 설정

vs code > Extensions > Competitive Programming Helper로 이동한 뒤에,

Uninstall 옆 톱니바퀴를 누르고 Exntension Settings에 진입한다.

Default Language 설정을 통해 본인이 사용하는 언어를 설정해줄 수 있다. 설정해준다면 브라우저 확장에서 + 버튼을 클릭 할 때 언어 선택 없이 바로 파일이 생성될 것이다.


결론

cph 확장 이외에도, 다양한 확장 프로그램들을 사용해서 알고리즘 문제풀이, PS를 할 때에의 불필요한 반복 작업을 상당수 줄일 수 있다.

다들 행복PS하시고 레이팅쭉쭉올리시길...