Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
afc8f390
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,发现更多精彩内容 >>
提交
afc8f390
编写于
6月 29, 2016
作者:
S
Sandeep Somavarapu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix #8335
上级
ebc878d6
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
16 addition
and
3 deletion
+16
-3
src/vs/workbench/parts/search/browser/replaceService.ts
src/vs/workbench/parts/search/browser/replaceService.ts
+10
-3
src/vs/workbench/parts/search/common/searchModel.ts
src/vs/workbench/parts/search/common/searchModel.ts
+6
-0
未找到文件。
src/vs/workbench/parts/search/browser/replaceService.ts
浏览文件 @
afc8f390
...
...
@@ -23,10 +23,12 @@ import { DiffEditorInput } from 'vs/workbench/common/editor/diffEditorInput';
class
EditorInputCache
{
private
cache
:
Map
.
SimpleMap
<
URI
,
TPromise
<
DiffEditorInput
>>
;
private
replaceTextcache
:
Map
.
SimpleMap
<
URI
,
string
>
;
constructor
(
private
replaceService
:
ReplaceService
,
private
editorService
:
IWorkbenchEditorService
,
private
modelService
:
IModelService
)
{
this
.
cache
=
new
Map
.
SimpleMap
<
URI
,
TPromise
<
DiffEditorInput
>>
();
this
.
replaceTextcache
=
new
Map
.
SimpleMap
<
URI
,
string
>
();
}
public
getInput
(
fileMatch
:
FileMatch
,
text
:
string
):
TPromise
<
DiffEditorInput
>
{
...
...
@@ -36,6 +38,7 @@ class EditorInputCache {
this
.
cache
.
set
(
fileMatch
.
resource
(),
editorInputPromise
);
this
.
refreshInput
(
fileMatch
,
text
,
true
);
fileMatch
.
addListener2
(
'
disposed
'
,
fileMatch
=>
this
.
disposeInput
(
fileMatch
));
fileMatch
.
addListener2
(
'
changed
'
,
fileMatch
=>
this
.
refreshInput
(
fileMatch
,
this
.
replaceTextcache
.
get
(
fileMatch
.
resource
()),
false
));
}
return
editorInputPromise
;
}
...
...
@@ -55,6 +58,7 @@ class EditorInputCache {
this
.
modelService
.
getModel
(
replaceResource
).
undo
();
this
.
replaceService
.
replace
(
fileMatch
,
text
,
null
,
replaceResource
);
}
this
.
replaceTextcache
.
set
(
fileMatch
.
resource
(),
text
);
});
}
}
...
...
@@ -69,6 +73,7 @@ class EditorInputCache {
editorInputPromise
.
done
((
diffInput
)
=>
{
this
.
disposeReplaceInput
(
this
.
getReplaceResource
(
resourceUri
),
diffInput
);
this
.
cache
.
delete
(
resourceUri
);
this
.
replaceTextcache
.
delete
(
resourceUri
);
});
}
}
...
...
@@ -141,9 +146,11 @@ export class ReplaceService implements IReplaceService {
if
(
arg
instanceof
Array
)
{
arg
.
forEach
(
element
=>
{
let
fileMatch
=
<
FileMatch
>
element
;
fileMatch
.
matches
().
forEach
(
match
=>
{
bulkEdit
.
add
([
this
.
createEdit
(
match
,
text
,
resource
)]);
});
if
(
fileMatch
.
count
()
>
0
)
{
fileMatch
.
matches
().
forEach
(
match
=>
{
bulkEdit
.
add
([
this
.
createEdit
(
match
,
text
,
resource
)]);
});
}
});
}
...
...
src/vs/workbench/parts/search/common/searchModel.ts
浏览文件 @
afc8f390
...
...
@@ -98,6 +98,7 @@ export class FileMatch extends EventEmitter implements lifecycle.IDisposable {
public
add
(
match
:
Match
):
void
{
this
.
_matches
[
match
.
id
()]
=
match
;
this
.
emit
(
'
changed
'
,
this
);
}
public
remove
(
match
:
Match
):
void
{
...
...
@@ -106,6 +107,7 @@ export class FileMatch extends EventEmitter implements lifecycle.IDisposable {
if
(
this
.
count
()
===
0
)
{
this
.
add
(
new
EmptyMatch
(
this
));
}
this
.
emit
(
'
changed
'
,
this
);
}
public
matches
():
Match
[]
{
...
...
@@ -217,6 +219,10 @@ export class LiveFileMatch extends FileMatch implements lifecycle.IDisposable {
return
!
this
.
_model
||
(
<
ITextModel
>
this
.
_model
).
isDisposed
();
}
public
remove
(
match
:
Match
):
void
{
super
.
remove
(
match
);
this
.
_diskFileMatch
.
remove
(
match
);
}
}
export
class
SearchResult
extends
EventEmitter
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录