[visual-studio-code] Visual Studio Code 확장을 오프라인으로 설치하려면 어떻게해야합니까?

인터넷에 연결되어 있지 않거나 연결할 수없는 컴퓨터에 Visual Studio Code를 설치했습니다. 문서에 따르면 ,이 있으면 명령 줄에서 확장을 설치할 수 .vsix있지만 .vsix시장에서 얻는 방법을 모르겠습니다 .

마켓 플레이스에서.vsix 호스팅되는 확장 프로그램을 다운로드하려면 어떻게 해야합니까?



답변

2017-12-13 업데이트

이제 확장 프로그램을 마켓 플레이스 에서 직접 다운로드 할 수 있습니다 .

여기에 이미지 설명을 입력하십시오

Visual Studio Code 1.7.1부터 확장을 드래그하거나 여는 기능이 더 이상 작동하지 않습니다. 수동으로 설치하려면 다음을 수행해야합니다.

  • 확장 사이드 바를 엽니 다
  • 오른쪽 상단에서 줄임표를 클릭하십시오
  • VSIX에서 설치를 선택하십시오.

VSIX에서 설치 ...


오래된 방법

설명서 에 따르면 확장을 직접 다운로드 할 수 있습니다.

확장 프로그램의 직접 다운로드 URL은 다음과 같은 형식입니다.

https://${publisher}.gallery.vsassets.io/_apis/public/gallery/publisher/${publisher}/extension/${extension name}/${version}/assetbyname/Microsoft.VisualStudio.Services.VSIXPackage

즉, 확장을 다운로드하려면 알아야합니다.

  • 출판사 이름
  • 버전
  • 확장명

이 모든 정보는 URL에서 찾을 수 있습니다.

다음은 C # v1.3.0 설치를 다운로드하는 예입니다. 확장 .

출판사, 확장 및 버전

URL의 확장 프로그램 홈페이지에서 게시자와 확장명을 찾을 수 있습니다.

https://marketplace.visualstudio.com/items?itemName= MS-vscode . 날카로운

여기에 게시자는 ms-vscode있고 확장명은csharp 입니다.

버전은 추가 정보 의 오른쪽에 있습니다. 영역 있습니다.

다운로드하려면 위의 템플릿에서 링크를 만들어야합니다.

https://ms-vscode.gallery.vsassets.io/_apis/public/gallery/publisher/ms-vscode/extension/csharp/1.3.0/assetbyname/Microsoft.VisualStudio.Services.VSIXPackage

모든 패키지의 이름은 Microsoft.VisualStudio.Services.VSIXPackage 와 동일 하므로 나중에 어떤 패키지인지 알고 싶으면 다운로드 후 이름을 바꿔야합니다.

설치

확장을 설치하려면

  • 파일 이름을 바꾸고 *.vsix확장자를 지정하십시오
  • Visual Studio를 엽니 코드, 메뉴로 이동 파일파일 열기 … 또는 Ctrl+ O와 선택 .vsix파일을
  • 모든 것이 잘 되었다면 창 상단에 다음과 같은 메시지가 나타납니다.

확장이 성공적으로 설치되었습니다. 사용하려면 다시 시작하십시오.


답변

t3chb0t의 답변에 추가하여 다운로드 옵션이 보이지 않는 이유를 모르므로 GreaseMonkey / TamperMonkey를 사용하는 사람들을위한 패치를 만들었습니다. 여기 에서 요점 코드를 찾을 수 있습니다

또는 브라우저 콘솔에 아래 줄을 붙여 넣으면 링크가 마술처럼 나타납니다.

let version = document.querySelector('.ux-table-metadata > tbody:nth-child(1) > tr:nth-child(1) > td:nth-child(2) > div:nth-child(1)').innerText
    , itemDetails = window.location.search.replace('?', '').split('&').filter(str => !str.indexOf('itemName')).map(str => str.split('=')[1])[0]
    , [author, extension] = itemDetails.split('.')
    , lAuthor = author.toLowerCase()
    , href = `https://${lAuthor}.gallery.vsassets.io:443/_apis/public/gallery/publisher/${author}/extension/${extension}/${version}/assetbyname/Microsoft.VisualStudio.Services.VSIXPackage`
    , element = document.createElement('a');


element.href = href;
element.className = 'vscode-moreinformation dark';
element.innerHTML = 'download .vsix file';
element.download  = `${extension}.${version}.vsix`;
document.querySelector('.vscode-install-info-container').appendChild(element);


답변

이러한 모든 제안은 훌륭하지만 URL을 구성하는 코드를 실행하거나 손으로 미친 URL을 구성하는 것은 성가 시므로 따르기가 쉽지 않습니다 …

그래서 빠른 웹 앱을 만들어서 더 쉽게 만들었습니다. 원하는 확장의 URL을 붙여 넣으면 이미 올바르게 이름이 지정된 확장명이 다운로드됩니다. publisher-extension-version.vsix.

누군가가 도움이 되기를 바랍니다 :
http://vscode-offline.herokuapp.com/


답변

현재 최신 확장 버전의 다운로드 URL은 Marketplace의 페이지 소스 (예 : URL의 소스)에 그대로 포함되어 있습니다.

https://marketplace.visualstudio.com/items?itemName=lukasz-wronski.ftp-sync

문자열을 포함합니다 :

https://lukasz-wronski.gallerycdn.vsassets.io/extensions/lukasz-wronski/ftp-sync/0.3.3/1492669004156/Microsoft.VisualStudio.Services.VSIXPackage

dl URL을 추출하기 위해 다음 Python regexp를 사용합니다.

urlre = re.search(r'source.+(http.+Microsoft\.VisualStudio\.Services\.VSIXPackage)', content)
if urlre:
    return urlre.group(1)


답변

다른 사람 이이 문제를 겪을 경우 PowerShell 다운로드 옵션을 파일에 던지기를 원했습니다. 오프라인 시나리오가 여러 개 있는데 이것을 오프라인에서 사용하는 모든 확장을 다운로드하고 업데이트하기 위해 루프에서 실행합니다.

$page = Invoke-WebRequest -Uri 'https://marketplace.visualstudio.com/items?itemName=ms-vscode.PowerShell'

$details = ( $page.Scripts | ? {$_.class -eq 'vss-extension'}).innerHTML | Convertfrom-Json

$extensionName = $details.extensionName
$publisher     = $details.publisher.publisherName
$version       = $details.versions.version

Invoke-WebRequest -uri "$($details.versions.fallbackAssetUri)/Microsoft.VisualStudio.Services.VSIXPackage" `
                  -OutFile "C:\Scripts\extensions\$publisher.$extensionName.$version.VSIX"


답변

t3chb0t의 훌륭한 답변에 추가-다음 PowerShell 명령을 사용하여 모든 VSCode 확장을 폴더에 설치하십시오.

cd C:\PathToFolderWithManyDownloadedExtensionFiles
Get-ChildItem . -Filter *.vsix | ForEach-Object { code --install-extension $_.FullName }

그런 다음 VSCode를 다시로드하여 설치를 완료하십시오.


답변

이제 “자원”섹션에서 직접 확장을 다운로드 할 수 있습니다. “확장 다운로드”링크가 있습니다.이 정보가 여전히 유용하기를 바랍니다.