인터넷에 연결되어 있지 않거나 연결할 수없는 컴퓨터에 Visual Studio Code를 설치했습니다. 문서에 따르면 ,이 있으면 명령 줄에서 확장을 설치할 수 .vsix
있지만 .vsix
시장에서 얻는 방법을 모르겠습니다 .
마켓 플레이스에서.vsix
호스팅되는 확장 프로그램을 다운로드하려면 어떻게 해야합니까?
답변
2017-12-13 업데이트
이제 확장 프로그램을 마켓 플레이스 에서 직접 다운로드 할 수 있습니다 .
Visual Studio Code 1.7.1부터 확장을 드래그하거나 여는 기능이 더 이상 작동하지 않습니다. 수동으로 설치하려면 다음을 수행해야합니다.
- 확장 사이드 바를 엽니 다
- 오른쪽 상단에서 줄임표를 클릭하십시오
- 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
입니다.
버전은 추가 정보 의 오른쪽에 있습니다. 영역 있습니다.
다운로드하려면 위의 템플릿에서 링크를 만들어야합니다.
모든 패키지의 이름은 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를 다시로드하여 설치를 완료하십시오.
답변
이제 “자원”섹션에서 직접 확장을 다운로드 할 수 있습니다. “확장 다운로드”링크가 있습니다.이 정보가 여전히 유용하기를 바랍니다.