(돌아가기) Atom/VS Code : 새로 파일을 열었을 때, 기존 파일들은 닫힌 상태가 되는 문제.

이와 관련해서, 예전에 글을 올린 적이 있다.

이게 뭐냐 하면, 이런 거다.

  • Atom/Code 가 실행되어 있지 않은 상태에서, 런처(또는 터미널)을 통해 실행하면, 이전에 작업하던 문서들이 그대로 열린 상태가 된다.
  • Atom/Code 가 실행되어 있는 상태에서, 파일관리자(또는 터미널)에서 특정 파일을 지정하여 열었을 때, 그 파일은 기존에 열린 파일들(탭)에 추가되어 새로운 탭으로 열린다.
  • Atom/Code 가 실행되어 있지 않은 상태에서, 파일관리자(또는 터미널)을 통해 특정 파일을 지정하여 열었을 때, 이미 열려있던 탭은 모두 사라지고, 새로 연 파일만 창에 뜨게 된다.

이게 ‘기본’ 기능이라고, Atom 과 VS Code 개발자들은 주장하고 있다. 그러나.. 지금껏 내가 써본 편집기(IDE?) 중, 오로지 Atom/VS Code 에만 이런 기능이 있었다.

나는, 닫힌 상태에서 새로운 파일을 열더라도, 기존 파일들이 유지되기를 원한다. 적어도 SublimeText 는 이게 되고, Windows 용 N++ 도 된다고 한다.

이 기능을 설정에 넣어주는게 그렇게 어려운, 또는 자신들의 철학(?)에 위배되는 일인가???

잠시 딴 얘기를 하자면..
최근 (외국)개발자들 사이에선 Atom 보다는 VS Code 가 훨씬 인기가 있나보다. 몇몇 글에서, Atom 을 쓰다가 VS Code 로 갈아탔다는 내용을 읽을 수 있었다. 아마도, MS 및 Windows 쪽 사용자들이 대거 유입된 게 아닌가하고 막연히 짐작해보지만, 실제로 개발 진척도에서도 Atom 보다 VS Code 쪽이 훨씬 빠른가보다.

그리고, 둘 모두 Electron 기반이었다. Atom 은 알고 있었으나, VS Code 도 그런 줄은 몰랐다.
아무튼, Electron 이기에, 두 개의 행동방식이 비슷한건가? 적어도 Sublime Text 는 이렇지 않은데..


#추가!
아래 방법보다는, 새롭게 고안해본 이 방법이 더 나을 듯 하다.


아래 내용은, 참고로 그냥 남겨둔다.

그동안 Atom 에선 Project Plus 도 쓰고, 미리 Atom 을 실행하는 식으로 피해갔었다.
그러다 오늘, 드디어 해결책(늘 그렇지만, 우회책(迂廻策)이지)을 찾았다. 일단은 VS Code 로만 적용했으나, 아마도 Atom 에도 동일하게 적용될 것이라 생각된다.

위 글에선 두가지 방법을 제시하고 있다. CLI 와 GUI 모두.

먼저 CLI. Alias 에 다음 내용을 추가한다. (Linux/macOS 에서 모두 쓸 수 있다.)

alias code="code && code"

macOS 에서는, code 의 실행경로를 추가해줘야 한다.
자동으로 처리해줄 수도 있지만, zsh 등을 사용한다면 수동으로 추가해줘야 한다.

# ~/.zshrc 다음 행 추가
export PATH="/Applications/Visual\ Studio\ Code.app/Contents/Resources/app/bin:$PATH"

GUI 는 살짝 복잡(?)하다. (Linux에서만)

cp /usr/share/applications/code.desktop ~/.local/share/applications/
vim ~/.local/share/applications/code.desktop
# 그리고, 다음 두 줄을 바꾼다.
#Exec=/usr/share/code/code --unity-launch %F
Exec=sh -c '/usr/bin/code && /usr/bin/code --unity-launch "%F"'

#Exec=/usr/share/code/code --new-window %F
Exec=sh -c '/usr/bin/code && /usr/bin/code --new-window "%F"'

원래 글에는 %F 에 따옴표 처리를 해주지 않았는데, 그리되면 공백이 들어간 디렉토리나 파일명이 들어갔을 때 오류가 발생한다.

또, 원래 명령어는 /usr/share/code/code 인데, 이걸 그대로 쓰면 뭔가 살짝 오류가 발생한다. 원 글처럼 /usr/bin/code 로 해줘야 원하는 효과를 얻을 수 있다.

이렇게 또 살짝 꽃삽질?

리눅스에선 이렇게 해결할 수 있었는데, macOS 에선 아직까진 alias 로만, 즉 Terminal 만 된다.


그런데.. 이게 살짝 문제가 있다.
새로운 파일을 열 때는, 이렇게 하면 아무 문제가 없는데, 그냥 VS Code 를 실행시킬 땐 창이 2개가 떠버린다. 원래 편집하던 창과, Welcome 을 알리는 창.

뭔가 세밀한 작업이 필요할 듯은 한데…

안녕하세요. 글 남겨주셔서 고맙습니다.