태그 보관물: vscode

VScode test explorer에 Rust 테스트 케이스 표시

rust-analyzer extension을 설치했는데도 test explorer에서 rust unit test가 표시되지 않는 경우는 다음을 확인해 보자.

Command palette을 열어서 open settings를 검색한다.

왼쪽 pane에서 Extensions -> rust-analyzer를 선택하고 Test Explorer 항목을 찾아 "Show the Test Explorer view."가 체크되어 있는지 확인한다.

한참을 찾았는데 결국은 이게 disabled된 것이 원인 이었다.

이 항목을 체크하고 나면 vscode를 재실행 하겠다는 창이 뜨고, 재실행 뒤에는 unittest가 text explorer에 표시된다.

참고로 UI를 통해서가 아닌 JSON 파일을 직접 수정하려면 settings.json을 열어서 다음을 추가해 주어도 된다.

{
...
    "rust-analyzer.testExplorer": true,
}

macOS 설치 후 개발환경을 위한 설정

1. Xcode 와 Xcode Command Line Tools 설치

Xcode Command Line Tools에는 컴파일러등의 도구가 들어 있어서 다른 설정들과 관계가 있어 가장 먼저 설치 해준다. Xcode는 App Store에서 설치하면 되고, Xcode Command Line Tools는 아래의 명령어를 터미널에서 실행한다.

xcode-select --install

2. 패키지 관리자 설치

개발등에 필요한 여러가지 도구들을 설치하려면 Macports 혹은 Homebrew와 같은 패키지 관리자를 설치해 주어야 한다. 2026년 현재 Homebrew는 Sonoma(14)이상에서만 동작 하므로 그보다 이전 버전을 사용하고 있다면 Macports가 선택가능한 대안이다.

3. zshell용 extension 설치

macOS terminal을 실행 할 때 기본적으로 zsh가 실행되는데, Oh my zsh 혹은 zim:fw 같은 extension을 사용하면 명령어 오타감지 등의 다양한 기능을 추가 하거나 보기 좋은 테마를 적용할 수 있다.

나는 기능은 적지만 단순한 zim:fw를 선호하는데, 만약 설치 후 사용할 때 “zsh: command not found: prompt-pwd” 라는 보기 싫은 경고 문구가 매번 출력된다면 ~/.zimrc 파일에 다음과 같이 prompt-pwd module을 추가해 서 해결할 수 있다.

4. 메타키 변경 (Emacs)

기본적인 터미널 설정의 메타(Meta) 키는 ESC이다. 이 키를 자주사용하는 Emacs 사용자라면 멀리 떨어져 있는 ESC 키를 누르는게 무척 귀찮을 것이다. Terminal을 열어서 “Use Option as Meta key”를 활성화 해 주면 ESC 대신 Option key로 대체할 수 있다.

한가지 주의할 점은 이 설정은 각 프로필 마다 따로 해주어야 한다는 점이다. 따라서 다른 종류의 프로필 여러개를 사용한다면 각각에 위의 설정을 적용해 주어야 한다.

5. Caps lock key를 Ctrl로 변경

Mac용 한글 키보드에서는 한영전환으로 사용되는 Caps lock key의 위치는 손목이 편안한 명당 이지만 자주 사용되지 않는 키를 배치하는 용도로 사용하면 효율이 나쁘다. HHKB 처럼 Caps lock을 Ctrl로 변경하면 손이 편하게 작업할 수 있다. 그리고 나서 Caps lock은 변방인 Ctrl 위치로 밀어 낸다.

Settings -> Keyboard -> Modifier Keys

6. 한글입력과 spotlight 단축키 변경

기본 한글 입력기 변환은 Ctrl + space인데 HHKB나 레오폴드 키보드 처럼 Ctrl 키의 위치가 Caps Lock을 대체하는 경우에는 한영 변환 입력이 조금 어렵다. 그래서 Settings -> Keyboard -> Shortcuts에서 Command + space로 변경해주고 이 때문에 충돌이 생기는 spotlight을 옛날 버전의 MacOS에서 쓰던 Command + p로 변경해 주었다.

Shift + Command + p는 VS code의 명령어 팔레트 단축키와 충돌 하므로 spotlight설정 할 때 함께 보이는 “Show Finder search window”는 단축키를 설정하지 않았다.

7. 기타 설정

  • SSH key를 복사하고 config를 설정
  • GitHub에 올려두는 Emacs 환경 파일을 clone
  • 터치바에서 siri을 없애고 Screenshot 기능으로 대체

Raspberry Pi Pico, Visual Studio Code 개발환경 설정

Raspberry Pi Pico로 이것 저것 해보려고 놀려고 개발 환경을 설정해 보았다. 참고한 문서들에는 Thonny IDE를 기준으로 설명된 것들이 많았으나 vscode에서도 Pico가 잘 지원되고 있어서 이것을 기준으로 환경을 설정했다.

Raspberry Pi Pico vs Arduino Uno

Pico의 생김새는 Arduino Nano와 유사하지만, 기능 측면에서는 Uno와 견줄만 하다.

Raspberry Pi Pico (RP2040)Arduino Uno (ATmega328P)
Processor CoreDual-core ARM Cortex-M0+ (32-bit)Single-core ATmega328P (8-bit)
Clock SpeedUp to 133 MHz16 MHz
RAM (SRAM)264 KB2 KB
Flash Memory2 MB (off-chip)32 KB (on-chip)
ProgrammingMicroPython, C/C++, Arduino IDEC/C++ (Arduino sketches)
가격배송비 포함 7천원 정도 3만원 정도

Raspberry Pi Pico Extension

Extensions항목에서 raspberry pi로 검색하면 Pico를 위한 공식 extension을 볼 수 있다.

이것을 설치하고 나면 Sidebar에 Raspberry Pi Pico를 위한 icon들이 추가된다.

새로운 프로젝트 생성

Sidebar의 Raspberry Pi Pico Project를 선택하면 새로운 프로젝트를 생성할 수 있는 창이 뜨는데, 설정 테스트를 위해서 여기에서 MicroPython 프로젝트를 하나 생성해 본다.

프로젝트가 생성되고 Pico의 LED(GPIO 25번)을 1초 간격으로 toggle하는 예제 코드가 추가된다.

MicroPython UF2 설치

Micro-Controller를 위한 MicroPython을 실행하기 위해서는 UF2 file을 설치해 주어야 하는데, 설치하는 과정은 생각보다 어렵지 않다.

우선 Pico용 MicroPython download page에서 UF2 파일을 개발 host에 다운로드 받아둔다. 그 다음 Pico에 있는 BOOTSEL 버튼을 누른 상태에서 개발 host와 연결된 UBS cable을 연결하면 Pico가 저장장치 모드로 인식되면서 파일을 탐색기에서 파일을 복사할 수 있는 상태로 인식된다.

다운로드 받아둔 UF2 파일을 인식된 RPI-PR2에 복사하면, 복사가 완료된 후 Pico가 자동으로 reboot되는데, 부팅하면서 vscode의 상태표시줄에 “Pico Connected”가 표시되기 REPL을 실행 할 수 있는 창이 뜬다.

제일 아래에 있는 상태표시 줄을 보면 “Pico Connected”옆에 “Run” 버튼이 있는데, 이것을 이용해서 현재 창에 떠 있는 MicroPython code를 실행할 수 있다.

참고로, 일반적인 Python code를 실행할 때 쓰는 버튼은 동작 하지 않는다.

File Upload 및 실행

LED 동작이 확인되었다면 해당 파일을 Upload 해서 Pico에서 동작하도록 할 수 있다. 명령창에서 “upload”를 검색하면 현재의 파일을 upload 하거나 프로젝트 전체를 upload하는 두개의 메뉴가 아래와 같이 보인다.

Upload가 완료 되었다면 Pico를 개발 host에 연결된 USB가 아닌 전원 (USB 충전기 혹은 battery)으로 연결하고 재부팅 하면 LED가 동작하는 것을 볼 수있다.

주의: 개발 host에 Pico 연결하면 REPL이 자동 실행되면서 upload된 파일의 실행이 중지된다. Upload한 파일의 동작을 확인하고 싶다면 반드시 개발 host가 아닌 전원으로 연결해서 부팅하도록 한다.