Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
ab1d1ad5
V
vscode
项目概览
xxadev
/
vscode
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vscode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
ab1d1ad5
编写于
7月 14, 2020
作者:
B
Benjamin Pasero
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Web: integration test failures in workspace events (fix #102365)
上级
52786893
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
22 addition
and
2 deletion
+22
-2
extensions/vscode-api-tests/src/singlefolder-tests/workspace.test.ts
...vscode-api-tests/src/singlefolder-tests/workspace.test.ts
+4
-2
extensions/vscode-api-tests/src/utils.ts
extensions/vscode-api-tests/src/utils.ts
+4
-0
src/vs/workbench/api/browser/mainThreadEditors.ts
src/vs/workbench/api/browser/mainThreadEditors.ts
+14
-0
未找到文件。
extensions/vscode-api-tests/src/singlefolder-tests/workspace.test.ts
浏览文件 @
ab1d1ad5
...
...
@@ -5,7 +5,7 @@
import
*
as
assert
from
'
assert
'
;
import
*
as
vscode
from
'
vscode
'
;
import
{
createRandomFile
,
deleteFile
,
closeAllEditors
,
pathEquals
,
rndName
,
disposeAll
,
testFs
,
delay
,
withLogDisabled
}
from
'
../utils
'
;
import
{
createRandomFile
,
deleteFile
,
closeAllEditors
,
pathEquals
,
rndName
,
disposeAll
,
testFs
,
delay
,
withLogDisabled
,
revertAllDirty
}
from
'
../utils
'
;
import
{
join
,
posix
,
basename
}
from
'
path
'
;
import
*
as
fs
from
'
fs
'
;
import
{
TestFS
}
from
'
../memfs
'
;
...
...
@@ -288,7 +288,7 @@ suite('vscode API - workspace', () => {
const
file
=
await
createRandomFile
();
let
disposables
:
vscode
.
Disposable
[]
=
[];
await
vscode
.
workspace
.
saveAll
();
await
revertAllDirty
();
// needed for a clean state for `onDidSaveTextDocument` (#102365)
let
pendingAsserts
:
Function
[]
=
[];
let
onDidOpenTextDocument
=
false
;
...
...
@@ -330,6 +330,8 @@ suite('vscode API - workspace', () => {
let
disposables
:
vscode
.
Disposable
[]
=
[];
let
pendingAsserts
:
Function
[]
=
[];
await
revertAllDirty
();
// needed for a clean state for `onDidSaveTextDocument` (#102365)
let
onDidSaveTextDocument
=
false
;
disposables
.
push
(
vscode
.
workspace
.
onDidSaveTextDocument
(
e
=>
{
pendingAsserts
.
push
(()
=>
assertEqualPath
(
e
.
uri
.
fsPath
,
file
.
fsPath
));
...
...
extensions/vscode-api-tests/src/utils.ts
浏览文件 @
ab1d1ad5
...
...
@@ -48,6 +48,10 @@ export function closeAllEditors(): Thenable<any> {
return
vscode
.
commands
.
executeCommand
(
'
workbench.action.closeAllEditors
'
);
}
export
async
function
revertAllDirty
():
Promise
<
void
>
{
return
vscode
.
commands
.
executeCommand
(
'
_workbench.revertAllDirty
'
);
}
export
function
disposeAll
(
disposables
:
vscode
.
Disposable
[])
{
vscode
.
Disposable
.
from
(...
disposables
).
dispose
();
}
...
...
src/vs/workbench/api/browser/mainThreadEditors.ts
浏览文件 @
ab1d1ad5
...
...
@@ -27,6 +27,8 @@ import { IEditorGroupsService } from 'vs/workbench/services/editor/common/editor
import
{
IConfigurationService
}
from
'
vs/platform/configuration/common/configuration
'
;
import
{
IQuickInputService
}
from
'
vs/platform/quickinput/common/quickInput
'
;
import
{
openEditorWith
}
from
'
vs/workbench/services/editor/common/editorOpenWith
'
;
import
{
IEnvironmentService
}
from
'
vs/platform/environment/common/environment
'
;
import
{
IWorkingCopyService
}
from
'
vs/workbench/services/workingCopy/common/workingCopyService
'
;
export
class
MainThreadTextEditors
implements
MainThreadTextEditorsShape
{
...
...
@@ -331,3 +333,15 @@ CommandsRegistry.registerCommand('_workbench.diff', function (accessor: Services
return
editorService
.
openEditor
({
leftResource
,
rightResource
,
label
,
description
,
options
},
viewColumnToEditorGroup
(
editorGroupService
,
position
)).
then
(()
=>
undefined
);
});
CommandsRegistry
.
registerCommand
(
'
_workbench.revertAllDirty
'
,
(
accessor
:
ServicesAccessor
)
=>
{
const
environmentService
=
accessor
.
get
(
IEnvironmentService
);
if
(
!
environmentService
.
extensionTestsLocationURI
)
{
throw
new
Error
(
'
Command is only available when running extension tests.
'
);
}
const
workingCopyService
=
accessor
.
get
(
IWorkingCopyService
);
for
(
const
workingCopy
of
workingCopyService
.
dirtyWorkingCopies
)
{
workingCopy
.
revert
({
soft
:
true
});
}
});
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录