Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
2c70b5d5
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,发现更多精彩内容 >>
提交
2c70b5d5
编写于
3月 11, 2019
作者:
M
Matt Bierner
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Strict null check searchActions
上级
2c633415
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
22 addition
and
16 deletion
+22
-16
src/vs/workbench/contrib/search/browser/searchActions.ts
src/vs/workbench/contrib/search/browser/searchActions.ts
+22
-16
未找到文件。
src/vs/workbench/contrib/search/browser/searchActions.ts
浏览文件 @
2c70b5d5
...
...
@@ -37,12 +37,16 @@ export function isSearchViewFocused(viewletService: IViewletService, panelServic
return
!!
(
searchView
&&
activeElement
&&
DOM
.
isAncestor
(
activeElement
,
searchView
.
getContainer
()));
}
export
function
appendKeyBindingLabel
(
label
:
string
,
keyBinding
:
number
|
ResolvedKeybinding
,
keyBindingService2
:
IKeybindingService
):
string
{
if
(
typeof
keyBinding
===
'
number
'
)
{
const
resolvedKeybindings
=
keyBindingService2
.
resolveKeybinding
(
createKeybinding
(
keyBinding
,
OS
));
return
doAppendKeyBindingLabel
(
label
,
resolvedKeybindings
.
length
>
0
?
resolvedKeybindings
[
0
]
:
null
);
export
function
appendKeyBindingLabel
(
label
:
string
,
inputKeyBinding
:
number
|
ResolvedKeybinding
|
undefined
,
keyBindingService2
:
IKeybindingService
):
string
{
if
(
typeof
inputKeyBinding
===
'
number
'
)
{
const
keybinding
=
createKeybinding
(
inputKeyBinding
,
OS
);
if
(
keybinding
)
{
const
resolvedKeybindings
=
keyBindingService2
.
resolveKeybinding
(
keybinding
);
return
doAppendKeyBindingLabel
(
label
,
resolvedKeybindings
.
length
>
0
?
resolvedKeybindings
[
0
]
:
undefined
);
}
return
doAppendKeyBindingLabel
(
label
,
undefined
);
}
else
{
return
doAppendKeyBindingLabel
(
label
,
k
eyBinding
);
return
doAppendKeyBindingLabel
(
label
,
inputK
eyBinding
);
}
}
...
...
@@ -68,7 +72,7 @@ export function getSearchView(viewletService: IViewletService, panelService: IPa
return
null
;
}
function
doAppendKeyBindingLabel
(
label
:
string
,
keyBinding
:
ResolvedKeybinding
):
string
{
function
doAppendKeyBindingLabel
(
label
:
string
,
keyBinding
:
ResolvedKeybinding
|
undefined
):
string
{
return
keyBinding
?
label
+
'
(
'
+
keyBinding
.
getLabel
()
+
'
)
'
:
label
;
}
...
...
@@ -232,7 +236,7 @@ export class RefreshAction extends Action {
static
readonly
ID
:
string
=
'
search.action.refreshSearchResults
'
;
static
LABEL
:
string
=
nls
.
localize
(
'
RefreshAction.label
'
,
"
Refresh
"
);
private
searchView
:
SearchView
;
private
searchView
:
SearchView
|
null
;
constructor
(
id
:
string
,
label
:
string
,
@
IViewletService
private
readonly
viewletService
:
IViewletService
,
...
...
@@ -243,7 +247,7 @@ export class RefreshAction extends Action {
}
get
enabled
():
boolean
{
return
this
.
searchView
&&
this
.
searchView
.
isSearchSubmitted
();
return
!!
this
.
searchView
&&
this
.
searchView
.
isSearchSubmitted
();
}
update
():
void
{
...
...
@@ -256,7 +260,7 @@ export class RefreshAction extends Action {
searchView
.
onQueryChanged
();
}
return
Promise
.
resolve
(
null
);
return
Promise
.
resolve
();
}
}
...
...
@@ -587,7 +591,7 @@ export class ReplaceAction extends AbstractSearchAndReplaceAction {
private
getElementToFocusAfterReplace
():
Match
{
const
navigator
:
INavigator
<
any
>
=
this
.
viewer
.
navigate
();
let
fileMatched
=
false
;
let
elementToFocus
=
null
;
let
elementToFocus
:
any
=
null
;
do
{
elementToFocus
=
navigator
.
current
();
if
(
elementToFocus
instanceof
Match
)
{
...
...
@@ -611,7 +615,7 @@ export class ReplaceAction extends AbstractSearchAndReplaceAction {
return
elementToFocus
;
}
private
async
getElementToShowReplacePreview
(
elementToFocus
:
FileMatchOrMatch
):
Promise
<
Match
>
{
private
async
getElementToShowReplacePreview
(
elementToFocus
:
FileMatchOrMatch
):
Promise
<
Match
|
null
>
{
if
(
this
.
hasSameParent
(
elementToFocus
))
{
return
<
Match
>
elementToFocus
;
}
...
...
@@ -686,7 +690,7 @@ function fileMatchToString(fileMatch: FileMatch, maxMatches: number): { text: st
};
}
function
folderMatchToString
(
folderMatch
:
FolderMatch
,
maxMatches
:
number
):
{
text
:
string
,
count
:
number
}
{
function
folderMatchToString
(
folderMatch
:
FolderMatch
|
BaseFolderMatch
,
maxMatches
:
number
):
{
text
:
string
,
count
:
number
}
{
const
fileResults
:
string
[]
=
[];
let
numMatches
=
0
;
...
...
@@ -722,7 +726,7 @@ export const copyMatchCommand: ICommandHandler = (accessor, match: RenderableMat
}
};
function
allFolderMatchesToString
(
folderMatches
:
FolderMatch
[]
,
maxMatches
:
number
):
string
{
function
allFolderMatchesToString
(
folderMatches
:
Array
<
FolderMatch
|
BaseFolderMatch
>
,
maxMatches
:
number
):
string
{
const
folderResults
:
string
[]
=
[];
let
numMatches
=
0
;
folderMatches
=
folderMatches
.
sort
(
searchMatchComparer
);
...
...
@@ -743,10 +747,12 @@ export const copyAllCommand: ICommandHandler = accessor => {
const
clipboardService
=
accessor
.
get
(
IClipboardService
);
const
searchView
=
getSearchView
(
viewletService
,
panelService
);
if
(
searchView
)
{
const
root
=
searchView
.
searchResult
;
const
text
=
allFolderMatchesToString
(
root
.
folderMatches
(),
maxClipboardMatches
);
clipboardService
.
writeText
(
text
);
}
};
export
const
clearHistoryCommand
:
ICommandHandler
=
accessor
=>
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录