나만의 작은 도서관
VSCode에서 C++을 사용해보자(Window) 3 - PS용 익스텐션 및 bits/stdc++ 세팅 본문
VSCode에서 C++을 사용해보자(Window) 3 - PS용 익스텐션 및 bits/stdc++ 세팅
pledge24 2024. 6. 10. 00:34개요
이전 글까지의 내용은 C++을 VSCode에서 사용할 수 있도록 세팅하는 것이었다. 이 글은 거기에 더해 PS를 위한 여러가지 세팅을 정리해둔 글로, 다른 블로그에서도 한 번씩 다루는 내용을 내 입맛대로 정리한 글이다. 긴말 없이 바로 시작하겠다.
Code Runner
정확이 왜쓰는지는 모르겠지만 무엇보다 기존 컴파일러보다 속도가 빠른 느낌이 있고, 무지성으로 코드를 실행하기 편하다. 익스텐션끼리 충돌나서 망가지는 게 아니라면 사용했을 때 편하니 설치해두면 좋다. 일단 C/C++을 설치했을 때처럼 익스텐션에서 code runner를 검색해 설치하자.
설치를 했다면 아래 테스트 코드로 한 번 실행해본다.
1000.cpp
#include <iostream>
using namespace std;
int main()
{
int N = 5;
for(int i = 0; i < N; i++){
cout << i << '\n';
}
}
code runner을 사용하고 해당 코드를 실행하면 터미널이 아닌, 출력에서 실행되며, 아래와 같이 코드를 실행했을 때 걸린 시간과 함께 결과가 출력된다.
문제는, 이렇게 출력에서 실행되면 입력을 할 수 없다. PS는 입력을 해야 확인을 하는데 입력이 안되면 참으로 난감하다. 그래서 code runner에서 확장 설정을 통해 다시 터미널에서 실행되도록 변경해야한다.
다시 익스텐션으로 돌아와 code runner를 클릭 -> 톱니바퀴 클릭 -> 확장설정 클릭을 한다.
확장 설정 창이 열리고 중간 쯤까지 스크롤을 내리면 Run In terminal이 있는데, 체크가 해제되어 있는걸 체크하면 다시 터미널에서 실행된다.
추가로, clear previous output을 체크하면 이전 실행 내용이 clear되지만... 뭔가 이상하게 clear돼서 잘 사용하지 않는다.(이전에 어떻게 설정했을 때는 됐는데 지금은 왜인지 잘 안된다...)
Competitive Programming Helper (cph)
테스트 케이스를 미리 만들어놓고 실행할 수 있는 익스텐션이다. 매번 반례를 찾아놓고 메모장에다가 붙여놓거나 주석처리해서 사용하면서 테스트했는데 이게 있으면 그럴 필요없다. 실행만 잘되면 아주 유용한 익스텐션이니 하나쯤 장만해두자.
사용법
아주 간단하다. 반례나 테스트 케이스를 입력하고 아래에 파란색 버튼을 클릭하면 된다.(그림에는 없지만 맨 아래 파란색 버튼이 있다.)
bits/stdc++.h
알고리즘 문제를 풀 때 C++에서 가장 짜증나는 점은 내가 분명 vector나 map같은 자료구조를 아는데 이게 어느 헤더에 있는 지 몰라서 한참 헤매는 것이다. C++에서 알고리즘을 풀 때 알아야 하는 헤더가 한 두가지가 아니라 이걸 전부 외워서 문제를 푼다는 것을 여간 피곤한 일이 아니다. 그래서 자주 사용하는 헤더들을 싹다 모아 하나의 헤더 파일을 만든 것이 바로bits/stdc++.h이다.
'왜 하필 이름이bits/stdc++이냐?' 라고 누군가 물어보면, ... 나도 잘 모른다. 하지만 프로그래머스, 백준 등 알고리즘 문제 사이트에서 사용할 수 있는 사회적으로 약속된(?) 폴더 명이다. 어찌됐든 bits/stdc++이 있으면 #include <vector>나 #include <algorithm>같이 해당 기능이 들어있는 헤더 파일을 추가할 필요없다. 많은 헤더파일을 한 번에 가져오는 거기 때문에 성능이 조금 떨어지지만 그거 조금 떨어졌다고 맞을 문제가 시간 초과 뜰 일은 거의 없다.
다음은 stdc++.h 파일이다.(구글링하면 쉽게 구할 수 있다.)
다운받은 stdc++.h를 mingw64에 들어가서 include폴더로 진입 -> bits폴더 생성 -> stdc++.h 추가한다.
이렇게 stdc++.h를 추가하고, 다시 VSCode로 돌아가 아래 코드를 실행했을 때 정상적으로 실행되는 지 확인해본다.
stdcTest.cpp
#include <bits/stdc++.h>
using namespace std;
int main(void){
vector<int> v1;
map<int, int> m1;
v1.push_back(1);
m1[1] = 1;
cout << v1[0] << ", " << m1[1] << '\n';
return 0;
}
#include<vector>와 #include<map>없이도 실행이 아래와 같이 된다면, 성공적으로 bits/stdc++.h를 인식한 것이다. 이로써 C++로 알고리즘 문제를 풀 때 헤더를 외워야하는 고통에서 벗어났다!
결론
이렇게 PS를 위한 C++ VSCode 설정까지 하며 필요한 모든 세팅을 마무리 하였다. 여기까지 설정했다면 추가적으로 prettier나 doxygen documentation generator같은 익스텐션을 설치해 코드 가독성을 높이는 익스텐션을 사용해 보길 바란다. 다음 글은 번외로 VSCode를 완전히 지우는 법에 대해 다뤄보겠다.
다음 글 링크
https://pledge24.tistory.com/243
'환경설정 및 세팅 > VSCode' 카테고리의 다른 글
[VSCode] 기본 터미널을 변경해보자. (0) | 2024.06.26 |
---|---|
[VSCode][Tips] 유용한 단축키를 알아보자 (1) (1) | 2024.06.16 |
VSCode를 완전히 삭제해보자 (Window) - Code, .vscode 폴더 삭제 (1) | 2024.06.10 |
VSCode에서 C++을 사용해보자(Window) 2 - VSCode 익스텐션 세팅 (0) | 2024.06.09 |
VSCode에서 C++를 사용해보자(Window) 1 - mingw64 설치 (1) | 2024.06.09 |