본문 바로가기

별걸다하는 IT/개발환경 세팅&TIPS

VSC 비주얼스튜디오코드 유용한 extension 소개 (웹 아닌 C개발자편) 확장팩(?) 플러그인 익스텐션 추천

안녕하세요 양햄찌 블로그 주인장입니다.

시중에 웹 개발자를 위한 VSC extension들은 추천글이 많은대 C개발자를 위한 익스텐션 글은 얼마 없는 듯 해 작성해보려고 합니다.

 

익스텐션은 ctrl + shift + x눌러서 extension 페이지로 가서 검색으로 설치하셔도 되지만,

보안상의 이유로 네트워크가 안되시는 분은 저 사이트로 가셔서 다운받아야해요. 

그런 이유로 다운로드 사이트 링크도 같이 걸어놓았습니다~

Visual Studio Code 비주얼스튜디오코드 익스텐션 소개

[익스텐션 소개 목차]

1. C/C++ ★

2. C++ Helper or C-mantic

3. git 또는 svn  

4. sftp

5. Bracket Pair Colorize

6. Project Manager 

7. Copy Relative Path Posix

8. Code Runner

9. Open

10. Korean language pack

11. Todo Tree

1. C/C++ 익스텐션 

없으면 개발이 안된다!! 이런건 아니지만,

C언어 디버깅이라던가 코드 강조, 코드를 자동으로 완성해주는 인텔리센스 같은거 해주는 유틸리티로 거의 필수적인 extension 이죠. 이게 있어야 코드 outline도 보이고 그렇습니당

출처: https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools

요렇게 생긴 익스텐션(?)이고요 ㅎㅎ 

만든 사람이 마이크로소프트예요.  이거 비주얼코드 만드신분 ㄷㄷ 당연히 다운 받아야겠죠? 

 

비주얼스튜디오 코드 공식 도큐먼트에도 소개되어있는 익스텐션입니다.

 

The C/C++ extension does not include a C++ compiler or debugger. 

요 확장프로그램에 C++컴파일러나 디버거가 포함되어있는 것은 아니므로 만약 컴퓨터에 컴파일러가 없으시다면 별도 설치가 필요해요. 없으신 분은 MingGW를 다운로드 받은 후에 extension 설치를 진행해줍시다.

MinGW는 무료 C컴파일러로, 망분리나 네트워크 문제로 인터넷을 사용할 수 없는 회사에서도 파일 이동으로 손쉽게 설치하실 수 있습니다. ㅎㅎ

 

2. C++ Helper

함수 프로토타입에 대한 정의를 자동으로 implemet해줍니다.

클래스 멤버함수 같은거 정의를 자동으로 생성해주는 유용한 툴!

이와 비슷한 플러그인으로는 C-mantic이라는 것도 있습니다.

definition뿐만 아니라 getter setter까지 자동으로 생성해주는 듯?

3. svn 익스텐션

개발자라면 형상관리 연동은 필수죠

git사용자라면 git익스텐션을, svn 사용자라면 svn익스텐션을 설치해줍시다.

클릭하면 링크로 이동

보통 이클립스나 비주얼스튜디오 같은데 연동하면

매번 우클릭으로 update하고 수정 후 커밋하고 이런식으로 간단한 기능밖에 지원해주지 않는데요,

수정해놓고 이게 remote와 다른지 아닌지 체크하기도 번거롭고,

남이 어떤걸 수정했는지 비교 방법(diff) 또한 불편해서.. 무튼 여러 단점들이 있죠.

VSC에서 지원해주는 형상관리 익스텐션은, 실시간으로 연동되면서 남이 수정하면 내꺼에도 뜨고, 내가 수정하면 어떤 모듈들이 수정되어있는지 간편하게 정리해줘서 보기 편하답니다.

 

Remote Changes에 뜨는 파일들은 나 외에 다른 팀원들이 커밋했을 경우 변경된 사항을 실시간으로 확인할 수 있습니다. 파일을 누르면 다른 사람이 어떤 부분을 개발했는지 확인할 수 있도록 diff를 기본적으로 지원해줘요.

 

또 커밋하거나 업데이트도 한번에 처리 할 수 있도록 지원해줘요.

diff는 기본으로 장착되어있고,, history도 간편하게 볼 수 있어서 강추!

VSC에서 svn 연동 방법은 요 포스팅을 참고해주세요~ : jhnyang.tistory.com/405

 

[vsCode-svn] 비주얼스튜디오코드 SVN에 연동하여 소스 환경 구성하기 Visual Studio Code (VSC)

안녕하세요~ 양햄찌 블로그입니당 이클립스를 쓰다가 IDE가 무거워서 vscode를 사용하게 됐는데요 오늘은 비주얼스튜디오의 경량화 버전인 비주얼스튜디오코드의 svn 연동법에 알아보려고 합니다

jhnyang.tistory.com

4. SFTP

보안때문에 막혀있지 않으면 써야할 플러그인 중 하나!!

파일전송을 자동으로 해주거나 우클릭으로 손쉽게 업로드다운로드 할 수 있습니다.  

5. bracket Pair Colorize 익스텐션

업무가 복잡하면 복잡할수록,  if문 괄호 안에 괄호, 또 그 안에 괄호 앤드 괄호 등등..

이런 예외처리들이 많이 존재하게 되는데,

어디부터가 어디까지가 같은 layer이고,, 괄호가 하두 많아서 헷갈리죠. 

보통 개발할 때 닫힘 괄호를 빼먹는다던가 이런 사소한 실수로 컴파일 에러나는 경우가 있어요.

if ( () && (  () || () ) )
{
}

그래서 어떤 개발자들은 소스 코딩할 떄 헷갈리지 않으려고 이렇게 띄어쓰기로 구분하게끔 코딩하는 경우가 꽤 있는데요. 

이 익스텐션을 설치하면 같은 layer에 있는 괄호들을 같은 색으로 매칭해줘서, 어떤게 밖에 있는 괄호에 해당하는지, 여러 중첩 괄호들이 있을 때 헷갈리지 않고 코딩이 가능합니다.

사진을 보면 처음 보라색, 마지막 보라색 등, 보기 쉽죠??

물론 남이 짠 코드도 이렇게 보여지니 업무적 이해가 빨라지는건 덤!

 

6. Project Manager 익스텐션

프로젝트가 한 개만 있지는 않죠!!

VSC는 IDE 만큼 개발환경을 갖출 수 있지만 사실 기본은 에디터잖아요??

다수의 프로젝트 뿐만 아니라 업무 관리 또한 진행하고 싶을 수 있어요.

그림 누르면 링크 이동

Install 숫자만 봐도 많은 사람이 애용하고 있다는 것을 알 수 있음..

물론 프로젝트 매니저를 안써도 되지만, 그러면 파일검색할 떄에도 프로젝트 바운더리가 없어서 모든게 검색된다는 불편함도 있죠. 티스토리 블로그 개발을 하고 있는대, 대학생때 진행했던 게임 프로젝트 모듈이 검색된다던가 등등

이렇게 다수의 프로젝트가 있을 경우, 프로젝트 매니저(Project Manger)를 사용하시면 간편하게 프로젝트별로 관리 할 수 있어요.

또, 매번 디렉터리를 드래그앤 드롭으로 해당 프로젝트를 끌어 오픈하지 않고

간단하게 원하는 프로젝트로 빠르게 전환할 수도 있습니다.

 

저의 경우에는 회사에선 소스 관리를 위한 프로젝트 하나, 테스트 프로젝트 하나, 내가 맡았던 업무 관리 프로젝트 하나 (업무요건, 업무소스, 메일, 규격서 등 업무단위로 관리하기 위함) 현재는 요렇게 구상해서 사용하고 있어요.

 

개인적으로는, 대학교때 진행했던 프로젝트들이라던가,, 학원때 진행했던 실습,, 해커톤 프로젝트 등 전혀 관련이 없는 프로젝트들을 필요할때마다 바로바로 사용할 수 있게 한데모으기 위해 사용했답니다.

7. Copy Relative Path Posix 익스텐션

쉽게 말해 \'기호 구분자로 복사되는 경로를 '\'외에  '/'버전 또한 지원해주는 익스텐션입니다.

그림 누르면 링크 이동

간단한 기능이지만, 있으면 일일이 \를 /로 변경할 필요가 없으니까 시간 단축에 한몫해주는 익스텐션이죠

파일 경로 복사는 익스텐션 설치하지 않아도 기본으로 지원되는데요.

파일을 선택한 후 우클릭하면 이렇게 'Copy Path'와 'Copy Relative Path' 이렇게 뜨는 것을 확인할 수 있습니다.

 

실제 복사해서 붙여넣기 해보면, 

D:\VisualStudio Workspace\programmers\programmers\Source.cpp 이렇게 뜹니다. 

그런데 sftp파일 경로 UNIX/LINUX라던가 어떤 특정 상황에서는 \가 아닌 '/'로 경로를 넣어줘야 할 때가 있죠!!

해당 익스텐션을 설치하면 저 두개 외에 'Copy Relative Path(Posix)'가 추가되는데 이를 통해 기존의 \와 이 익스텐션 지원으로 /, 두 방식의 경로를 모두 사용할 수 있습니다 ㅎㅎ

 

8. Code Runner

그 다음 소개할 익스텐션은 코드러너입니다.

간단한 코드들을 컴파일 해볼 수 있는 익스텐션이예요.

사진 누르면 링크 이동

지원되는 언어들이 보이시나요?! ㅎㅎ 

 

하지만 단점은,,  사이트에 가면 드래그해서 부분 컴파일이 되는 것처럼 보이는대(?)

범위 내에 header가 필요한 함수들이 포함되어 있는데 헤더 없이 컴파일하면 컴파일 에러가 납니다.

즉 C언어의 경우 printf("hello"); 부분만 컴파일이 안된다는거죠!

이부분이 조금 아쉽네요 ㅎㅎ 자동적으로 import나 헤더부분만 읽어서 input 값을 지정해 체크해볼 수 있는 익스텐션이 있음 좋을텐데. 혹 아시는 분은 추천 바라요~

 

9. Open

이 익스텐션은 보안적 이슈 때문에 파일암호화가 걸려 있을 경우,,

VSC에서 디폴트 어플리케이션으로 연결해서 바로바로 열 때 유용합니다.

그림 누르면 링크로 이동

보통 VSC 편잡창에서 해당 내용들을 직접 보여주는 플러그인 경우에는 다운받아 실행해보니

암호화되어있는 파일들은 인코딩 문제로 열리지 않더라고요. 그런 경우는 엑셀을 직접 클릭해서 누른다던가 하면 제대로 열리는데 특정 툴을 이용해서 열러고 하면 열리지 않습니다. 

 

보안적으로 특정 확장자들이 지정되어있어 그런건데, 이 Open 플러그인은, VSC내에서 여는 것 외에 디폴트 어플리케이션으로 여는 것 또한 지원하고 있어 VSC explorer 목록에서 파일들을 쉽게 오픈할 수가 있어요.

파일암호화를 이용하지 않는 경우에는 VSC 에디터 화면에서 파일들을 볼 수 있게끔 지원하는 확장 플러그인들이 여럿 있으니 그 플러그인을 사용하는 것을 추천~! 요렇게 많은 플러그인들이 있습니다.

 

10. Korean Language Pack For Visual Studio Code

비주얼스튜디오 코드가 기본이 원래 영어인데요.

한국어로 변경해주는 간단한 플러그인입니다.

영어가 익숙치 않으신 분들에겐 큰 도움이 되겠죠? 

11. Todo Tree

정말정말 고맙게 생각하고 있는 익스텐션 중 하나입니다.

내가 원하는 태그를 설정해서 그 태그를 달면 태그 목록만 따로 뽑아주는 기능이예요.

개발할 때 다양한 모듈에서 수정을 진행해야 할 경우 

태그를 달아놓으면 확인해야할 부분이나 나중에 변경해야할 부분을 빼먹지 않고 처리할 수 있는 장점이 있습니다.

 

오늘은 쓸만하지만 간단한 VSC(Visual Studio Code)의 확장 플러그인들을 소개해봤어요. ㅎㅎ 

개발환경을 구상하는대 도움이 되었으면 좋겠네요. 그럼 다음포스팅에서 또 봐요~~!