avatar
morethan-log

mac dock에 vscode가 중복 생성되는 이슈

Troubleshootingvscodemac
May 10
·
4 min read

맥북에서 터미널에서 code 커맨드라인을 지정해두고 해당 명령어를 통해 vscode를 실행하는데 실행할 때마다 dock에 vscode가 중복으로 생성되는 문제가 있었다.

until-3

한동안 습관적으로 지워주면서 사용하고 있다가 매번 귀찮다는 생각이 들어서 원인을 찾아보았다.

vscode 레포에서 동일한 증상을 겪고 있다는 이슈를 발견해서 찾아보니, vscode와 관계없이 실행중인 상태의 애플리케이션을 터미널을 통해 실행하는 경우 발생하는 이슈라는 것을 알게 되었다.

해결책은 크게 두가지가 있었다.

Disable "Show suggested and recent apps in Dock"

최근 사용한 앱을 독에 띄워주는 기능 자체를 끄는 것이다.

해당 기능 자체를 끄는 것이기에 해당 영역자체가 사라진다.

Edit code function

기존 code 명령어를 수정함으로써 해결이 가능하다.

vim ~/.zshrc 를 입력해 기존 code 명령어를 아래와 같이 수정해보자.

code() {
    if [ -t 1 ] && [ -t 0 ]; then
        open -a Visual\\ Studio\\ Code.app "$@"
    else
        open -a Visual\\ Studio\\ Code.app -f
    fi
}

위 코드를 해석하면 아래와 같다. (채찍피티 인용)

ChatGPT 왈:
이 코드는 ~/.zshrc 파일에 작성되어 있는데, 이 파일은 Zsh 셸의 설정 파일입니다. 여기서 정의된 code() 함수는 주로 Visual Studio Code를 실행하는 데 사용됩니다.

이 함수는 두 부분으로 나뉘어 있습니다. 첫 번째는 if 문으로 시작하여 터미널에서 실행 중인지(-t 1-t 0를 통해 확인) 확인하고, 그렇다면 주어진 파일이나 디렉토리를 Visual Studio Code로 엽니다. 두 번째 부분은 이와 반대로 터미널이 아닌 상황에서 Visual Studio Code를 엽니다.

여기서 open은 macOS에서 파일을 열거나 애플리케이션을 실행하는 명령입니다. -a 플래그는 특정 애플리케이션을 지정하여 파일을 열도록 합니다. Visual\\ Studio\\ Code.app은 Visual Studio Code 애플리케이션의 경로를 나타냅니다. 공백을 포함하는 이름을 사용할 때는 이스케이프 문자(\\)를 사용하여 공백을 인식하게 합니다.

따라서 이 코드는 Zsh 셸에서 code 명령어를 입력하면, Visual Studio Code가 실행되며, 터미널에서 실행 중인 경우에는 주어진 파일이나 디렉토리를 열도록 하며, 터미널이 아닌 경우에는 그냥 Visual Studio Code를 엽니다.


나는 애초에 최근앱 기능을 잘 사용하지 않다보니 첫번째 방법을 사용해서 해결했다.


- 컬렉션 아티클






몰댄민입니다