Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
779e29a4
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,发现更多精彩内容 >>
提交
779e29a4
编写于
9月 03, 2019
作者:
R
Rob Lourens
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix some strictPropertyInitialization in search, #78168
上级
c1650691
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
39 addition
and
32 deletion
+39
-32
src/tsconfig.base.json
src/tsconfig.base.json
+1
-0
src/vs/workbench/api/node/extHostSearch.ts
src/vs/workbench/api/node/extHostSearch.ts
+2
-2
src/vs/workbench/contrib/search/browser/searchView.ts
src/vs/workbench/contrib/search/browser/searchView.ts
+17
-17
src/vs/workbench/contrib/search/common/searchModel.ts
src/vs/workbench/contrib/search/common/searchModel.ts
+19
-13
未找到文件。
src/tsconfig.base.json
浏览文件 @
779e29a4
...
...
@@ -11,6 +11,7 @@
"strictBindCallApply"
:
true
,
"strictNullChecks"
:
true
,
"forceConsistentCasingInFileNames"
:
true
,
"strictPropertyInitialization"
:
true
,
"baseUrl"
:
"."
,
"paths"
:
{
"vs/*"
:
[
...
...
src/vs/workbench/api/node/extHostSearch.ts
浏览文件 @
779e29a4
...
...
@@ -29,8 +29,8 @@ export class ExtHostSearch implements ExtHostSearchShape {
private
readonly
_fileSearchUsedSchemes
=
new
Set
<
string
>
();
private
_handlePool
:
number
=
0
;
private
_internalFileSearchHandle
:
number
;
private
_internalFileSearchProvider
:
SearchService
|
null
;
private
_internalFileSearchHandle
:
number
=
-
1
;
private
_internalFileSearchProvider
:
SearchService
|
null
=
null
;
private
_fileSearchManager
:
FileSearchManager
;
...
...
src/vs/workbench/contrib/search/browser/searchView.ts
浏览文件 @
779e29a4
...
...
@@ -78,9 +78,9 @@ export class SearchView extends ViewletPanel {
private
static
readonly
WIDE_VIEW_SIZE
=
1000
;
private
static
readonly
ACTIONS_RIGHT_CLASS_NAME
=
'
actions-right
'
;
private
isDisposed
:
boolean
;
private
isDisposed
=
false
;
private
container
:
HTMLElement
;
private
container
!
:
HTMLElement
;
private
queryBuilder
:
QueryBuilder
;
private
viewModel
:
SearchModel
;
private
memento
:
Memento
;
...
...
@@ -99,31 +99,31 @@ export class SearchView extends ViewletPanel {
private
matchFocused
:
IContextKey
<
boolean
>
;
private
hasSearchResultsKey
:
IContextKey
<
boolean
>
;
private
state
:
SearchUIState
;
private
state
:
SearchUIState
=
SearchUIState
.
Idle
;
private
actions
:
Array
<
CollapseDeepestExpandedLevelAction
|
ClearSearchResultsAction
>
=
[];
private
cancelAction
:
CancelSearchAction
;
private
refreshAction
:
RefreshAction
;
private
contextMenu
:
IMenu
;
private
contextMenu
:
IMenu
|
null
=
null
;
private
tree
:
WorkbenchObjectTree
<
RenderableMatch
>
;
private
treeLabels
:
ResourceLabels
;
private
tree
!
:
WorkbenchObjectTree
<
RenderableMatch
>
;
private
treeLabels
!
:
ResourceLabels
;
private
viewletState
:
MementoObject
;
private
messagesElement
:
HTMLElement
;
private
messagesElement
!
:
HTMLElement
;
private
messageDisposables
:
IDisposable
[]
=
[];
private
searchWidgetsContainerElement
:
HTMLElement
;
private
searchWidget
:
SearchWidget
;
private
size
:
dom
.
Dimension
;
private
queryDetails
:
HTMLElement
;
private
toggleQueryDetailsButton
:
HTMLElement
;
private
inputPatternExcludes
:
ExcludePatternInputWidget
;
private
inputPatternIncludes
:
PatternInputWidget
;
private
resultsElement
:
HTMLElement
;
private
searchWidgetsContainerElement
!
:
HTMLElement
;
private
searchWidget
!
:
SearchWidget
;
private
size
!
:
dom
.
Dimension
;
private
queryDetails
!
:
HTMLElement
;
private
toggleQueryDetailsButton
!
:
HTMLElement
;
private
inputPatternExcludes
!
:
ExcludePatternInputWidget
;
private
inputPatternIncludes
!
:
PatternInputWidget
;
private
resultsElement
!
:
HTMLElement
;
private
currentSelectedFileMatch
:
FileMatch
|
undefined
;
private
delayedRefresh
:
Delayer
<
void
>
;
private
changedWhileHidden
:
boolean
;
private
changedWhileHidden
:
boolean
=
false
;
private
searchWithoutFolderMessageElement
:
HTMLElement
|
undefined
;
...
...
@@ -441,7 +441,7 @@ export class SearchView extends ViewletPanel {
private
refreshAndUpdateCount
(
event
?:
IChangeEvent
):
void
{
this
.
searchWidget
.
setReplaceAllActionState
(
!
this
.
viewModel
.
searchResult
.
isEmpty
());
this
.
updateSearchResultCount
(
this
.
viewModel
.
searchResult
.
query
.
userDisabledExcludesAndIgnoreFiles
);
this
.
updateSearchResultCount
(
this
.
viewModel
.
searchResult
.
query
!
.
userDisabledExcludesAndIgnoreFiles
);
return
this
.
refreshTree
(
event
);
}
...
...
src/vs/workbench/contrib/search/common/searchModel.ts
浏览文件 @
779e29a4
...
...
@@ -188,11 +188,11 @@ export class FileMatch extends Disposable implements IFileMatch {
readonly
onDispose
:
Event
<
void
>
=
this
.
_onDispose
.
event
;
private
_resource
:
URI
;
private
_model
:
ITextModel
|
null
;
private
_modelListener
:
IDisposable
;
private
_model
:
ITextModel
|
null
=
null
;
private
_modelListener
:
IDisposable
|
null
=
null
;
private
_matches
:
Map
<
string
,
Match
>
;
private
_removedMatches
:
Set
<
string
>
;
private
_selectedMatch
:
Match
|
null
;
private
_selectedMatch
:
Match
|
null
=
null
;
private
_updateScheduler
:
RunOnceScheduler
;
private
_modelDecorations
:
string
[]
=
[];
...
...
@@ -244,7 +244,7 @@ export class FileMatch extends Disposable implements IFileMatch {
this
.
_updateScheduler
.
cancel
();
this
.
_model
.
deltaDecorations
(
this
.
_modelDecorations
,
[]);
this
.
_model
=
null
;
this
.
_modelListener
.
dispose
();
this
.
_modelListener
!
.
dispose
();
}
}
...
...
@@ -633,10 +633,10 @@ export class SearchResult extends Disposable {
readonly
onChange
:
Event
<
IChangeEvent
>
=
this
.
_onChange
.
event
;
private
_folderMatches
:
FolderMatchWithResource
[]
=
[];
private
_otherFilesMatch
:
FolderMatch
;
private
_otherFilesMatch
:
FolderMatch
|
null
=
null
;
private
_folderMatchesMap
:
TernarySearchTree
<
FolderMatchWithResource
>
=
TernarySearchTree
.
forPaths
<
FolderMatchWithResource
>
();
private
_showHighlights
:
boolean
;
private
_query
:
ITextQuery
;
private
_showHighlights
:
boolean
=
false
;
private
_query
:
ITextQuery
|
null
=
null
;
private
_rangeHighlightDecorations
:
RangeHighlightDecorations
;
...
...
@@ -653,14 +653,18 @@ export class SearchResult extends Disposable {
this
.
_register
(
this
.
modelService
.
onModelAdded
(
model
=>
this
.
onModelAdded
(
model
)));
}
get
query
():
ITextQuery
{
get
query
():
ITextQuery
|
null
{
return
this
.
_query
;
}
set
query
(
query
:
ITextQuery
)
{
set
query
(
query
:
ITextQuery
|
null
)
{
// When updating the query we could change the roots, so ensure we clean up the old roots first.
this
.
clear
();
this
.
_folderMatches
=
(
query
.
folderQueries
||
[])
if
(
!
query
)
{
return
;
}
this
.
_folderMatches
=
(
query
&&
query
.
folderQueries
||
[])
.
map
(
fq
=>
fq
.
folder
)
.
map
((
resource
,
index
)
=>
this
.
createFolderMatchWithResource
(
resource
,
resource
.
toString
(),
index
,
query
));
...
...
@@ -717,6 +721,8 @@ export class SearchResult extends Disposable {
clear
():
void
{
this
.
folderMatches
().
forEach
((
folderMatch
)
=>
folderMatch
.
clear
());
this
.
disposeMatches
();
this
.
_folderMatches
=
[];
this
.
_otherFilesMatch
=
null
;
}
remove
(
matches
:
FileMatch
|
FolderMatch
|
(
FileMatch
|
FolderMatch
)[]):
void
{
...
...
@@ -835,7 +841,7 @@ export class SearchResult extends Disposable {
private
getFolderMatch
(
resource
:
URI
):
FolderMatch
{
const
folderMatch
=
this
.
_folderMatchesMap
.
findSubstr
(
resource
.
toString
());
return
folderMatch
?
folderMatch
:
this
.
_otherFilesMatch
;
return
folderMatch
?
folderMatch
:
this
.
_otherFilesMatch
!
;
}
private
set
replacingAll
(
running
:
boolean
)
{
...
...
@@ -896,7 +902,7 @@ export class SearchModel extends Disposable {
private
readonly
_onReplaceTermChanged
:
Emitter
<
void
>
=
this
.
_register
(
new
Emitter
<
void
>
());
readonly
onReplaceTermChanged
:
Event
<
void
>
=
this
.
_onReplaceTermChanged
.
event
;
private
currentCancelTokenSource
:
CancellationTokenSource
;
private
currentCancelTokenSource
:
CancellationTokenSource
|
null
=
null
;
constructor
(
@
ISearchService
private
readonly
searchService
:
ISearchService
,
...
...
@@ -1064,7 +1070,7 @@ export type RenderableMatch = FolderMatch | FolderMatchWithResource | FileMatch
export
class
SearchWorkbenchService
implements
ISearchWorkbenchService
{
_serviceBrand
:
undefined
;
private
_searchModel
:
SearchModel
;
private
_searchModel
:
SearchModel
|
null
=
null
;
constructor
(@
IInstantiationService
private
readonly
instantiationService
:
IInstantiationService
)
{
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录