[英]VSCode: How do I enable one specific extension with all other extensions disabled?
[英]How do I run integration tests for a vscode extension that depends on other extensions
vscode API 文檔包括一個關於如何測試擴展的頁面。 當您有一個沒有依賴項的單個擴展時,這很有效。 然而,在我們的例子中,我們是extensionDependencies
因為我們的擴展依賴於hbenl.vscode-test-explorer
。
在我們的 CI 服務器上,我們有一個問題,在安裝此依賴項之前我們無法運行測試,但是 vscode 的測試 API 沒有公開用於安裝擴展的 API。
我們可以下載我們自己的 vscode 副本並使用--install-extension
命令來安裝此依賴項,但這使事情變得復雜,因為現在我們正在管理 API 用於管理的下載。
我想探討兩種合理的可能性:
extensionDependencies
時禁用 extensionDependencies?vscode-test
運行的一部分,如何下載依賴項?不知何故,我在文檔中錯過了這一點。 使用vscode-test
自定義設置。
代碼可在鏈接中找到,所以我不會復制所有內容。 這是最相關的部分:
const vscodeExecutablePath = await downloadAndUnzipVSCode('stable');
const cliPath = resolveCliPathFromVSCodeExecutablePath(vscodeExecutablePath);
// Use cp.spawn / cp.exec for custom setup
cp.spawnSync(cliPath, ['--install-extension', '<EXTENSION-ID-OR-PATH-TO-VSIX>'], {
encoding: 'utf-8',
stdio: 'inherit'
});
嘗試應用 Andrew 的解決方案時的一些附加信息。
test-electro
添加到您的項目中在package.json
在"devDependencies":
添加"@vscode/test-electron": "^1.6.2",
(選擇合適的版本,適合你)
打開擴展信息頁面(就像安裝擴展時一樣)。 您可以在單擊齒輪時復制擴展 ID (見下文)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.