아두이노 팁 #2. Visual Studio Code로 아두이노 프로그래밍 장점 (feat. Arduino IDE 불편해)
Lucy Archive
Lucy 2023
2020. 7. 15. 01:06

아두이노 자동완성 코드탐색 디버깅아두이노 자동완성 코드탐색 디버깅

VScode로 Arduino 프로그래밍 해야 할 이유

  지금까지 Arduino IDE 를 사용하셨던 분들을 위한 포스트입니다. 지금까지 포스트는 비교적 짧고 간단한 코드 예시만 작성하였는데, 여기서 조금만 코드가 복잡해져도 기존의 Arduino IDE 사용에 불편함을 많이 느끼게 될 것입니다. 저는 무엇을 하든지 환경이 편리해야지 재대로 집중에서 능률을 올릴 수 있다고 생각하는 편입니다. 그래서 아두이노 프로그래밍 할 때, 어느 정도 감을 잡은 뒤엔 에디터를 사용하시길 권장합니다. 이미 코드 에디터(Atom, VIm, Visual Studio Code, SublimeText 등등)에 익숙하신 분들이면 대부분 아두이노 플러그인을 지원하니 사용해보시길 권장 드립니다. 

  이런 에디터들을 사용해 보신 적이 없으시면 본 포스트에서 설명하는 Visual Studio Code 한번 사용해 보시길 추천드립니다. 본 포스트에서는

Visual Stduio Code 로 코딩 작성시 Arduino IDE 보다 좋은 점

에 대해 작성하였습니다. 환경설정 하는 방법은 이전 포스트에 작성하였으니 참고해주세요.

관련포스트

VSCode로 아두이노 환경설정

2020/06/24 - [Arduino/Basic] - 아두이노 팁 #1. Visual Studio Code 아두이노 환경설정

VSCode로 아두이노 코딩 방법

2020/07/16 - [Arduino/Basic] - 아두이노 팁 #3. Visual Studio Code로 아두이노 코딩 사용법과 나노팁

VSCode로 아두이노 디버깅 하는 방법 및 실행 방법

2020/07/18 - [Arduino/Basic] - 아두이노 팁 #4. Visual Studio Code로 아두이노 우노 디버깅 환경 설정 및 실행



VSCode로 아두이노 개발시 장점

Visual Studio Code 로 아두이노 프로그래밍을 하게 되면, Arduio IDE 에서 제공되지 않는 기능 뿐만 아니라, Visual Studio Code 자체 편집 기능과 추가 익스텐션을 이용하여 쾌적한 개발 환경 구축이 가능합니다. 아래 그림은 아두이로 프로그래밍에 꼭 필요한 기능의 예시에 대해 작성하였습니다. 지난 포스트에서 언급하였지만, 글로만 표현하여 이번에 간략히 그림으로 표시하였습니다.

자동완성

아래와 같이 코드 자동 완성 기능을 제공합니다. 코드 하나 작성 할 때 마다 함수 정의를 일일이 찾아 다닐 필요가 없어집니다.

아두이노 코드 자동완성아두이노 코드 자동완성

코드 정의 및  코드 탐색

아래와 같이 코드 정의 보기 및 탐색 기능을 수행할 수 있습니다. 해당 함수 또는 클래스, 변수의 선언부가 어떻게 정의 되어있는지, 어디에 선언 되었는지 확인이 가능합니다. 뿐만 아나라, 해당 코드가 어디에 사용 되었는지 탐색이 가능합니다.  이 두 가지 기능은 큰 코드를 쉽게 파악할 수 있게 해주고,  작성 수정을 편리하게 해줍니다.

아래 기능은 해당 코드 위치에서 마우스 우 클릭으로 선택 하시거나 단축키 사용 또는 커스텀 설정이 가능합니다. 

  • Go to Definition (F12) : 코드 정의된 부분 보기 (소스파일 <~.c>)
  • Go to Declaration : 해당 코드 선언 부 보기 (일반적으로 헤더 파일<~.h>
  • Go to Reference(Shift + F12) : 해당 코드가 사용된 부분을 검색 - 선택 한 코드를 어떻게 사용했는지 볼 수 있어요.
아두이노 코드 정의 보기 기능코드 정의 새 창에서 열기 Ctrl + Alt + 마우스 좌 클릭

아두이노 코드 탐색 기능아두이노 코드 탐색 기능

디버깅

아래와 같이 디버깅 모드를 구현 할 수 있습니다. 아두이노 보드의 종류와 디버깅 기능에 제약은 있으나 필요에 따라 적용이 가능합니다. 아래는 아두이노 우노 보드에서 SW적인 방법으로만 디버깅 모드를 설정 후 진행하였습니다. 

기타 VSCode 의 강력한 편집 기능 + Extention 들..

Visual Studio Code 의 강력한 편집기능과 익스텐션들 사용이 가능합니다. 이 부분은 너무 광범위 해서 본 포스트에서 다루지 않고 따로 포스트를 작성 예정입니다.

VSCode 로 아두이노 개발시 단점

아래는 제가 사용하는 단점인데, 해결책이 있을 것이라고 추측하지만 제가 아직 찾지 못해서 단점으로 남깁니다. 사실 단점으로 보기는 어렵지만, 혹시 본 포스트를 보고 사용하게 될 분들을 위해 작성하였습니다
  • 시리얼 플로터 기능 지원 안 됨 : 개인적으로는 지금 까지 쓸 일이 없긴 했습니다. 
  • 시리얼 모니터 읽기는 되지만 쓰기 지원 되지 않음 : 구글링 하면 대안이 있는 것 같지만, 제가 재대로 적용을 해보지 못했습니다.
개인적으로 시리얼 모니터는 무료로 추가 기능도 많은 터미널 프로그램이 많으니 취향에 따라 사용하시면 됩니다.

마무리

Visual Studio Code 로 아두이노 프로그래밍시 아래의 장점들이 있습니다. 아두이노 프로그래밍을 학습하거나, 써먹어야 하시는 분은 사용하지 않을 이유가 없습니다.
  • 자동완성
  • 코드 정의보기
  • 코드 선언보기
  • 코드 탐색
  • VScode 의 강력한 편집 기능 : 아주 아주 강력합니다.
  • 추가적인 Extentions : 프로젝트 매니저, Git, 테마 등 아주 다양하고 많습니다.
다음 포스트에서는 제가 사용하는 방법들에 대해 작성 할 예정입니다. 끝까지 읽어 주셔서 감사합니다.^^
관련포스트

👉 아두이노 Visual Studio Code 환경 설정 관련글 목록 보기

👉 아두이노 개발 환경 구성 관련글 목록보기

👉 아두이노 전체 포스트 목록 보기