vscode의 remote fs 익스텐션 시 사용자 스니펫 사용

vscode의 remote fs 익스텐션 시 사용자 스니펫 사용

QA

vscode의 remote fs 익스텐션 시 사용자 스니펫 사용

본문

저는 vscode를 사용하여 코딩하고 있습니다.

vscode에서 제공하는 remote fs 익스텐션을 설치해서 사용중인데 

제가 만든 사용자 javascript 스니펫이 동작하지 않습니다.

remote fs에서 사용자 javascript 스니펫이 동작하려면 어떻게 해야하는지 아는분 계세요?

도움이 필요합니다.

 

이 질문에 댓글 쓰기 :

답변 1

원격 서버에 접속하여 해당 사용자의 스니펫 폴더를 확인. 

일반적으로 스니펫은 다음과 같은 경로에 위치합니다:

Linux/macOS: ~/.config/Code/User/snippets/
Windows: C:\Users\사용자이름\AppData\Roaming\Code\User\snippets\


원격 서버의 해당 경로에 사용자 정의 스니펫 파일을 생성하거나 복사 

스니펫 파일은 .json 확장자를 가집니다. 예를 들어, my-snippets.json과 같은 이름으로 생성합니다.

스니펫 파일에 사용자 정의 스니펫을 추가해줍니다. 

스니펫 파일은 JSON 형식으로 작성되며, 각 스니펫은 "prefix": { "스니펫 내용" } 형태로 정의해야 합니다.

 

예를 들어 다음과 같이 해볼 수 있습니다.


{
  "Print Console Log": {
    "prefix": "log",
    "body": [
      "console.log('$1');",
      "$2"
    ],
    "description": "Log output to the console"
  },
  "My Custom Snippet": {
    "prefix": "custom",
    "body": [
      "/* My Custom Snippet */",
      "$1"
    ],
    "description": "My custom snippet"
  }
}

 

스니펫 파일을 저장하고 원격 서버의 스니펫 폴더에 올려줍니다.

VSCode에서 Remote - SSH를 사용하여 해당 원격 서버에 접속합니다.

원격 서버에서 VSCode를 실행하면 사용자 정의 스니펫이 로드되어 동작하게 됩니다.

 

원격 환경에서는 로컬 환경과 독립적으로 설정되기 때문에, 해당 원격 서버에서 스니펫을 정의해야만 스니펫이 동작하게 되므로, 만약 여러 원격 서버에서 동일한 스니펫을 사용하고자 한다면, 스니펫 파일을 복사하여 각 원격 서버의 스니펫 폴더에 추가하면 됩니다.

Remote SSH는 네트워크를 통해 안전하게 원격 시스템에 로그인하고 명령을 실행하는 프로토콜입니다.

Remote FS는 원격파일시스템으로 서버의 파일시스템에 접근 하는 방식입니다.

Remote FS에서는 node.js가 설치가 되어있어야 합니다. 원격서버에서 node.js를 사용해서 스니펫을 실행해야 합니다.

즉 'node' 명령어를 사용하여 JavaScript 파일을 실행합니다.

스니펫 파일을 어떻게 작성하셨는지 모르기 때문에 대략적인 부분만 설명을 드린겁니다.

제가 서버에 저장한 javascript.json 파일 내용입니다.
{
// Place your snippets for javascript here. Each snippet is defined under a snippet name and has a prefix, body and
// description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the
// same ids are connected.
// Example:
"log": {
"prefix": "log",
"body": [
"console.log('$TM_LINE_NUMBER $1');"
],
"description": "console.log"
}
}

작성하신 스니펫 코드에는 문제가 없어 보입니다.
예를 들어, "prefix": "log"로 설정된 스니펫은 "log"라는 키워드를 입력하면 작동하게 되어 있습니다.

스니펫 파일은 Visual Studio Code의 스니펫 디렉토리에 위치해야 합니다. 일반적으로 윈도우즈 기준으로 C:\Users\사용자명\AppData\Roaming\Code\User\snippets 경로에 사용자별 스니펫 파일이 위치하며, macOS나 리눅스의 경우 ~/.config/Code/User/snippets 경로에 위치할 수도 있습니다.

답변을 주신대로 제가 리눅스서버에는 ~/.config/Code/User/snippets/javascript.json 파일을 생성하고 실행했는데도 javascript.json 파일이 실행이 되지 않습니다.
php.json파일은 서버에 php.json 파일을 업로드 하지 않았는데도 스니펫이 동작을 합니다.
javascript.json 파일이 실행되지 않는 이유를 모르겠네요

답변을 작성하시기 전에 로그인 해주세요.
전체 946
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT