2016-08-15 2 views
1

나는 VS 코드 (자바 스크립트 사용)를위한 확장 기능을 개발 중이다. 이제 VS 코드가 설치된 경로가 필요합니다. 이 창을위한 방법입니다VS 코드 확장은 VS 코드의 설치 경로를 어떻게 얻습니까?

var child = require('child_process'); 
child.exec('reg query HKEY_CLASSES_ROOT\\*\\shell\\VSCode /v Icon', function (error, strOut, strError) { 
//some code... 
}) 

는 그러나 사용자가 제대로 만 VS 코드를 설치하는 동안 작동합니다. 이 폴더가 다른 컴퓨터에서 복사 된 경우 (레지스트리에 VS 코드가 없음)이 함수는 실패합니다. 한편

, 그것은 (내가 아무것도 찾을 수 없습니다) 리눅스 나 OS X에 도움이 될 수있는 API가 궁금

에 전혀 작동하지 수, 또는 다른 방법이 그 경로를 얻을 수 있습니다.

답변

1

왜 VSCODE 디렉토리가 필요한지 모르겠지만 내 extesion이있는 디렉토리가 필요합니다. 그리고는 다음과 같이 액세스 할 수는 다음과 출판사 이름은 내가 당신이 경우에 자신을 발견 답을 추가 거라고 생각

+0

글쎄, 내가 HTML 파일을 수정하고 싶기 때문에 vscode의 dir이 필요하다. 그리고 github ([shalldie/vscode-background] (https://github.com/shalldie/vscode-background/)) 프로젝트가 지금 막 길을 찾았습니다. 그렇지 않으면, 내가 voscode에 대한 개발을 포기했기 때문에, Atom의 확장을 개발하는 것이 더 쉽다는 것을 알았 기 때문에. – illyrix

0

package.json에

var myExtDir = vscode.extensions.getExtension ("publisher.name").extensionPath; 

다른 사람 같은 찾고 와서 맡은 일. 우분투에서

path.dirname(require.main.filename); 

/usr/share/code/resources/app/out 

(나를 위해) 및 Windows에서 반환

c:\Program Files\Microsoft VS Code\resources\app\out 

그것은 너무 OSX에 적합한 무언가를 반환해야합니다 반환합니다.

응용 프로그램이 설치된 위치 (이 경우 기본 위치)를 결정하기에 충분한 bootstrap.js가 들어있는 폴더입니다.

제 경우에는 vscode의 일부로 빌드 된 노드 모듈 (vscode-ripgrep) 중 하나에 대한 경로를 원했기 때문에 경로를 조금 더 처리해야하지만 작업은 수행됩니다.

0

VSCode는 node.js로 작성되고 사용되므로 컴퓨터, 사용자 및 노드 환경 변수에 모두 액세스 할 수 있습니다.

VSCode의 사용 된 설치 경로를 얻으려면 다음을 사용할 수 있습니다. 예를 들어

process.env.VSCODE_CWD

, 내 확장 한 첫 번째 일이 있다면, console.log(process.env.VSCODE_CWD) 디버그 콘솔 C:\Program Files\Microsoft VS Code (여기에 VSCode를 설치 한 곳)에 다음 내용이 인쇄됩니다.