태그 보관물: vscode

Rust와 Python unit test의 공존

예전 글에서 vscode의 test explorer에 Rust의 unittest가 보이도록 설정하는 방법을 다룬 적이 있었는데, 여기에 Python test case (여기서는 pytest)도 함께 표시되도록 하려면 .vscode/settings.json을 편집해 주어야 한다.

해당 프로젝트의 경우 가상환경을 source root에 두지 않고 서브 디렉토리인 service/.venv 안에 넣어 두었기 때문에 python.defaultInterpreterPath 값을 이곳으로 직접 설정해 주고 pytest 사용을 위한 설정도 해 두었다.

{
    // Rust unit test
    "rust-analyzer.testExplorer": true,

    // Python virtual environment용 인터프리터 설정
    "python.defaultInterpreterPath": "${workspaceFolder}/service/.venv/bin/python", 
    
    // pytest 사용
    "python.testing.pytestEnabled": true,
    "python.testing.unittestEnabled": false,

    // Python unit test가 있는 디렉토리 경로
    "python.testing.pytestArgs": [
        "service/test"
    ],
    "python-envs.defaultEnvManager": "ms-python.python:venv"
}

그리고 나서 vscode GUI에서도 다시 한번 venv를 설정해 준다. 그냥 프로그램을 재 실행 했으면 이 부분은 건너 뛰어도 되었을 것 같긴 한데, 오류가 계속 뜨길래 수동으로 설정해 주었다.

이렇게 하고 나면 test explorer에 두 언어의 test case들이 모두 표시되는 평화로운 공존상태가 된다.

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 기능으로 대체