Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
e83010a4
V
vscode
项目概览
掘金者说
/
vscode
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vscode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
e83010a4
编写于
7月 21, 2020
作者:
R
rebornix
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
silent fail when the documents events are wrong
上级
baeae3e3
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
129 addition
and
10 deletion
+129
-10
extensions/vscode-notebook-tests/src/notebook.test.ts
extensions/vscode-notebook-tests/src/notebook.test.ts
+126
-7
scripts/test-integration.bat
scripts/test-integration.bat
+3
-3
未找到文件。
extensions/vscode-notebook-tests/src/notebook.test.ts
浏览文件 @
e83010a4
...
...
@@ -70,6 +70,36 @@ async function saveFileAndCloseAll(resource: vscode.Uri) {
await
documentClosed
;
}
async
function
saveAllFilesAndCloseAll
(
resource
:
vscode
.
Uri
)
{
const
documentClosed
=
new
Promise
((
resolve
,
_reject
)
=>
{
const
d
=
vscode
.
notebook
.
onDidCloseNotebookDocument
(
e
=>
{
if
(
e
.
uri
.
toString
()
===
resource
.
toString
())
{
d
.
dispose
();
resolve
();
}
});
});
await
vscode
.
commands
.
executeCommand
(
'
workbench.action.files.saveAll
'
);
await
vscode
.
commands
.
executeCommand
(
'
workbench.action.closeAllEditors
'
);
await
documentClosed
;
}
function
assertInitalState
()
{
if
(
vscode
.
notebook
.
activeNotebookEditor
!==
undefined
)
{
return
false
;
}
if
(
vscode
.
notebook
.
notebookDocuments
.
length
!==
0
)
{
return
false
;
}
if
(
vscode
.
notebook
.
visibleNotebookEditors
.
length
!==
0
)
{
return
false
;
}
return
true
;
}
suite
(
'
Notebook API tests
'
,
()
=>
{
// test.only('crash', async function () {
// for (let i = 0; i < 200; i++) {
...
...
@@ -97,6 +127,9 @@ suite('Notebook API tests', () => {
// });
test
(
'
document open/close event
'
,
async
function
()
{
if
(
!
assertInitalState
())
{
return
;
}
const
resource
=
vscode
.
Uri
.
file
(
join
(
vscode
.
workspace
.
rootPath
||
''
,
'
./first.vsctestnb
'
));
const
firstDocumentOpen
=
getEventOncePromise
(
vscode
.
notebook
.
onDidOpenNotebookDocument
);
await
vscode
.
commands
.
executeCommand
(
'
vscode.openWith
'
,
resource
,
'
notebookCoreTest
'
);
...
...
@@ -108,6 +141,9 @@ suite('Notebook API tests', () => {
});
test
(
'
shared document in notebook editors
'
,
async
function
()
{
if
(
!
assertInitalState
())
{
return
;
}
const
resource
=
vscode
.
Uri
.
file
(
join
(
vscode
.
workspace
.
rootPath
||
''
,
'
./first.vsctestnb
'
));
let
counter
=
0
;
const
disposables
:
vscode
.
Disposable
[]
=
[];
...
...
@@ -129,6 +165,9 @@ suite('Notebook API tests', () => {
});
test
(
'
editor open/close event
'
,
async
function
()
{
if
(
!
assertInitalState
())
{
return
;
}
const
resource
=
vscode
.
Uri
.
file
(
join
(
vscode
.
workspace
.
rootPath
||
''
,
'
./first.vsctestnb
'
));
const
firstEditorOpen
=
getEventOncePromise
(
vscode
.
notebook
.
onDidChangeVisibleNotebookEditors
);
await
vscode
.
commands
.
executeCommand
(
'
vscode.openWith
'
,
resource
,
'
notebookCoreTest
'
);
...
...
@@ -140,6 +179,9 @@ suite('Notebook API tests', () => {
});
test
(
'
editor open/close event 2
'
,
async
function
()
{
if
(
!
assertInitalState
())
{
return
;
}
const
resource
=
vscode
.
Uri
.
file
(
join
(
vscode
.
workspace
.
rootPath
||
''
,
'
./first.vsctestnb
'
));
let
count
=
0
;
const
disposables
:
vscode
.
Disposable
[]
=
[];
...
...
@@ -158,6 +200,9 @@ suite('Notebook API tests', () => {
});
test
(
'
editor editing event 2
'
,
async
function
()
{
if
(
!
assertInitalState
())
{
return
;
}
const
resource
=
vscode
.
Uri
.
file
(
join
(
vscode
.
workspace
.
rootPath
||
''
,
'
./first.vsctestnb
'
));
await
vscode
.
commands
.
executeCommand
(
'
vscode.openWith
'
,
resource
,
'
notebookCoreTest
'
);
...
...
@@ -230,6 +275,9 @@ suite('Notebook API tests', () => {
});
test
(
'
editor move cell event
'
,
async
function
()
{
if
(
!
assertInitalState
())
{
return
;
}
const
resource
=
vscode
.
Uri
.
file
(
join
(
vscode
.
workspace
.
rootPath
||
''
,
'
./first.vsctestnb
'
));
await
vscode
.
commands
.
executeCommand
(
'
vscode.openWith
'
,
resource
,
'
notebookCoreTest
'
);
await
vscode
.
commands
.
executeCommand
(
'
notebook.cell.insertCodeCellBelow
'
);
...
...
@@ -271,6 +319,9 @@ suite('Notebook API tests', () => {
});
test
(
'
notebook editor active/visible
'
,
async
function
()
{
if
(
!
assertInitalState
())
{
return
;
}
const
resource
=
vscode
.
Uri
.
file
(
join
(
vscode
.
workspace
.
rootPath
||
''
,
'
./first.vsctestnb
'
));
await
vscode
.
commands
.
executeCommand
(
'
vscode.openWith
'
,
resource
,
'
notebookCoreTest
'
);
const
firstEditor
=
vscode
.
notebook
.
activeNotebookEditor
;
...
...
@@ -306,6 +357,9 @@ suite('Notebook API tests', () => {
});
test
(
'
notebook active editor change
'
,
async
function
()
{
if
(
!
assertInitalState
())
{
return
;
}
const
resource
=
vscode
.
Uri
.
file
(
join
(
vscode
.
workspace
.
rootPath
||
''
,
'
./first.vsctestnb
'
));
const
firstEditorOpen
=
getEventOncePromise
(
vscode
.
notebook
.
onDidChangeActiveNotebookEditor
);
await
vscode
.
commands
.
executeCommand
(
'
vscode.openWith
'
,
resource
,
'
notebookCoreTest
'
);
...
...
@@ -315,11 +369,13 @@ suite('Notebook API tests', () => {
await
vscode
.
commands
.
executeCommand
(
'
workbench.action.splitEditor
'
);
await
firstEditorDeactivate
;
await
vscode
.
commands
.
executeCommand
(
'
workbench.action.files.save
'
);
await
vscode
.
commands
.
executeCommand
(
'
workbench.action.closeAllEditors
'
);
await
saveFileAndCloseAll
(
resource
);
});
test
(
'
edit API
'
,
async
function
()
{
if
(
!
assertInitalState
())
{
return
;
}
const
resource
=
vscode
.
Uri
.
file
(
join
(
vscode
.
workspace
.
rootPath
||
''
,
'
./first.vsctestnb
'
));
await
vscode
.
commands
.
executeCommand
(
'
vscode.openWith
'
,
resource
,
'
notebookCoreTest
'
);
...
...
@@ -339,6 +395,9 @@ suite('Notebook API tests', () => {
});
test
(
'
initialzation should not emit cell change events.
'
,
async
function
()
{
if
(
!
assertInitalState
())
{
return
;
}
const
resource
=
vscode
.
Uri
.
file
(
join
(
vscode
.
workspace
.
rootPath
||
''
,
'
./first.vsctestnb
'
));
let
count
=
0
;
...
...
@@ -358,6 +417,9 @@ suite('Notebook API tests', () => {
suite
(
'
notebook workflow
'
,
()
=>
{
test
(
'
notebook open
'
,
async
function
()
{
if
(
!
assertInitalState
())
{
return
;
}
const
resource
=
vscode
.
Uri
.
file
(
join
(
vscode
.
workspace
.
rootPath
||
''
,
'
./first.vsctestnb
'
));
await
vscode
.
commands
.
executeCommand
(
'
vscode.openWith
'
,
resource
,
'
notebookCoreTest
'
);
assert
.
equal
(
vscode
.
notebook
.
activeNotebookEditor
!==
undefined
,
true
,
'
notebook first
'
);
...
...
@@ -379,6 +441,9 @@ suite('notebook workflow', () => {
});
test
(
'
notebook cell actions
'
,
async
function
()
{
if
(
!
assertInitalState
())
{
return
;
}
const
resource
=
vscode
.
Uri
.
file
(
join
(
vscode
.
workspace
.
rootPath
||
''
,
'
./first.vsctestnb
'
));
await
vscode
.
commands
.
executeCommand
(
'
vscode.openWith
'
,
resource
,
'
notebookCoreTest
'
);
assert
.
equal
(
vscode
.
notebook
.
activeNotebookEditor
!==
undefined
,
true
,
'
notebook first
'
);
...
...
@@ -452,6 +517,9 @@ suite('notebook workflow', () => {
});
test
(
'
notebook join cells
'
,
async
function
()
{
if
(
!
assertInitalState
())
{
return
;
}
const
resource
=
vscode
.
Uri
.
file
(
join
(
vscode
.
workspace
.
rootPath
||
''
,
'
./first.vsctestnb
'
));
await
vscode
.
commands
.
executeCommand
(
'
vscode.openWith
'
,
resource
,
'
notebookCoreTest
'
);
assert
.
equal
(
vscode
.
notebook
.
activeNotebookEditor
!==
undefined
,
true
,
'
notebook first
'
);
...
...
@@ -475,6 +543,9 @@ suite('notebook workflow', () => {
});
test
(
'
move cells will not recreate cells in ExtHost
'
,
async
function
()
{
if
(
!
assertInitalState
())
{
return
;
}
const
resource
=
vscode
.
Uri
.
file
(
join
(
vscode
.
workspace
.
rootPath
||
''
,
'
./first.vsctestnb
'
));
await
vscode
.
commands
.
executeCommand
(
'
vscode.openWith
'
,
resource
,
'
notebookCoreTest
'
);
await
vscode
.
commands
.
executeCommand
(
'
notebook.cell.insertCodeCellBelow
'
);
...
...
@@ -519,6 +590,9 @@ suite('notebook workflow', () => {
// });
test
(
'
cell runnable metadata is respected
'
,
async
()
=>
{
if
(
!
assertInitalState
())
{
return
;
}
const
resource
=
vscode
.
Uri
.
file
(
join
(
vscode
.
workspace
.
rootPath
||
''
,
'
./first.vsctestnb
'
));
await
vscode
.
commands
.
executeCommand
(
'
vscode.openWith
'
,
resource
,
'
notebookCoreTest
'
);
assert
.
equal
(
vscode
.
notebook
.
activeNotebookEditor
!==
undefined
,
true
,
'
notebook first
'
);
...
...
@@ -540,6 +614,9 @@ suite('notebook workflow', () => {
});
test
(
'
document runnable metadata is respected
'
,
async
()
=>
{
if
(
!
assertInitalState
())
{
return
;
}
const
resource
=
vscode
.
Uri
.
file
(
join
(
vscode
.
workspace
.
rootPath
||
''
,
'
./first.vsctestnb
'
));
await
vscode
.
commands
.
executeCommand
(
'
vscode.openWith
'
,
resource
,
'
notebookCoreTest
'
);
assert
.
equal
(
vscode
.
notebook
.
activeNotebookEditor
!==
undefined
,
true
,
'
notebook first
'
);
...
...
@@ -562,6 +639,9 @@ suite('notebook workflow', () => {
suite
(
'
notebook dirty state
'
,
()
=>
{
test
(
'
notebook open
'
,
async
function
()
{
if
(
!
assertInitalState
())
{
return
;
}
const
resource
=
vscode
.
Uri
.
file
(
join
(
vscode
.
workspace
.
rootPath
||
''
,
'
./first.vsctestnb
'
));
await
vscode
.
commands
.
executeCommand
(
'
vscode.openWith
'
,
resource
,
'
notebookCoreTest
'
);
assert
.
equal
(
vscode
.
notebook
.
activeNotebookEditor
!==
undefined
,
true
,
'
notebook first
'
);
...
...
@@ -592,6 +672,9 @@ suite('notebook dirty state', () => {
suite
(
'
notebook undo redo
'
,
()
=>
{
test
(
'
notebook open
'
,
async
function
()
{
if
(
!
assertInitalState
())
{
return
;
}
const
resource
=
vscode
.
Uri
.
file
(
join
(
vscode
.
workspace
.
rootPath
||
''
,
'
./first.vsctestnb
'
));
await
vscode
.
commands
.
executeCommand
(
'
vscode.openWith
'
,
resource
,
'
notebookCoreTest
'
);
assert
.
equal
(
vscode
.
notebook
.
activeNotebookEditor
!==
undefined
,
true
,
'
notebook first
'
);
...
...
@@ -634,6 +717,9 @@ suite('notebook undo redo', () => {
});
test
.
skip
(
'
execute and then undo redo
'
,
async
function
()
{
if
(
!
assertInitalState
())
{
return
;
}
const
resource
=
vscode
.
Uri
.
file
(
join
(
vscode
.
workspace
.
rootPath
||
''
,
'
./first.vsctestnb
'
));
await
vscode
.
commands
.
executeCommand
(
'
vscode.openWith
'
,
resource
,
'
notebookCoreTest
'
);
...
...
@@ -740,6 +826,9 @@ suite('notebook working copy', () => {
// });
test
(
'
multiple tabs: dirty + clean
'
,
async
function
()
{
if
(
!
assertInitalState
())
{
return
;
}
const
resource
=
vscode
.
Uri
.
file
(
join
(
vscode
.
workspace
.
rootPath
||
''
,
'
./first.vsctestnb
'
));
await
vscode
.
commands
.
executeCommand
(
'
vscode.openWith
'
,
resource
,
'
notebookCoreTest
'
);
await
vscode
.
commands
.
executeCommand
(
'
notebook.cell.insertCodeCellBelow
'
);
...
...
@@ -765,6 +854,9 @@ suite('notebook working copy', () => {
});
test
(
'
multiple tabs: two dirty tabs and switching
'
,
async
function
()
{
if
(
!
assertInitalState
())
{
return
;
}
const
resource
=
vscode
.
Uri
.
file
(
join
(
vscode
.
workspace
.
rootPath
||
''
,
'
./first.vsctestnb
'
));
await
vscode
.
commands
.
executeCommand
(
'
vscode.openWith
'
,
resource
,
'
notebookCoreTest
'
);
await
vscode
.
commands
.
executeCommand
(
'
notebook.cell.insertCodeCellBelow
'
);
...
...
@@ -796,11 +888,15 @@ suite('notebook working copy', () => {
assert
.
deepEqual
(
vscode
.
notebook
.
activeNotebookEditor
?.
document
.
cells
.
length
,
2
);
assert
.
equal
(
vscode
.
notebook
.
activeNotebookEditor
?.
selection
?.
document
.
getText
(),
''
);
await
vscode
.
commands
.
executeCommand
(
'
workbench.action.files.saveAll
'
);
await
vscode
.
commands
.
executeCommand
(
'
workbench.action.closeAllEditors
'
);
await
saveAllFilesAndCloseAll
(
secondResource
);
// await vscode.commands.executeCommand('workbench.action.files.saveAll');
// await vscode.commands.executeCommand('workbench.action.closeAllEditors');
});
test
(
'
multiple tabs: different editors with same document
'
,
async
function
()
{
if
(
!
assertInitalState
())
{
return
;
}
const
resource
=
vscode
.
Uri
.
file
(
join
(
vscode
.
workspace
.
rootPath
||
''
,
'
./first.vsctestnb
'
));
await
vscode
.
commands
.
executeCommand
(
'
vscode.openWith
'
,
resource
,
'
notebookCoreTest
'
);
...
...
@@ -819,13 +915,18 @@ suite('notebook working copy', () => {
assert
.
equal
(
firstNotebookEditor
?.
document
,
secondNotebookEditor
?.
document
,
'
split notebook editors share the same document
'
);
assert
.
notEqual
(
firstNotebookEditor
?.
asWebviewUri
(
vscode
.
Uri
.
file
(
'
./hello.png
'
)),
secondNotebookEditor
?.
asWebviewUri
(
vscode
.
Uri
.
file
(
'
./hello.png
'
)));
await
vscode
.
commands
.
executeCommand
(
'
workbench.action.files.saveAll
'
);
await
vscode
.
commands
.
executeCommand
(
'
workbench.action.closeAllEditors
'
);
await
saveAllFilesAndCloseAll
(
resource
);
// await vscode.commands.executeCommand('workbench.action.files.saveAll');
// await vscode.commands.executeCommand('workbench.action.closeAllEditors');
});
});
suite
(
'
metadata
'
,
()
=>
{
test
(
'
custom metadata should be supported
'
,
async
function
()
{
if
(
!
assertInitalState
())
{
return
;
}
const
resource
=
vscode
.
Uri
.
file
(
join
(
vscode
.
workspace
.
rootPath
||
''
,
'
./first.vsctestnb
'
));
await
vscode
.
commands
.
executeCommand
(
'
vscode.openWith
'
,
resource
,
'
notebookCoreTest
'
);
assert
.
equal
(
vscode
.
notebook
.
activeNotebookEditor
!==
undefined
,
true
,
'
notebook first
'
);
...
...
@@ -838,7 +939,10 @@ suite('metadata', () => {
// TODO@rebornix skip as it crashes the process all the time
test
.
skip
(
'
custom metadata should be supported
'
,
async
function
()
{
test
.
skip
(
'
custom metadata should be supported 2
'
,
async
function
()
{
if
(
!
assertInitalState
())
{
return
;
}
const
resource
=
vscode
.
Uri
.
file
(
join
(
vscode
.
workspace
.
rootPath
||
''
,
'
./first.vsctestnb
'
));
await
vscode
.
commands
.
executeCommand
(
'
vscode.openWith
'
,
resource
,
'
notebookCoreTest
'
);
assert
.
equal
(
vscode
.
notebook
.
activeNotebookEditor
!==
undefined
,
true
,
'
notebook first
'
);
...
...
@@ -858,6 +962,9 @@ suite('metadata', () => {
suite
(
'
regression
'
,
()
=>
{
test
(
'
microsoft/vscode-github-issue-notebooks#26. Insert template cell in the new empty document
'
,
async
function
()
{
if
(
!
assertInitalState
())
{
return
;
}
const
resource
=
vscode
.
Uri
.
file
(
join
(
vscode
.
workspace
.
rootPath
||
''
,
'
./empty.vsctestnb
'
));
await
vscode
.
commands
.
executeCommand
(
'
vscode.openWith
'
,
resource
,
'
notebookCoreTest
'
);
assert
.
equal
(
vscode
.
notebook
.
activeNotebookEditor
!==
undefined
,
true
,
'
notebook first
'
);
...
...
@@ -867,6 +974,9 @@ suite('regression', () => {
});
test
(
'
#97830, #97764. Support switch to other editor types
'
,
async
function
()
{
if
(
!
assertInitalState
())
{
return
;
}
const
resource
=
vscode
.
Uri
.
file
(
join
(
vscode
.
workspace
.
rootPath
||
''
,
'
./empty.vsctestnb
'
));
await
vscode
.
commands
.
executeCommand
(
'
vscode.openWith
'
,
resource
,
'
notebookCoreTest
'
);
await
vscode
.
commands
.
executeCommand
(
'
notebook.cell.insertCodeCellBelow
'
);
...
...
@@ -886,6 +996,9 @@ suite('regression', () => {
// open text editor, pin, and then open a notebook
test
(
'
#96105 - dirty editors
'
,
async
function
()
{
if
(
!
assertInitalState
())
{
return
;
}
const
resource
=
vscode
.
Uri
.
file
(
join
(
vscode
.
workspace
.
rootPath
||
''
,
'
./empty.vsctestnb
'
));
await
vscode
.
commands
.
executeCommand
(
'
vscode.openWith
'
,
resource
,
'
default
'
);
const
edit
=
new
vscode
.
WorkspaceEdit
();
...
...
@@ -901,6 +1014,9 @@ suite('regression', () => {
});
test
(
'
#102411 - untitled notebook creation failed
'
,
async
function
()
{
if
(
!
assertInitalState
())
{
return
;
}
await
vscode
.
commands
.
executeCommand
(
'
workbench.action.files.newUntitledFile
'
,
{
viewType
:
'
notebookCoreTest
'
});
assert
.
notEqual
(
vscode
.
notebook
.
activeNotebookEditor
,
undefined
,
'
untitled notebook editor is not undefined
'
);
...
...
@@ -908,6 +1024,9 @@ suite('regression', () => {
});
test
(
'
#102423 - copy/paste shares the same text buffer
'
,
async
function
()
{
if
(
!
assertInitalState
())
{
return
;
}
const
resource
=
vscode
.
Uri
.
file
(
join
(
vscode
.
workspace
.
rootPath
||
''
,
'
./first.vsctestnb
'
));
await
vscode
.
commands
.
executeCommand
(
'
vscode.openWith
'
,
resource
,
'
notebookCoreTest
'
);
...
...
scripts/test-integration.bat
浏览文件 @
e83010a4
...
...
@@ -44,9 +44,6 @@ if "%INTEGRATION_TEST_ELECTRON_PATH%"=="" (
:: Tests in the extension host
call
"
%INTEGRATION_TEST_ELECTRON_PATH%
"
%~dp0
\..\extensions\vscode
-notebook-tests
\test
--enable-proposed-api
=
vscode
.vscode
-notebook-tests --extensionDevelopmentPath
=
%~dp0
\..\extensions\vscode
-notebook-tests --extensionTestsPath
=
%~dp0
\..\extensions\vscode
-notebook-tests
\out
--disable-telemetry --crash-reporter-directory
=
%VSCODECRASHDIR%
--no-cached-data --disable-updates --disable-extensions --user-data-dir
=
%VSCODEUSERDATADIR%
if
%errorlevel%
neq
0
exit
/b
%errorlevel%
call
"
%INTEGRATION_TEST_ELECTRON_PATH%
"
%~dp0
\..\extensions\vscode
-api-tests
\testWorkspace
--enable-proposed-api
=
vscode
.vscode
-api-tests --extensionDevelopmentPath
=
%~dp0
\..\extensions\vscode
-api-tests --extensionTestsPath
=
%~dp0
\..\extensions\vscode
-api-tests
\out\singlefolder
-tests --disable-telemetry --crash-reporter-directory
=
%VSCODECRASHDIR%
--no-cached-data --disable-updates --disable-extensions --user-data-dir
=
%VSCODEUSERDATADIR%
if
%errorlevel%
neq
0
exit
/b
%errorlevel%
...
...
@@ -65,6 +62,9 @@ if %errorlevel% neq 0 exit /b %errorlevel%
call
"
%INTEGRATION_TEST_ELECTRON_PATH%
"
$
%~dp0
\..\extensions\emmet\out\test\test
-fixtures --extensionDevelopmentPath
=
%~dp0
\..\extensions\emmet
--extensionTestsPath
=
%~dp0
\..\extensions\emmet\out\test
--disable-telemetry --crash-reporter-directory
=
%VSCODECRASHDIR%
--no-cached-data --disable-updates --disable-extensions --user-data-dir
=
%VSCODEUSERDATADIR%
.
if
%errorlevel%
neq
0
exit
/b
%errorlevel%
call
"
%INTEGRATION_TEST_ELECTRON_PATH%
"
%~dp0
\..\extensions\vscode
-notebook-tests
\test
--enable-proposed-api
=
vscode
.vscode
-notebook-tests --extensionDevelopmentPath
=
%~dp0
\..\extensions\vscode
-notebook-tests --extensionTestsPath
=
%~dp0
\..\extensions\vscode
-notebook-tests
\out
--disable-telemetry --crash-reporter-directory
=
%VSCODECRASHDIR%
--no-cached-data --disable-updates --disable-extensions --user-data-dir
=
%VSCODEUSERDATADIR%
if
%errorlevel%
neq
0
exit
/b
%errorlevel%
for
/f
"delims="
%%i
in
(
'node -p "require('
fs
').realpathSync.native(require('
os
').tmpdir())"'
)
do
set
TEMPDIR
=
%%i
set
GITWORKSPACE
=
%TEMPDIR%
\git
-
%RANDOM%
mkdir
%GITWORKSPACE%
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录