vscode with arduino
Ubuntu 18.04 기준으로 설명함.
사전에 arduino IDE는 설치가 되어 있다고 가정하고 시작합니다.
vscode 를 자세히 설명하지는 않음.
vscode 설치 및 설정
처음에는 최신 버전을 Ubuntu 소프트웨어 이용해서 설치를 했다가 삭제를 하였다. 현재 최신버전인 1.43.1 에서는 arduino 사용시 serial monitor 가 작동하지 않는 버그 있는 것이 있어서 최신 버전 삭제하고 수동으로 1.42.1 설치하였다. arduino 이전 버전 설치는 릴리즈 페이지에서 수동으로 dep 파일 받아서 설치하였음.
https://code.visualstudio.com/updates/v1_42
vscode 설정
설정에서 update mode를 none 으로 설정하여 vccode 자동 업데이트를 막음.
https://code.visualstudio.com/docs/supporting/faq#_how-do-i-opt-out-of-vs-code-autoupdates
https://code.visualstudio.com/docs/setup/linux
Ubuntu OS에서 code 패키지가 업데이트 되지 않도록 설정을 함. 아래 명령을 실행하면 됨.
sudo apt-mark hold code
https://help.ubuntu.com/community/PinningHowto
arduino 관련
vscode 에 필요한 extentions 를 설치하여 사용함.
https://platformio.org/platformio-ide 이용을 할 때는 PlatformIO IDE 가 계속 재설치되는 증상이 있었다. atom을 쓴 경우에도 마찬가지인데 해결책을 몰라서 포기. PlatformIO IDE가 사용을 해보니 편안하기는 하다.
Arduino for Visual Studio Code 설치.
https://marketplace.visualstudio.com/items?itemName=vsciot-vscode.vscode-arduino
설치 후 arduino 관련한 몇가지 설정이 필요함. 최소한 arduino.path 는 필요하다. snap 을 통해서 arduino를 설치했는데 which arduino 로 확인을 했을 때는 /snap/bin/arduino 가 나오지만 arduino.path 에 /snap/arduino/current
로 지정을 해야 작동을 했다. 이 부분은 정보를 더 찾아보지는 않았다.
~/.config/Code/User/settings.json
{
"C_Cpp.updateChannel": "Insiders",
"arduino.path": "/snap/arduino/current",
"arduino.defaultBaudRate": 115200,
"window.zoomLevel": 0,
"update.mode": "none"
}
Arduino: Upload Alt + Cmd + U or Alt + Ctrl + U
Arduino: Verify Alt + Cmd + R or Alt + Ctrl + R
설정파일 위치.
https://code.visualstudio.com/docs/getstarted/settings#_settings-file-locations
settings.json 은 전역설정인데 arduino.board , arduino.port는 설정에 넣어도 안되었다. 이건 해당 코드의 .vscode/arduino.json 에 설정을 해야 한다. arduino 코드 실행을 할 때 board type, port 등을 물어볼 때 수동으로 설정을 해 주어도 되며 해당 파일에 내용을 넣어도 된다. 이것 자동으로 해주는 것 있을 듯 한데. skeleton 같은거?
{
"sketch": "test.ino",
"board": "arduino:avr:uno",
"output": "../build",
"port": "/dev/ttyACM0"
}
여기에서 output
설정을 넣어주는게 좋을 듯하다. https://marketplace.visualstudio.com/items?itemName=vsciot-vscode.vscode-arduino 문서에서 보면 output을 넣어주지 않는 경우 빌드를 할 때마다 새로운 임시 폴더를 생성하기 때문에 이전 빌드에서 사용한 결과를 재활용하지 못하고 verify/upload 시간이 길어진다. Arduino 에서는 outputpath를 워크스페이스 자체나 워크스페이스의 하위 폴더로 생성하지 말라고 하며 이런 경우에는 작동을 하지 않을 것이다.
output
- Arduino build output path. If not set, Arduino will create a new temporary output folder each time, which means it cannot reuse the intermediate result of the previous build leading to long verify/upload time, so it is recommended to set the field. Arduino requires that the output path should not be the workspace itself or in a subfolder of the workspace, otherwise, it may not work correctly. By default, this option is not set. It's worth noting that the contents of this file could be deleted during the build process, so pick (or create) a directory that will not store files you want to keep.
vscode 관련내용
https://code.visualstudio.com/docs