VSCode에서 로컬 코드 명령과 RemoteSSH에서 코드 명령을 공존하는 방법
2615 단어 SSHRemoteDevelopmentVSCode
무슨 말을 하는 거야?
제목이 무엇을 말하고 있는지 모르겠다고 생각하기 때문에, 우선은 환경의 설명.
저는 집의 머신(macOS)을 모리모리스펙으로 하고 집에서는 그 머신을, 외출처에서는 노파소로부터 RemoteSSH를 사용해 작업을 하고 있습니다.
작업 환경을 이어받거나 외출처에서 컴파일해도 배터리 소비하지 않아도 되는 등 이점이 여러가지 있습니다.
그리고 VSCode에는 code
라는 CLI에서 VSCode를 여는 명령이 있습니다만, 이것이 실은 2종류 존재합니다.
path
설명
로컬 code 명령( /usr/local/bin/code
)
로컬 환경에서 사용하기 위한 code 명령. 많은 사람들이 이것을 사용해야합니다
RemoteSSH 시 code 명령( ~/.vscode-server/bin/<hash>/bin/code
)
리모트 접속시에 사용하기 위한 code 커멘드. RemoteSSH시에 사용함으로써 클라이언트 PC의 VSCode에서 작업 공간을 열어준다. (htps : // 여기.ゔぃすあ lsつぢお。 코 m / 드 cs / 레모테 / sh # _ 오 펜 g - 아 r 모두 l - 온 - 아레 모테 - 호 st)
무엇이 잘못되었나요?
에서 무엇이 문제인가 하면, 로컬의 code
커멘드를 인스톨 해 버리면, /user/local/bin/
부하에 인스톨 되기 (위해)때문에 앨리어스(alias)를 덧쓰기됩니다.
그러면 RemoteSSH로 연결 중에 code 명령을 실행해도 로컬 code 명령이 실행되어 버려 클라이언트로 하고 있는 노파소의 VSCode에는 아무것도 표시되지 않습니다.
RemoteSSH는 서버 (예 : 워크 스테이션)의 작업 공간을 직접 편집하는 것이 일반적인 사용법이라고 생각합니다.
하지만 제 경우에는 데스크톱 컴퓨터이므로 원격 환경이 로컬 환경이 될 수있는 조금 복잡한 환경입니다.
데스크톱 PC를 직접 사용할 때는 ローカルのcodeコマンド
를, RemoteSSH 할 때는 リモート用のcodeコマンド
라는 것이 이번 문제입니다.
해결책
로컬에서 사용 code
명령을 제거하고 .zshrc
또는 .bashrc
등에 다음 코드를 추가하기 만하면됩니다.
# codeコマンドがRemote SSHと競合しないように、`/usr/local/bin/`にはインストールせず、環境分岐させる
if [ -z "$VSCODE_IPC_HOOK_CLI" ]; then
# ※macOSの場合↓↓↓
alias code='/Applications/Visual\ Studio\ Code.app/Contents/Resources/app/bin/code'
fi
/Applications/Visual\ Studio\ Code.app/Contents/Resources/app/bin/code
는 로컬에서 실행되는 코드 명령의 원본입니다.
RemoteSSH시에 사용되는 환경 변수 $VSCODE_IPC_HOOK_CLI
가 존재하지 않는 경우, 즉 로컬로 실행할 때는, 어플리케이션내에 있는 code
커멘드를 직접 실행합니다.
이렇게 하면 /user/local/bin/
에 code 명령을 넣을 필요가 없어져 별칭을 덮어쓰지 않게 됩니다.
끝
실로 틈새 요망이라고 생각합니다만, 비망록으로서 남겨 둡니다.
다음은 iTerm 같은 터미널에서 code 명령 사용하고 싶다. 옛날부터 Github등에서 논의되고 있지만, 좋은 방법이 발견되지 않고…
Reference
이 문제에 관하여(VSCode에서 로컬 코드 명령과 RemoteSSH에서 코드 명령을 공존하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sskmy1024y/items/b3bdfa4b7c2c243e69bb
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
에서 무엇이 문제인가 하면, 로컬의
code
커멘드를 인스톨 해 버리면, /user/local/bin/
부하에 인스톨 되기 (위해)때문에 앨리어스(alias)를 덧쓰기됩니다.그러면 RemoteSSH로 연결 중에 code 명령을 실행해도 로컬 code 명령이 실행되어 버려 클라이언트로 하고 있는 노파소의 VSCode에는 아무것도 표시되지 않습니다.
RemoteSSH는 서버 (예 : 워크 스테이션)의 작업 공간을 직접 편집하는 것이 일반적인 사용법이라고 생각합니다.
하지만 제 경우에는 데스크톱 컴퓨터이므로 원격 환경이 로컬 환경이 될 수있는 조금 복잡한 환경입니다.
데스크톱 PC를 직접 사용할 때는
ローカルのcodeコマンド
를, RemoteSSH 할 때는 リモート用のcodeコマンド
라는 것이 이번 문제입니다.
해결책
로컬에서 사용 code
명령을 제거하고 .zshrc
또는 .bashrc
등에 다음 코드를 추가하기 만하면됩니다.
# codeコマンドがRemote SSHと競合しないように、`/usr/local/bin/`にはインストールせず、環境分岐させる
if [ -z "$VSCODE_IPC_HOOK_CLI" ]; then
# ※macOSの場合↓↓↓
alias code='/Applications/Visual\ Studio\ Code.app/Contents/Resources/app/bin/code'
fi
/Applications/Visual\ Studio\ Code.app/Contents/Resources/app/bin/code
는 로컬에서 실행되는 코드 명령의 원본입니다.
RemoteSSH시에 사용되는 환경 변수 $VSCODE_IPC_HOOK_CLI
가 존재하지 않는 경우, 즉 로컬로 실행할 때는, 어플리케이션내에 있는 code
커멘드를 직접 실행합니다.
이렇게 하면 /user/local/bin/
에 code 명령을 넣을 필요가 없어져 별칭을 덮어쓰지 않게 됩니다.
끝
실로 틈새 요망이라고 생각합니다만, 비망록으로서 남겨 둡니다.
다음은 iTerm 같은 터미널에서 code 명령 사용하고 싶다. 옛날부터 Github등에서 논의되고 있지만, 좋은 방법이 발견되지 않고…
Reference
이 문제에 관하여(VSCode에서 로컬 코드 명령과 RemoteSSH에서 코드 명령을 공존하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/sskmy1024y/items/b3bdfa4b7c2c243e69bb
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
# codeコマンドがRemote SSHと競合しないように、`/usr/local/bin/`にはインストールせず、環境分岐させる
if [ -z "$VSCODE_IPC_HOOK_CLI" ]; then
# ※macOSの場合↓↓↓
alias code='/Applications/Visual\ Studio\ Code.app/Contents/Resources/app/bin/code'
fi
Reference
이 문제에 관하여(VSCode에서 로컬 코드 명령과 RemoteSSH에서 코드 명령을 공존하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/sskmy1024y/items/b3bdfa4b7c2c243e69bb텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)