Emacs유저가 VisualStudio Code를 사용해보았다.
최근에 VSCode(Visual Studio Code)에 대한 칭찬히 굉장히 많이 들리길래, 궁금해서 잠깐 접해본 기록을 남겨본다.
Emacs를 사용하면서 좋았던 점들은 아래와 같다.
- 키보드만으로 거의 모든 작업을 할 수 있다.
- 여러 언어에 대한 지원 ( Go to definition, syntax highlight, auto convention check 등 )
- Linux command line 명령어들이 편집기에서도 동일하다. (
Ctrl + a
,Ctrl + e
,Ctrl + r
등)
느낀점
다양한 언어를 테스트해보고 싶었으나, 최근에 많이 사용하는 Python에 대해서만 시도해보았다.
설치 & 환경설정이 편리하다.
Download 및 설치로 기본설치는 끝. Cross Flatform이라는 점에서 매우 합격이었다. 특히 환경설정 부분이 인상적이다.
좌측은 기본 설정값, 우측은 사용자 설정값. 좌측을 기준으로 우측값이 Overwrite되는 시스템이다.
데스크탑에서는 Linux를 사용하고, 개인용은 MacOS, 가끔은 Windows환경에서 작업해야 함에 있어서, 굉장히 매끄러워 좋았다. 특히, settings.json
으로 설정을 어디서나 적용할 수 있는 점은 .vimrc
나 .emacs
처럼 사용할 수 있어서, 환경설정에 대한 기존 경험을 유사하게 이어갈 수 있었다. 조만간 환경설정 Repository에 추가해야 할 듯.
간편한 Extensions
Extensions 설치가 정말 간편하다. Emacs의 package-list
와 비슷하다고 보면 된다.
시작하자마자 Emacs Keymaping
이라니! 하면서 바로 설치했다. (이미지에는 이미 설치했기 때문에 없음;)
있어도 Vim 키바인딩 정도만 기대했지, Emacs 키바인딩은 없을 줄 알았는데, 역시 구루님들은 이미 만들어놓으셨다.
어떤 언어를 사용하냐에 따라 확장을 설치하길 권장하는데, 시작화면에서 주로 쓰는 언어들의 확장을 설치하게 유도하는 부분도 UX적으로 매우 좋다는 생각이 들었다.
마음에 들었던 점은 별점, 다운횟수, ‘권장’탭이다. Emacs에서는 어떤 package가 좋은 평가를 받는지 좀처럼 알 수가 없었는데, 각 확장별로 이용에 대한 정보가 있기 때문에 유사 확장들 사이에서 고민할 필요가 없었다. 또한, 아주 가끔이지만 편집기에 변화를 주고싶을 때, 추천해주는 모듈을 써볼 수 있도록 권장 탭에 몇몇 확장들이 표시되는 부분도 편집기가 지루해지는 것을 막아줄 수 있을 것 같다.
훌륭한 go to definition
말이 필요없다. 따로 설정할 필요 없이 바로 지원된다. 심지어 emacs 키바인딩(M-.
)으로!
훌륭한 python interpreter 설정
pyenv를 사용중인데, 간편하게 각 환경별로 interpreter를 설정 할 수 있게 해주었다.
명령쉘(Cmd + Shift + p
)에서 python interpreter
라고 입력하면 아래와 같은 선택창으로 전환된다.
프로젝트 별 interperter를 선택해주면 끝-
마우스를 손대지 않고 사용할 수는 있지만, 단축키가 비교적 손이 많이 간다.
VSCode는 GUI기반이므로 마우스 사용이 기본전제되어 있는건지, 단축키만 사용하기엔 손이 조금 많이 움직여야 했다.
-
명령쉘:
Shift + Cmd + p
명령쉘로 대부분을 사용할 수는 있다. 이맥스의M-x
같은 기능. -
VCS:
Ctrl + Shift + g
-
add, diff: 탭 이동 및 엔터
add와 diff에 대한 단축키가 존재하는 것이 아니라, add와 diff아이콘을 탭이동하여 선택 및 실행 하는 방식이라 불편했다.
-
부분 스테이징: (명령쉘)
Git: stage selected range
작업을 한꺼번에 해놓고, 부분 스테이징 & 커밋을 자주 하는 편인데, 이게 조금 불편하다. 일단 한 파일의 diff로 가야 한다(탭탭-선택). Mark-set 모드(
C-spc
)로 영역을 직접 선택해서(C-n, C-p
), 명령쉘(Cmd + Shift + p
)을 열고,state selected
를 입력한다. 단축키만 사용 시, 가장 손이 많이 가는 작업중의 하나였다.
-
배경 투명도 미지원(!)
작업할 때, 편집기 창을 살짝 투명하게 해놓고 참고할 문서들을 뒤에 놓고 작업하면, 창 전환 할 필요가 없어서 좋았는데, VSCode는 Windows에서밖에 지원되지 않는다고 한다. Windows는 자체 라이브러리를 통해서 창 투명도를 조절하는 것 같은데, 언젠가 Linux, MacOS도 가능해지면 쓸 이유가 하나 더 늘어나겠지-
기타
파일을 저장해야 flake8 check가 적용된다. 편집하는 도중에는 오류 창이 업데이트되지 않는다 ㅠ.ㅠ 은근 불편하다. 나는 저장할 때마다 유닛테스트를 실행하게 해놓고 편집하는 편인데, 이 기능 때문에 시간이 오래걸리는 유닛테스트는 자동실행을 할 수 없다.
결론
Emacs를 접어두고 갈아타기에는 마우스 사용이라는 진입장벽이 존재한다. 마우스 없이 사용하기엔, Emacs보다 더 많은 단축키를 사용해야 하기 때문이다. 사용자 환경설정을 통해 개선할 수 있을것 같기도 한데, 다음에 다시 시도해보아야겠다.
간단한 스크립트나 로직을 테스트하기에는 굉장히 편리했다. Emacs보다 기본기능들이 예쁘게(!) 잘 표시되기 때문에, 능률이 향상되었던가?
MS의 기존제품과는 다른 자유도 때문에, 더 파보고 싶은 편집기라는 점은 확실하다.