Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
891ff5f7
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,发现更多精彩内容 >>
提交
891ff5f7
编写于
10月 18, 2018
作者:
M
Matt Bierner
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Strict null checks
fixing simple cases of any[]
上级
9c3627d1
变更
54
隐藏空白更改
内联
并排
Showing
54 changed file
with
165 addition
and
128 deletion
+165
-128
src/tsconfig.strictNullChecks.json
src/tsconfig.strictNullChecks.json
+12
-0
src/vs/base/browser/dom.ts
src/vs/base/browser/dom.ts
+1
-1
src/vs/base/browser/ui/breadcrumbs/breadcrumbsWidget.ts
src/vs/base/browser/ui/breadcrumbs/breadcrumbsWidget.ts
+13
-9
src/vs/base/browser/ui/centered/centeredViewLayout.ts
src/vs/base/browser/ui/centered/centeredViewLayout.ts
+16
-7
src/vs/base/browser/ui/grid/gridview.ts
src/vs/base/browser/ui/grid/gridview.ts
+1
-1
src/vs/base/browser/ui/highlightedlabel/highlightedLabel.ts
src/vs/base/browser/ui/highlightedlabel/highlightedLabel.ts
+2
-2
src/vs/base/browser/ui/list/listWidget.ts
src/vs/base/browser/ui/list/listWidget.ts
+3
-3
src/vs/base/browser/ui/list/rangeMap.ts
src/vs/base/browser/ui/list/rangeMap.ts
+1
-1
src/vs/base/browser/ui/list/rowCache.ts
src/vs/base/browser/ui/list/rowCache.ts
+9
-5
src/vs/base/browser/ui/splitview/panelview.ts
src/vs/base/browser/ui/splitview/panelview.ts
+3
-3
src/vs/base/browser/ui/tree/indexTreeModel.ts
src/vs/base/browser/ui/tree/indexTreeModel.ts
+1
-1
src/vs/base/node/ps.ts
src/vs/base/node/ps.ts
+1
-1
src/vs/base/node/stats.ts
src/vs/base/node/stats.ts
+2
-2
src/vs/base/parts/ipc/test/node/ipc.test.ts
src/vs/base/parts/ipc/test/node/ipc.test.ts
+1
-1
src/vs/base/parts/quickopen/common/quickOpenScorer.ts
src/vs/base/parts/quickopen/common/quickOpenScorer.ts
+3
-3
src/vs/base/test/browser/ui/tree/indexTreeModel.test.ts
src/vs/base/test/browser/ui/tree/indexTreeModel.test.ts
+19
-19
src/vs/base/test/browser/ui/tree/objectTreeModel.test.ts
src/vs/base/test/browser/ui/tree/objectTreeModel.test.ts
+5
-5
src/vs/base/test/common/async.test.ts
src/vs/base/test/common/async.test.ts
+2
-2
src/vs/code/electron-main/windows.ts
src/vs/code/electron-main/windows.ts
+2
-2
src/vs/editor/contrib/colorPicker/colorDetector.ts
src/vs/editor/contrib/colorPicker/colorDetector.ts
+16
-8
src/vs/editor/contrib/goToDefinition/goToDefinitionMouse.ts
src/vs/editor/contrib/goToDefinition/goToDefinitionMouse.ts
+2
-2
src/vs/platform/diagnostics/electron-main/diagnosticsService.ts
.../platform/diagnostics/electron-main/diagnosticsService.ts
+3
-3
src/vs/platform/driver/electron-browser/driver.ts
src/vs/platform/driver/electron-browser/driver.ts
+2
-2
src/vs/platform/driver/electron-main/driver.ts
src/vs/platform/driver/electron-main/driver.ts
+1
-1
src/vs/platform/extensionManagement/node/extensionGalleryService.ts
...tform/extensionManagement/node/extensionGalleryService.ts
+2
-2
src/vs/platform/extensionManagement/node/extensionManagementService.ts
...rm/extensionManagement/node/extensionManagementService.ts
+2
-2
src/vs/platform/request/node/requestService.ts
src/vs/platform/request/node/requestService.ts
+4
-4
src/vs/platform/theme/test/electron-browser/colorRegistry.releaseTest.ts
.../theme/test/electron-browser/colorRegistry.releaseTest.ts
+1
-1
src/vs/workbench/api/browser/viewsExtensionPoint.ts
src/vs/workbench/api/browser/viewsExtensionPoint.ts
+1
-1
src/vs/workbench/api/electron-browser/mainThreadTreeViews.ts
src/vs/workbench/api/electron-browser/mainThreadTreeViews.ts
+1
-1
src/vs/workbench/browser/parts/titlebar/menubarControl.ts
src/vs/workbench/browser/parts/titlebar/menubarControl.ts
+1
-1
src/vs/workbench/browser/parts/views/customView.ts
src/vs/workbench/browser/parts/views/customView.ts
+1
-1
src/vs/workbench/parts/comments/common/commentModel.ts
src/vs/workbench/parts/comments/common/commentModel.ts
+1
-1
src/vs/workbench/parts/comments/electron-browser/commentService.ts
...rkbench/parts/comments/electron-browser/commentService.ts
+1
-1
src/vs/workbench/parts/comments/electron-browser/commentsEditorContribution.ts
...s/comments/electron-browser/commentsEditorContribution.ts
+1
-1
src/vs/workbench/parts/debug/browser/breakpointsView.ts
src/vs/workbench/parts/debug/browser/breakpointsView.ts
+1
-1
src/vs/workbench/parts/experiments/test/electron-browser/experimentService.test.ts
...periments/test/electron-browser/experimentService.test.ts
+3
-3
src/vs/workbench/parts/extensions/electron-browser/extensionTipsService.ts
...parts/extensions/electron-browser/extensionTipsService.ts
+1
-1
src/vs/workbench/parts/extensions/node/extensionsWorkbenchService.ts
...bench/parts/extensions/node/extensionsWorkbenchService.ts
+2
-2
src/vs/workbench/parts/files/electron-browser/views/explorerView.ts
...kbench/parts/files/electron-browser/views/explorerView.ts
+1
-1
src/vs/workbench/parts/preferences/browser/keybindingsEditor.ts
.../workbench/parts/preferences/browser/keybindingsEditor.ts
+1
-1
src/vs/workbench/parts/preferences/browser/settingsTree.ts
src/vs/workbench/parts/preferences/browser/settingsTree.ts
+4
-4
src/vs/workbench/parts/preferences/browser/settingsTreeModels.ts
...workbench/parts/preferences/browser/settingsTreeModels.ts
+2
-2
src/vs/workbench/parts/preferences/electron-browser/settingsEditor2.ts
...nch/parts/preferences/electron-browser/settingsEditor2.ts
+1
-1
src/vs/workbench/parts/search/browser/openAnythingHandler.ts
src/vs/workbench/parts/search/browser/openAnythingHandler.ts
+1
-1
src/vs/workbench/parts/search/browser/replaceService.ts
src/vs/workbench/parts/search/browser/replaceService.ts
+2
-2
src/vs/workbench/parts/terminal/browser/terminalTab.ts
src/vs/workbench/parts/terminal/browser/terminalTab.ts
+1
-1
src/vs/workbench/services/configuration/common/configurationModels.ts
...ench/services/configuration/common/configurationModels.ts
+1
-1
src/vs/workbench/services/files/node/watcher/unix/chokidarWatcherService.ts
...ervices/files/node/watcher/unix/chokidarWatcherService.ts
+1
-1
src/vs/workbench/services/keybinding/common/keybindingEditing.ts
...workbench/services/keybinding/common/keybindingEditing.ts
+1
-1
src/vs/workbench/services/preferences/common/keybindingsEditorModel.ts
...nch/services/preferences/common/keybindingsEditorModel.ts
+2
-2
src/vs/workbench/services/preferences/common/preferencesModels.ts
...orkbench/services/preferences/common/preferencesModels.ts
+1
-1
src/vs/workbench/services/search/node/fileSearch.ts
src/vs/workbench/services/search/node/fileSearch.ts
+1
-1
src/vs/workbench/services/search/node/textSearchManager.ts
src/vs/workbench/services/search/node/textSearchManager.ts
+1
-1
未找到文件。
src/tsconfig.strictNullChecks.json
浏览文件 @
891ff5f7
...
...
@@ -22,11 +22,18 @@
"./vs/base/browser/mouseEvent.ts"
,
"./vs/base/browser/touch.ts"
,
"./vs/base/browser/ui/aria/aria.ts"
,
"./vs/base/browser/ui/breadcrumbs/breadcrumbsWidget.ts"
,
"./vs/base/browser/ui/button/button.ts"
,
"./vs/base/browser/ui/centered/centeredViewLayout.ts"
,
"./vs/base/browser/ui/contextview/contextview.ts"
,
"./vs/base/browser/ui/countBadge/countBadge.ts"
,
"./vs/base/browser/ui/grid/gridview.ts"
,
"./vs/base/browser/ui/highlightedlabel/highlightedLabel.ts"
,
"./vs/base/browser/ui/iconLabel/iconLabel.ts"
,
"./vs/base/browser/ui/keybindingLabel/keybindingLabel.ts"
,
"./vs/base/browser/ui/list/list.ts"
,
"./vs/base/browser/ui/list/rangeMap.ts"
,
"./vs/base/browser/ui/list/rowCache.ts"
,
"./vs/base/browser/ui/list/splice.ts"
,
"./vs/base/browser/ui/octiconLabel/octiconLabel.mock.ts"
,
"./vs/base/browser/ui/octiconLabel/octiconLabel.ts"
,
...
...
@@ -40,6 +47,7 @@
"./vs/base/browser/ui/scrollbar/scrollbarState.ts"
,
"./vs/base/browser/ui/scrollbar/scrollbarVisibilityController.ts"
,
"./vs/base/browser/ui/scrollbar/verticalScrollbar.ts"
,
"./vs/base/browser/ui/splitview/panelview.ts"
,
"./vs/base/browser/ui/splitview/splitview.ts"
,
"./vs/base/browser/ui/tree/tree.ts"
,
"./vs/base/browser/ui/widget.ts"
,
...
...
@@ -65,6 +73,7 @@
"./vs/base/parts/ipc/node/ipc.ts"
,
"./vs/base/parts/ipc/test/node/testService.ts"
,
"./vs/base/parts/quickopen/common/quickOpen.ts"
,
"./vs/base/test/browser/ui/grid/util.ts"
,
"./vs/base/test/common/json.test.ts"
,
"./vs/base/test/common/jsonEdit.test.ts"
,
"./vs/base/test/common/jsonFormatter.test.ts"
,
...
...
@@ -244,6 +253,7 @@
"./vs/editor/contrib/codeAction/codeAction.ts"
,
"./vs/editor/contrib/codeAction/codeActionTrigger.ts"
,
"./vs/editor/contrib/colorPicker/color.ts"
,
"./vs/editor/contrib/colorPicker/colorDetector.ts"
,
"./vs/editor/contrib/colorPicker/colorPickerModel.ts"
,
"./vs/editor/contrib/comment/blockCommentCommand.ts"
,
"./vs/editor/contrib/comment/comment.ts"
,
...
...
@@ -399,7 +409,9 @@
"./vs/platform/quickOpen/common/quickOpen.ts"
,
"./vs/platform/quickinput/common/quickInput.ts"
,
"./vs/platform/registry/common/platform.ts"
,
"./vs/platform/request/electron-main/requestService.ts"
,
"./vs/platform/request/node/request.ts"
,
"./vs/platform/request/node/requestService.ts"
,
"./vs/platform/search/common/search.ts"
,
"./vs/platform/state/common/state.ts"
,
"./vs/platform/statusbar/common/statusbar.ts"
,
...
...
src/vs/base/browser/dom.ts
浏览文件 @
891ff5f7
...
...
@@ -560,7 +560,7 @@ export class Dimension {
this
.
height
=
height
;
}
static
equals
(
a
:
Dimension
,
b
:
Dimension
):
boolean
{
static
equals
(
a
:
Dimension
|
undefined
,
b
:
Dimension
|
undefined
):
boolean
{
if
(
a
===
b
)
{
return
true
;
}
...
...
src/vs/base/browser/ui/breadcrumbs/breadcrumbsWidget.ts
浏览文件 @
891ff5f7
...
...
@@ -118,7 +118,7 @@ export class BreadcrumbsWidget {
this
.
_freeNodes
.
length
=
0
;
}
layout
(
dim
:
dom
.
Dimension
):
void
{
layout
(
dim
:
dom
.
Dimension
|
undefined
):
void
{
if
(
dom
.
Dimension
.
equals
(
dim
,
this
.
_dimension
))
{
return
;
}
...
...
@@ -277,8 +277,8 @@ export class BreadcrumbsWidget {
}
setItems
(
items
:
BreadcrumbsItem
[]):
void
{
let
prefix
:
number
;
let
removed
:
BreadcrumbsItem
[];
let
prefix
:
number
|
undefined
;
let
removed
:
BreadcrumbsItem
[]
=
[]
;
try
{
prefix
=
commonPrefixLength
(
this
.
_items
,
items
,
(
a
,
b
)
=>
a
.
equals
(
b
));
removed
=
this
.
_items
.
splice
(
prefix
,
this
.
_items
.
length
-
prefix
,
...
items
.
slice
(
prefix
));
...
...
@@ -302,17 +302,21 @@ export class BreadcrumbsWidget {
// case a: more nodes -> remove them
while
(
start
<
this
.
_nodes
.
length
)
{
const
free
=
this
.
_nodes
.
pop
();
this
.
_freeNodes
.
push
(
free
);
free
.
remove
();
if
(
free
)
{
this
.
_freeNodes
.
push
(
free
);
free
.
remove
();
}
}
// case b: more items -> render them
for
(;
start
<
this
.
_items
.
length
;
start
++
)
{
let
item
=
this
.
_items
[
start
];
let
node
=
this
.
_freeNodes
.
length
>
0
?
this
.
_freeNodes
.
pop
()
:
document
.
createElement
(
'
div
'
);
this
.
_renderItem
(
item
,
node
);
this
.
_domNode
.
appendChild
(
node
);
this
.
_nodes
.
push
(
node
);
if
(
node
)
{
this
.
_renderItem
(
item
,
node
);
this
.
_domNode
.
appendChild
(
node
);
this
.
_nodes
.
push
(
node
);
}
}
this
.
layout
(
undefined
);
}
...
...
@@ -327,7 +331,7 @@ export class BreadcrumbsWidget {
}
private
_onClick
(
event
:
IMouseEvent
):
void
{
for
(
let
el
=
event
.
target
;
el
;
el
=
el
.
parentElement
)
{
for
(
let
el
:
HTMLElement
|
null
=
event
.
target
;
el
;
el
=
el
.
parentElement
)
{
let
idx
=
this
.
_nodes
.
indexOf
(
el
as
any
);
if
(
idx
>=
0
)
{
this
.
_focus
(
idx
,
event
);
...
...
src/vs/base/browser/ui/centered/centeredViewLayout.ts
浏览文件 @
891ff5f7
...
...
@@ -50,12 +50,12 @@ export interface ICenteredViewStyles extends ISplitViewStyles {
export
class
CenteredViewLayout
{
private
splitView
:
SplitView
;
private
splitView
?
:
SplitView
;
private
width
:
number
=
0
;
private
height
:
number
=
0
;
private
style
:
ICenteredViewStyles
;
private
didLayout
=
false
;
private
emptyViews
:
ISplitViewView
[];
private
emptyViews
:
ISplitViewView
[]
|
undefined
;
private
splitViewDisposables
:
IDisposable
[]
=
[];
constructor
(
private
container
:
HTMLElement
,
private
view
:
IView
,
public
readonly
state
:
CenteredViewState
=
GOLDEN_RATIO
)
{
...
...
@@ -84,6 +84,9 @@ export class CenteredViewLayout {
}
private
resizeMargins
():
void
{
if
(
!
this
.
splitView
)
{
return
;
}
this
.
splitView
.
resizeView
(
0
,
this
.
state
.
leftMarginRatio
*
this
.
width
);
this
.
splitView
.
resizeView
(
2
,
this
.
state
.
rightMarginRatio
*
this
.
width
);
}
...
...
@@ -94,7 +97,7 @@ export class CenteredViewLayout {
styles
(
style
:
ICenteredViewStyles
):
void
{
this
.
style
=
style
;
if
(
this
.
splitView
)
{
if
(
this
.
splitView
&&
this
.
emptyViews
)
{
this
.
splitView
.
style
(
this
.
style
);
this
.
emptyViews
[
0
].
element
.
style
.
backgroundColor
=
this
.
style
.
background
.
toString
();
this
.
emptyViews
[
1
].
element
.
style
.
backgroundColor
=
this
.
style
.
background
.
toString
();
...
...
@@ -115,8 +118,10 @@ export class CenteredViewLayout {
});
this
.
splitViewDisposables
.
push
(
this
.
splitView
.
onDidSashChange
(()
=>
{
this
.
state
.
leftMarginRatio
=
this
.
splitView
.
getViewSize
(
0
)
/
this
.
width
;
this
.
state
.
rightMarginRatio
=
this
.
splitView
.
getViewSize
(
2
)
/
this
.
width
;
if
(
this
.
splitView
)
{
this
.
state
.
leftMarginRatio
=
this
.
splitView
.
getViewSize
(
0
)
/
this
.
width
;
this
.
state
.
rightMarginRatio
=
this
.
splitView
.
getViewSize
(
2
)
/
this
.
width
;
}
}));
this
.
splitViewDisposables
.
push
(
this
.
splitView
.
onDidSashReset
(()
=>
{
this
.
state
.
leftMarginRatio
=
GOLDEN_RATIO
.
leftMarginRatio
;
...
...
@@ -130,9 +135,13 @@ export class CenteredViewLayout {
this
.
splitView
.
addView
(
this
.
emptyViews
[
0
],
this
.
state
.
leftMarginRatio
*
this
.
width
,
0
);
this
.
splitView
.
addView
(
this
.
emptyViews
[
1
],
this
.
state
.
rightMarginRatio
*
this
.
width
,
2
);
}
else
{
this
.
container
.
removeChild
(
this
.
splitView
.
el
);
if
(
this
.
splitView
)
{
this
.
container
.
removeChild
(
this
.
splitView
.
el
);
}
this
.
splitViewDisposables
=
dispose
(
this
.
splitViewDisposables
);
this
.
splitView
.
dispose
();
if
(
this
.
splitView
)
{
this
.
splitView
.
dispose
();
}
this
.
splitView
=
undefined
;
this
.
emptyViews
=
undefined
;
this
.
container
.
appendChild
(
this
.
view
.
element
);
...
...
src/vs/base/browser/ui/grid/gridview.ts
浏览文件 @
891ff5f7
...
...
@@ -560,7 +560,7 @@ export class GridView implements IDisposable {
get
maximumWidth
():
number
{
return
this
.
root
.
maximumHeight
;
}
get
maximumHeight
():
number
{
return
this
.
root
.
maximumHeight
;
}
private
_onDidChange
=
new
Relay
<
{
width
:
number
;
height
:
number
;
}
>
();
private
_onDidChange
=
new
Relay
<
{
width
:
number
;
height
:
number
;
}
|
undefined
>
();
readonly
onDidChange
=
this
.
_onDidChange
.
event
;
constructor
(
options
:
IGridViewOptions
=
{})
{
...
...
src/vs/base/browser/ui/highlightedlabel/highlightedLabel.ts
浏览文件 @
891ff5f7
...
...
@@ -90,8 +90,8 @@ export class HighlightedLabel implements IDisposable {
}
dispose
()
{
this
.
text
=
null
;
this
.
highlights
=
null
;
this
.
text
=
null
!
;
// StrictNullOverride: nulling out ok in dispose
this
.
highlights
=
null
!
;
// StrictNullOverride: nulling out ok in dispose
}
static
escapeNewLines
(
text
:
string
,
highlights
:
IHighlight
[]):
string
{
...
...
src/vs/base/browser/ui/list/listWidget.ts
浏览文件 @
891ff5f7
...
...
@@ -751,7 +751,7 @@ function getContiguousRangeContaining(range: number[], value: number): number[]
return
[];
}
const
result
=
[];
const
result
:
number
[]
=
[];
let
i
=
index
-
1
;
while
(
i
>=
0
&&
range
[
i
]
===
value
-
(
index
-
i
))
{
result
.
push
(
range
[
i
--
]);
...
...
@@ -771,7 +771,7 @@ function getContiguousRangeContaining(range: number[], value: number): number[]
* betweem them (OR).
*/
function
disjunction
(
one
:
number
[],
other
:
number
[]):
number
[]
{
const
result
=
[];
const
result
:
number
[]
=
[];
let
i
=
0
,
j
=
0
;
while
(
i
<
one
.
length
||
j
<
other
.
length
)
{
...
...
@@ -799,7 +799,7 @@ function disjunction(one: number[], other: number[]): number[] {
* complement between them (XOR).
*/
function
relativeComplement
(
one
:
number
[],
other
:
number
[]):
number
[]
{
const
result
=
[];
const
result
:
number
[]
=
[];
let
i
=
0
,
j
=
0
;
while
(
i
<
one
.
length
||
j
<
other
.
length
)
{
...
...
src/vs/base/browser/ui/list/rangeMap.ts
浏览文件 @
891ff5f7
...
...
@@ -188,6 +188,6 @@ export class RangeMap {
}
dispose
()
{
this
.
groups
=
null
;
this
.
groups
=
null
!
;
// StrictNullOverride: nulling out ok in dispose
}
}
\ No newline at end of file
src/vs/base/browser/ui/list/rowCache.ts
浏览文件 @
891ff5f7
...
...
@@ -8,14 +8,16 @@ import { IDisposable } from 'vs/base/common/lifecycle';
import
{
$
,
removeClass
}
from
'
vs/base/browser/dom
'
;
export
interface
IRow
{
domNode
:
HTMLElement
;
domNode
:
HTMLElement
|
null
;
templateId
:
string
;
templateData
:
any
;
}
function
removeFromParent
(
element
:
HTMLElement
):
void
{
try
{
element
.
parentElement
.
removeChild
(
element
);
if
(
element
.
parentElement
)
{
element
.
parentElement
.
removeChild
(
element
);
}
}
catch
(
e
)
{
// this will throw if this happens due to a blur event, nasty business
}
...
...
@@ -57,8 +59,10 @@ export class RowCache<T> implements IDisposable {
private
releaseRow
(
row
:
IRow
):
void
{
const
{
domNode
,
templateId
}
=
row
;
removeClass
(
domNode
,
'
scrolling
'
);
removeFromParent
(
domNode
);
if
(
domNode
)
{
removeClass
(
domNode
,
'
scrolling
'
);
removeFromParent
(
domNode
);
}
const
cache
=
this
.
getTemplateCache
(
templateId
);
cache
.
push
(
row
);
...
...
@@ -95,6 +99,6 @@ export class RowCache<T> implements IDisposable {
dispose
():
void
{
this
.
garbageCollect
();
this
.
cache
.
clear
();
this
.
renderers
=
null
;
this
.
renderers
=
null
!
;
// StrictNullOverride: nulling out ok in dispose
}
}
\ No newline at end of file
src/vs/base/browser/ui/splitview/panelview.ts
浏览文件 @
891ff5f7
...
...
@@ -264,7 +264,7 @@ class PanelDraggable extends Disposable {
}
private
onDragStart
(
e
:
DragEvent
):
void
{
if
(
!
this
.
dnd
.
canDrag
(
this
.
panel
))
{
if
(
!
this
.
dnd
.
canDrag
(
this
.
panel
)
||
!
e
.
dataTransfer
)
{
e
.
preventDefault
();
e
.
stopPropagation
();
return
;
...
...
@@ -272,7 +272,7 @@ class PanelDraggable extends Disposable {
e
.
dataTransfer
.
effectAllowed
=
'
move
'
;
const
dragImage
=
append
(
document
.
body
,
$
(
'
.monaco-panel-drag-image
'
,
{},
this
.
panel
.
draggableElement
.
textContent
));
const
dragImage
=
append
(
document
.
body
,
$
(
'
.monaco-panel-drag-image
'
,
{},
this
.
panel
.
draggableElement
.
textContent
||
''
));
e
.
dataTransfer
.
setDragImage
(
dragImage
,
-
10
,
-
10
);
setTimeout
(()
=>
document
.
body
.
removeChild
(
dragImage
),
0
);
...
...
@@ -371,7 +371,7 @@ interface IPanelItem {
export
class
PanelView
extends
Disposable
{
private
dnd
:
IPanelDndController
|
null
;
private
dnd
:
IPanelDndController
|
undefined
;
private
dndContext
:
IDndContext
=
{
draggable
:
null
};
private
el
:
HTMLElement
;
private
panelItems
:
IPanelItem
[]
=
[];
...
...
src/vs/base/browser/ui/tree/indexTreeModel.ts
浏览文件 @
891ff5f7
...
...
@@ -406,7 +406,7 @@ export class IndexTreeModel<T, TFilterData = void> implements ITreeModel<T, TFil
// TODO@joao perf!
getNodeLocation
(
node
:
ITreeNode
<
T
,
TFilterData
>
):
number
[]
{
const
location
=
[];
const
location
:
number
[]
=
[];
while
(
node
.
parent
)
{
location
.
push
(
node
.
parent
.
children
.
indexOf
(
node
));
...
...
src/vs/base/node/ps.ts
浏览文件 @
891ff5f7
...
...
@@ -194,7 +194,7 @@ export function listProcesses(rootPid: number): Promise<ProcessItem> {
if
(
process
.
platform
===
'
linux
'
)
{
// Flatten rootItem to get a list of all VSCode processes
let
processes
=
[
rootItem
];
const
pids
=
[];
const
pids
:
number
[]
=
[];
while
(
processes
.
length
)
{
const
process
=
processes
.
shift
();
pids
.
push
(
process
.
pid
);
...
...
src/vs/base/node/stats.ts
浏览文件 @
891ff5f7
...
...
@@ -5,7 +5,7 @@
import
{
readdir
,
stat
,
exists
,
readFile
}
from
'
fs
'
;
import
{
join
}
from
'
path
'
;
import
{
parse
}
from
'
vs/base/common/json
'
;
import
{
parse
,
ParseError
}
from
'
vs/base/common/json
'
;
export
interface
WorkspaceStatItem
{
name
:
string
;
...
...
@@ -37,7 +37,7 @@ export function collectLaunchConfigs(folder: string): Promise<WorkspaceStatItem[
return
resolve
([]);
}
const
errors
=
[];
const
errors
:
ParseError
[]
=
[];
const
json
=
parse
(
contents
.
toString
(),
errors
);
if
(
errors
.
length
)
{
console
.
log
(
`Unable to parse
${
launchConfig
}
`
);
...
...
src/vs/base/parts/ipc/test/node/ipc.test.ts
浏览文件 @
891ff5f7
...
...
@@ -279,7 +279,7 @@ suite('Base IPC', function () {
});
test
(
'
listen to events
'
,
async
function
()
{
const
messages
=
[];
const
messages
:
string
[]
=
[];
ipcService
.
pong
(
msg
=>
messages
.
push
(
msg
));
await
timeout
(
0
);
...
...
src/vs/base/parts/quickopen/common/quickOpenScorer.ts
浏览文件 @
891ff5f7
...
...
@@ -61,8 +61,8 @@ export function score(target: string, query: string, queryLower: string, fuzzy:
}
function
doScore
(
query
:
string
,
queryLower
:
string
,
queryLength
:
number
,
target
:
string
,
targetLower
:
string
,
targetLength
:
number
):
[
number
,
number
[]]
{
const
scores
=
[];
const
matches
=
[];
const
scores
:
number
[]
=
[];
const
matches
:
number
[]
=
[];
//
// Build Scorer Matrix:
...
...
@@ -121,7 +121,7 @@ function doScore(query: string, queryLower: string, queryLength: number, target:
}
// Restore Positions (starting from bottom right of matrix)
const
positions
=
[];
const
positions
:
number
[]
=
[];
let
queryIndex
=
queryLength
-
1
;
let
targetIndex
=
targetLength
-
1
;
while
(
queryIndex
>=
0
&&
targetIndex
>=
0
)
{
...
...
src/vs/base/test/browser/ui/tree/indexTreeModel.test.ts
浏览文件 @
891ff5f7
...
...
@@ -24,14 +24,14 @@ function toArray<T>(list: ITreeNode<T>[]): T[] {
suite
(
'
IndexTreeModel
'
,
function
()
{
test
(
'
ctor
'
,
()
=>
{
const
list
=
[]
as
ITreeNode
<
number
>
[];
const
list
:
ITreeNode
<
number
>
[]
=
[];
const
model
=
new
IndexTreeModel
<
number
>
(
toSpliceable
(
list
));
assert
(
model
);
assert
.
equal
(
list
.
length
,
0
);
});
test
(
'
insert
'
,
()
=>
{
const
list
=
[]
as
ITreeNode
<
number
>
[];
const
list
:
ITreeNode
<
number
>
[]
=
[];
const
model
=
new
IndexTreeModel
<
number
>
(
toSpliceable
(
list
));
model
.
splice
([
0
],
0
,
Iterator
.
fromArray
([
...
...
@@ -53,7 +53,7 @@ suite('IndexTreeModel', function () {
});
test
(
'
deep insert
'
,
function
()
{
const
list
=
[]
as
ITreeNode
<
number
>
[];
const
list
:
ITreeNode
<
number
>
[]
=
[];
const
model
=
new
IndexTreeModel
<
number
>
(
toSpliceable
(
list
));
model
.
splice
([
0
],
0
,
Iterator
.
fromArray
([
...
...
@@ -90,7 +90,7 @@ suite('IndexTreeModel', function () {
});
test
(
'
deep insert collapsed
'
,
function
()
{
const
list
=
[]
as
ITreeNode
<
number
>
[];
const
list
:
ITreeNode
<
number
>
[]
=
[];
const
model
=
new
IndexTreeModel
<
number
>
(
toSpliceable
(
list
));
model
.
splice
([
0
],
0
,
Iterator
.
fromArray
([
...
...
@@ -118,7 +118,7 @@ suite('IndexTreeModel', function () {
});
test
(
'
delete
'
,
()
=>
{
const
list
=
[]
as
ITreeNode
<
number
>
[];
const
list
:
ITreeNode
<
number
>
[]
=
[];
const
model
=
new
IndexTreeModel
<
number
>
(
toSpliceable
(
list
));
model
.
splice
([
0
],
0
,
Iterator
.
fromArray
([
...
...
@@ -143,7 +143,7 @@ suite('IndexTreeModel', function () {
});
test
(
'
nested delete
'
,
function
()
{
const
list
=
[]
as
ITreeNode
<
number
>
[];
const
list
:
ITreeNode
<
number
>
[]
=
[];
const
model
=
new
IndexTreeModel
<
number
>
(
toSpliceable
(
list
));
model
.
splice
([
0
],
0
,
Iterator
.
fromArray
([
...
...
@@ -177,7 +177,7 @@ suite('IndexTreeModel', function () {
});
test
(
'
deep delete
'
,
function
()
{
const
list
=
[]
as
ITreeNode
<
number
>
[];
const
list
:
ITreeNode
<
number
>
[]
=
[];
const
model
=
new
IndexTreeModel
<
number
>
(
toSpliceable
(
list
));
model
.
splice
([
0
],
0
,
Iterator
.
fromArray
([
...
...
@@ -205,7 +205,7 @@ suite('IndexTreeModel', function () {
});
test
(
'
hidden delete
'
,
function
()
{
const
list
=
[]
as
ITreeNode
<
number
>
[];
const
list
:
ITreeNode
<
number
>
[]
=
[];
const
model
=
new
IndexTreeModel
<
number
>
(
toSpliceable
(
list
));
model
.
splice
([
0
],
0
,
Iterator
.
fromArray
([
...
...
@@ -230,7 +230,7 @@ suite('IndexTreeModel', function () {
});
test
(
'
collapse
'
,
()
=>
{
const
list
=
[]
as
ITreeNode
<
number
>
[];
const
list
:
ITreeNode
<
number
>
[]
=
[];
const
model
=
new
IndexTreeModel
<
number
>
(
toSpliceable
(
list
));
model
.
splice
([
0
],
0
,
Iterator
.
fromArray
([
...
...
@@ -261,7 +261,7 @@ suite('IndexTreeModel', function () {
});
test
(
'
expand
'
,
()
=>
{
const
list
=
[]
as
ITreeNode
<
number
>
[];
const
list
:
ITreeNode
<
number
>
[]
=
[];
const
model
=
new
IndexTreeModel
<
number
>
(
toSpliceable
(
list
));
model
.
splice
([
0
],
0
,
Iterator
.
fromArray
([
...
...
@@ -301,7 +301,7 @@ suite('IndexTreeModel', function () {
});
test
(
'
collapse should recursively adjust visible count
'
,
function
()
{
const
list
=
[]
as
ITreeNode
<
number
>
[];
const
list
:
ITreeNode
<
number
>
[]
=
[];
const
model
=
new
IndexTreeModel
<
number
>
(
toSpliceable
(
list
));
model
.
splice
([
0
],
0
,
Iterator
.
fromArray
([
...
...
@@ -334,7 +334,7 @@ suite('IndexTreeModel', function () {
});
test
(
'
simple filter
'
,
function
()
{
const
list
=
[]
as
ITreeNode
<
number
>
[];
const
list
:
ITreeNode
<
number
>
[]
=
[];
const
filter
=
new
class
implements
ITreeFilter
<
number
>
{
filter
(
element
:
number
):
TreeVisibility
{
return
element
%
2
===
0
?
TreeVisibility
.
Visible
:
TreeVisibility
.
Hidden
;
...
...
@@ -368,7 +368,7 @@ suite('IndexTreeModel', function () {
});
test
(
'
recursive filter on initial model
'
,
function
()
{
const
list
=
[]
as
ITreeNode
<
number
>
[];
const
list
:
ITreeNode
<
number
>
[]
=
[];
const
filter
=
new
class
implements
ITreeFilter
<
number
>
{
filter
(
element
:
number
):
TreeVisibility
{
return
element
===
0
?
TreeVisibility
.
Recurse
:
TreeVisibility
.
Hidden
;
...
...
@@ -390,7 +390,7 @@ suite('IndexTreeModel', function () {
});
test
(
'
refilter
'
,
function
()
{
const
list
=
[]
as
ITreeNode
<
number
>
[];
const
list
:
ITreeNode
<
number
>
[]
=
[];
let
shouldFilter
=
false
;
const
filter
=
new
class
implements
ITreeFilter
<
number
>
{
filter
(
element
:
number
):
TreeVisibility
{
...
...
@@ -429,7 +429,7 @@ suite('IndexTreeModel', function () {
});
test
(
'
recursive filter
'
,
function
()
{
const
list
=
[]
as
ITreeNode
<
string
>
[];
const
list
:
ITreeNode
<
string
>
[]
=
[];
let
query
=
new
RegExp
(
''
);
const
filter
=
new
class
implements
ITreeFilter
<
string
>
{
filter
(
element
:
string
):
TreeVisibility
{
...
...
@@ -475,7 +475,7 @@ suite('IndexTreeModel', function () {
});
test
(
'
recursive filter with collapse
'
,
function
()
{
const
list
=
[]
as
ITreeNode
<
string
>
[];
const
list
:
ITreeNode
<
string
>
[]
=
[];
let
query
=
new
RegExp
(
''
);
const
filter
=
new
class
implements
ITreeFilter
<
string
>
{
filter
(
element
:
string
):
TreeVisibility
{
...
...
@@ -521,7 +521,7 @@ suite('IndexTreeModel', function () {
});
test
(
'
recursive filter while collapsed
'
,
function
()
{
const
list
=
[]
as
ITreeNode
<
string
>
[];
const
list
:
ITreeNode
<
string
>
[]
=
[];
let
query
=
new
RegExp
(
''
);
const
filter
=
new
class
implements
ITreeFilter
<
string
>
{
filter
(
element
:
string
):
TreeVisibility
{
...
...
@@ -576,7 +576,7 @@ suite('IndexTreeModel', function () {
suite
(
'
getNodeLocation
'
,
function
()
{
test
(
'
simple
'
,
function
()
{
const
list
=
[]
as
ITreeNode
<
number
>
[];
const
list
:
ITreeNode
<
number
>
[]
=
[];
const
model
=
new
IndexTreeModel
<
number
>
(
toSpliceable
(
list
));
model
.
splice
([
0
],
0
,
Iterator
.
fromArray
([
...
...
@@ -600,7 +600,7 @@ suite('IndexTreeModel', function () {
});
test
(
'
with filter
'
,
function
()
{
const
list
=
[]
as
ITreeNode
<
number
>
[];
const
list
:
ITreeNode
<
number
>
[]
=
[];
const
filter
=
new
class
implements
ITreeFilter
<
number
>
{
filter
(
element
:
number
):
TreeVisibility
{
return
element
%
2
===
0
?
TreeVisibility
.
Visible
:
TreeVisibility
.
Hidden
;
...
...
src/vs/base/test/browser/ui/tree/objectTreeModel.test.ts
浏览文件 @
891ff5f7
...
...
@@ -24,7 +24,7 @@ function toArray<T>(list: ITreeNode<T>[]): T[] {
suite
(
'
ObjectTreeModel
'
,
function
()
{
test
(
'
ctor
'
,
()
=>
{
const
list
=
[]
as
ITreeNode
<
number
>
[];
const
list
:
ITreeNode
<
number
>
[]
=
[];
const
model
=
new
ObjectTreeModel
<
number
>
(
toSpliceable
(
list
));
assert
(
model
);
assert
.
equal
(
list
.
length
,
0
);
...
...
@@ -32,7 +32,7 @@ suite('ObjectTreeModel', function () {
});
test
(
'
flat
'
,
()
=>
{
const
list
=
[]
as
ITreeNode
<
number
>
[];
const
list
:
ITreeNode
<
number
>
[]
=
[];
const
model
=
new
ObjectTreeModel
<
number
>
(
toSpliceable
(
list
));
model
.
setChildren
(
null
,
Iterator
.
fromArray
([
...
...
@@ -59,7 +59,7 @@ suite('ObjectTreeModel', function () {
});
test
(
'
nested
'
,
()
=>
{
const
list
=
[]
as
ITreeNode
<
number
>
[];
const
list
:
ITreeNode
<
number
>
[]
=
[];
const
model
=
new
ObjectTreeModel
<
number
>
(
toSpliceable
(
list
));
model
.
setChildren
(
null
,
Iterator
.
fromArray
([
...
...
@@ -95,7 +95,7 @@ suite('ObjectTreeModel', function () {
});
test
(
'
setChildren on collapsed node
'
,
()
=>
{
const
list
=
[]
as
ITreeNode
<
number
>
[];
const
list
:
ITreeNode
<
number
>
[]
=
[];
const
model
=
new
ObjectTreeModel
<
number
>
(
toSpliceable
(
list
));
model
.
setChildren
(
null
,
Iterator
.
fromArray
([
...
...
@@ -116,7 +116,7 @@ suite('ObjectTreeModel', function () {
});
test
(
'
setChildren on expanded, unrevealed node
'
,
()
=>
{
const
list
=
[]
as
ITreeNode
<
number
>
[];
const
list
:
ITreeNode
<
number
>
[]
=
[];
const
model
=
new
ObjectTreeModel
<
number
>
(
toSpliceable
(
list
));
model
.
setChildren
(
null
,
[
...
...
src/vs/base/test/common/async.test.ts
浏览文件 @
891ff5f7
...
...
@@ -53,7 +53,7 @@ suite('Async', () => {
// Cancelling a sync cancelable promise will fire the cancelled token.
// Also, every `then` callback runs in another execution frame.
test
(
'
CancelablePromise execution order (sync)
'
,
function
()
{
const
order
=
[];
const
order
:
string
[]
=
[];
const
cancellablePromise
=
async
.
createCancelablePromise
(
token
=>
{
order
.
push
(
'
in callback
'
);
...
...
@@ -75,7 +75,7 @@ suite('Async', () => {
// Cancelling an async cancelable promise is just the same as a sync cancellable promise.
test
(
'
CancelablePromise execution order (async)
'
,
function
()
{
const
order
=
[];
const
order
:
string
[]
=
[];
const
cancellablePromise
=
async
.
createCancelablePromise
(
token
=>
{
order
.
push
(
'
in callback
'
);
...
...
src/vs/code/electron-main/windows.ts
浏览文件 @
891ff5f7
...
...
@@ -830,7 +830,7 @@ export class WindowsManager implements IWindowsMainService {
}
private
doExtractPathsFromAPI
(
openConfig
:
IOpenConfiguration
):
IPathToOpen
[]
{
const
pathsToOpen
=
[];
const
pathsToOpen
:
IPathToOpen
[]
=
[];
const
cli
=
openConfig
.
cli
;
let
parseOptions
:
IPathParseOptions
=
{
gotoLineMode
:
cli
&&
cli
.
goto
,
forceOpenWorkspaceAsFile
:
openConfig
.
forceOpenWorkspaceAsFile
};
for
(
const
pathToOpen
of
openConfig
.
urisToOpen
)
{
...
...
@@ -868,7 +868,7 @@ export class WindowsManager implements IWindowsMainService {
}
private
doExtractPathsFromCLI
(
cli
:
ParsedArgs
):
IPath
[]
{
const
pathsToOpen
=
[];
const
pathsToOpen
:
IPathToOpen
[]
=
[];
const
parseOptions
:
IPathParseOptions
=
{
ignoreFileNotFound
:
true
,
gotoLineMode
:
cli
.
goto
};
// folder uris
...
...
src/vs/editor/contrib/colorPicker/colorDetector.ts
浏览文件 @
891ff5f7
...
...
@@ -30,8 +30,8 @@ export class ColorDetector implements IEditorContribution {
private
_globalToDispose
:
IDisposable
[]
=
[];
private
_localToDispose
:
IDisposable
[]
=
[];
private
_computePromise
:
CancelablePromise
<
IColorData
[]
>
;
private
_timeoutTimer
:
TimeoutTimer
;
private
_computePromise
:
CancelablePromise
<
IColorData
[]
>
|
null
;
private
_timeoutTimer
:
TimeoutTimer
|
null
;
private
_decorationsIds
:
string
[]
=
[];
private
_colorDatas
=
new
Map
<
string
,
IColorData
>
();
...
...
@@ -108,11 +108,8 @@ export class ColorDetector implements IEditorContribution {
return
;
}
const
model
=
this
.
_editor
.
getModel
();
// if (!model) {
// return;
// }
if
(
!
ColorProviderRegistry
.
has
(
model
))
{
if
(
!
model
||
!
ColorProviderRegistry
.
has
(
model
))
{
return
;
}
...
...
@@ -129,7 +126,13 @@ export class ColorDetector implements IEditorContribution {
}
private
beginCompute
():
void
{
this
.
_computePromise
=
createCancelablePromise
(
token
=>
getColors
(
this
.
_editor
.
getModel
(),
token
));
this
.
_computePromise
=
createCancelablePromise
(
token
=>
{
const
model
=
this
.
_editor
.
getModel
();
if
(
!
model
)
{
return
Promise
.
resolve
([]);
}
return
getColors
(
model
,
token
);
});
this
.
_computePromise
.
then
((
colorInfos
)
=>
{
this
.
updateDecorations
(
colorInfos
);
this
.
updateColorDecorators
(
colorInfos
);
...
...
@@ -226,7 +229,12 @@ export class ColorDetector implements IEditorContribution {
}
getColorData
(
position
:
Position
):
IColorData
|
null
{
const
decorations
=
this
.
_editor
.
getModel
()
const
model
=
this
.
_editor
.
getModel
();
if
(
!
model
)
{
return
null
;
}
const
decorations
=
model
.
getDecorationsInRange
(
Range
.
fromPositions
(
position
,
position
))
.
filter
(
d
=>
this
.
_colorDatas
.
has
(
d
.
id
));
...
...
src/vs/editor/contrib/goToDefinition/goToDefinitionMouse.ts
浏览文件 @
891ff5f7
...
...
@@ -23,7 +23,7 @@ import { editorActiveLinkForeground } from 'vs/platform/theme/common/colorRegist
import
{
EditorState
,
CodeEditorStateFlag
}
from
'
vs/editor/browser/core/editorState
'
;
import
{
DefinitionAction
,
DefinitionActionConfig
}
from
'
./goToDefinitionCommands
'
;
import
{
ClickLinkGesture
,
ClickLinkMouseEvent
,
ClickLinkKeyboardEvent
}
from
'
vs/editor/contrib/goToDefinition/clickLinkGesture
'
;
import
{
IWordAtPosition
,
IModelDeltaDecoration
,
ITextModel
}
from
'
vs/editor/common/model
'
;
import
{
IWordAtPosition
,
IModelDeltaDecoration
,
ITextModel
,
IFoundBracket
}
from
'
vs/editor/common/model
'
;
import
{
Position
}
from
'
vs/editor/common/core/position
'
;
class
GotoDefinitionWithMouseEditorContribution
implements
editorCommon
.
IEditorContribution
{
...
...
@@ -205,7 +205,7 @@ class GotoDefinitionWithMouseEditorContribution implements editorCommon.IEditorC
private
getPreviewRangeBasedOnBrackets
(
textEditorModel
:
ITextModel
,
startLineNumber
:
number
)
{
const
maxLineNumber
=
Math
.
min
(
textEditorModel
.
getLineCount
(),
startLineNumber
+
GotoDefinitionWithMouseEditorContribution
.
MAX_SOURCE_PREVIEW_LINES
);
const
brackets
=
[];
const
brackets
:
IFoundBracket
[]
=
[];
let
ignoreFirstEmpty
=
true
;
let
currentBracket
=
textEditorModel
.
findNextBracket
(
new
Position
(
startLineNumber
,
1
));
...
...
src/vs/platform/diagnostics/electron-main/diagnosticsService.ts
浏览文件 @
891ff5f7
...
...
@@ -85,10 +85,10 @@ export class DiagnosticsService implements IDiagnosticsService {
getPerformanceInfo
(
info
:
IMainProcessInfo
):
Promise
<
PerformanceInfo
>
{
return
listProcesses
(
info
.
mainPID
).
then
(
rootProcess
=>
{
const
workspaceInfoMessages
=
[];
const
workspaceInfoMessages
:
string
[]
=
[];
// Workspace Stats
const
workspaceStatPromises
=
[];
const
workspaceStatPromises
:
Promise
<
void
>
[]
=
[];
if
(
info
.
windows
.
some
(
window
=>
window
.
folderURIs
&&
window
.
folderURIs
.
length
>
0
))
{
info
.
windows
.
forEach
(
window
=>
{
if
(
window
.
folderURIs
.
length
===
0
)
{
...
...
@@ -173,7 +173,7 @@ export class DiagnosticsService implements IDiagnosticsService {
console
.
log
(
this
.
formatProcessList
(
info
,
rootProcess
));
// Workspace Stats
const
workspaceStatPromises
=
[];
const
workspaceStatPromises
:
Promise
<
void
>
[]
=
[];
if
(
info
.
windows
.
some
(
window
=>
window
.
folderURIs
&&
window
.
folderURIs
.
length
>
0
))
{
console
.
log
(
''
);
console
.
log
(
'
Workspace Stats:
'
);
...
...
src/vs/platform/driver/electron-browser/driver.ts
浏览文件 @
891ff5f7
...
...
@@ -22,7 +22,7 @@ function serializeElement(element: Element, recursive: boolean): IElement {
attributes
[
attr
.
name
]
=
attr
.
value
;
}
const
children
=
[];
const
children
:
IElement
[]
=
[];
if
(
recursive
)
{
for
(
let
i
=
0
;
i
<
element
.
children
.
length
;
i
++
)
{
...
...
@@ -119,7 +119,7 @@ class WindowDriver implements IWindowDriver {
const
element
=
document
.
querySelector
(
selector
);
if
(
element
!==
document
.
activeElement
)
{
const
chain
=
[];
const
chain
:
string
[]
=
[];
let
el
=
document
.
activeElement
;
while
(
el
)
{
...
...
src/vs/platform/driver/electron-main/driver.ts
浏览文件 @
891ff5f7
...
...
@@ -109,7 +109,7 @@ export class Driver implements IDriver, IWindowDriverRegistry {
const
resolvedKeybinding
=
new
USLayoutResolvedKeybinding
(
noModifiedKeybinding
,
OS
);
const
keyCode
=
resolvedKeybinding
.
getElectronAccelerator
();
const
modifiers
=
[];
const
modifiers
:
string
[]
=
[];
if
(
keybinding
.
ctrlKey
)
{
modifiers
.
push
(
'
ctrl
'
);
...
...
src/vs/platform/extensionManagement/node/extensionGalleryService.ts
浏览文件 @
891ff5f7
...
...
@@ -628,8 +628,8 @@ export class ExtensionGalleryService implements IExtensionGalleryService {
.
withFilter
(
FilterType
.
ExtensionName
,
...
extensionNames
);
return
this
.
queryGallery
(
query
,
token
).
then
(
result
=>
{
const
dependencies
=
[];
const
ids
=
[];
const
dependencies
:
IGalleryExtension
[]
=
[];
const
ids
:
string
[]
=
[];
for
(
let
index
=
0
;
index
<
result
.
galleryExtensions
.
length
;
index
++
)
{
const
rawExtension
=
result
.
galleryExtensions
[
index
];
...
...
src/vs/platform/extensionManagement/node/extensionManagementService.ts
浏览文件 @
891ff5f7
...
...
@@ -655,7 +655,7 @@ export class ExtensionManagementService extends Disposable implements IExtension
return
[];
}
const
packedExtensions
=
installed
.
filter
(
i
=>
extension
.
manifest
.
extensionPack
.
some
(
id
=>
areSameExtensions
({
id
},
i
.
galleryIdentifier
)));
const
packOfPackedExtensions
=
[];
const
packOfPackedExtensions
:
ILocalExtension
[]
=
[];
for
(
const
packedExtension
of
packedExtensions
)
{
packOfPackedExtensions
.
push
(...
this
.
getAllPackExtensionsToUninstall
(
packedExtension
,
installed
,
checked
));
}
...
...
@@ -827,7 +827,7 @@ export class ExtensionManagementService extends Disposable implements IExtension
private
filterUninstalled
(...
ids
:
string
[]):
Promise
<
string
[]
>
{
return
this
.
withUninstalledExtensions
(
allUninstalled
=>
{
const
uninstalled
=
[];
const
uninstalled
:
string
[]
=
[];
for
(
const
id
of
ids
)
{
if
(
!!
allUninstalled
[
id
])
{
uninstalled
.
push
(
id
);
...
...
src/vs/platform/request/node/requestService.ts
浏览文件 @
891ff5f7
...
...
@@ -20,9 +20,9 @@ export class RequestService implements IRequestService {
_serviceBrand
:
any
;
private
proxyUrl
:
string
;
private
proxyUrl
?
:
string
;
private
strictSSL
:
boolean
;
private
authorization
:
string
;
private
authorization
?
:
string
;
private
disposables
:
IDisposable
[]
=
[];
constructor
(
...
...
@@ -35,7 +35,7 @@ export class RequestService implements IRequestService {
private
configure
(
config
:
IHTTPConfiguration
)
{
this
.
proxyUrl
=
config
.
http
&&
config
.
http
.
proxy
;
this
.
strictSSL
=
config
.
http
&&
config
.
http
.
proxyStrictSSL
;
this
.
strictSSL
=
!!
(
config
.
http
&&
config
.
http
.
proxyStrictSSL
)
;
this
.
authorization
=
config
.
http
&&
config
.
http
.
proxyAuthorization
;
}
...
...
@@ -43,7 +43,7 @@ export class RequestService implements IRequestService {
this
.
logService
.
trace
(
'
RequestService#request
'
,
options
.
url
);
const
{
proxyUrl
,
strictSSL
}
=
this
;
const
agentPromise
=
options
.
agent
?
Promise
.
resolve
(
options
.
agent
)
:
Promise
.
resolve
(
getProxyAgent
(
options
.
url
,
{
proxyUrl
,
strictSSL
}));
const
agentPromise
=
options
.
agent
?
Promise
.
resolve
(
options
.
agent
)
:
Promise
.
resolve
(
getProxyAgent
(
options
.
url
||
''
,
{
proxyUrl
,
strictSSL
}));
return
agentPromise
.
then
(
agent
=>
{
options
.
agent
=
agent
;
...
...
src/vs/platform/theme/test/electron-browser/colorRegistry.releaseTest.ts
浏览文件 @
891ff5f7
...
...
@@ -35,7 +35,7 @@ interface DescriptionDiff {
export
const
forceColorLoad
=
[
editorMarkerNavigationError
,
overviewRulerModifiedForeground
,
STATUS_BAR_DEBUGGING_BACKGROUND
,
debugExceptionWidgetBackground
,
debugToolBarBackground
,
buttonBackground
,
embeddedEditorBackground
];
export
const
experimental
=
[];
// 'settings.modifiedItemForeground', 'editorUnnecessary.foreground' ];
export
const
experimental
:
string
[]
=
[];
// 'settings.modifiedItemForeground', 'editorUnnecessary.foreground' ];
suite
(
'
Color Registry
'
,
function
()
{
...
...
src/vs/workbench/api/browser/viewsExtensionPoint.ts
浏览文件 @
891ff5f7
...
...
@@ -111,7 +111,7 @@ class ViewsContainersExtensionHandler implements IWorkbenchContribution {
container
=
this
.
viewContainersRegistry
.
get
(
EXPLORER
);
}
const
registeredViews
=
ViewsRegistry
.
getViews
(
container
);
const
viewIds
=
[];
const
viewIds
:
string
[]
=
[];
const
viewDescriptors
=
coalesce
(
entry
.
value
.
map
((
item
,
index
)
=>
{
// validate
if
(
viewIds
.
indexOf
(
item
.
id
)
!==
-
1
)
{
...
...
src/vs/workbench/api/electron-browser/mainThreadTreeViews.ts
浏览文件 @
891ff5f7
...
...
@@ -133,7 +133,7 @@ class TreeViewDataProvider implements ITreeViewDataProvider {
}
private
postGetChildren
(
elements
:
ITreeItem
[]):
ITreeItem
[]
{
const
result
=
[];
const
result
:
ITreeItem
[]
=
[];
if
(
elements
)
{
for
(
const
element
of
elements
)
{
this
.
itemsMap
.
set
(
element
.
handle
,
element
);
...
...
src/vs/workbench/browser/parts/titlebar/menubarControl.ts
浏览文件 @
891ff5f7
...
...
@@ -694,7 +694,7 @@ export class MenubarControl extends Disposable {
this
.
insertActionsBefore
(
action
,
target
);
if
(
action
instanceof
SubmenuItemAction
)
{
const
submenu
=
this
.
menuService
.
createMenu
(
action
.
item
.
submenu
,
this
.
contextKeyService
);
const
submenuActions
=
[];
const
submenuActions
:
SubmenuAction
[]
=
[];
updateActions
(
submenu
,
submenuActions
);
target
.
push
(
new
SubmenuAction
(
action
.
label
,
submenuActions
));
}
else
{
...
...
src/vs/workbench/browser/parts/views/customView.ts
浏览文件 @
891ff5f7
...
...
@@ -351,7 +351,7 @@ export class CustomTreeViewer extends Disposable implements ITreeViewer {
getOptimalWidth
():
number
{
if
(
this
.
tree
)
{
const
parentNode
=
this
.
tree
.
getHTMLElement
();
const
childNodes
=
[]
.
slice
.
call
(
parentNode
.
querySelectorAll
(
'
.outline-item-label > a
'
));
const
childNodes
=
([]
as
Element
[])
.
slice
.
call
(
parentNode
.
querySelectorAll
(
'
.outline-item-label > a
'
));
return
DOM
.
getLargestChildWidth
(
parentNode
,
childNodes
);
}
return
0
;
...
...
src/vs/workbench/parts/comments/common/commentModel.ts
浏览文件 @
891ff5f7
...
...
@@ -127,7 +127,7 @@ export class CommentsModel {
}
private
groupByResource
(
commentThreads
:
CommentThread
[]):
ResourceWithCommentThreads
[]
{
const
resourceCommentThreads
=
[]
as
ResourceWithCommentThreads
[];
const
resourceCommentThreads
:
ResourceWithCommentThreads
[]
=
[];
const
commentThreadsByResource
=
new
Map
<
string
,
ResourceWithCommentThreads
>
();
for
(
const
group
of
groupBy
(
commentThreads
,
CommentsModel
.
_compareURIs
))
{
commentThreadsByResource
.
set
(
group
[
0
].
resource
,
new
ResourceWithCommentThreads
(
URI
.
parse
(
group
[
0
].
resource
),
group
));
...
...
src/vs/workbench/parts/comments/electron-browser/commentService.ts
浏览文件 @
891ff5f7
...
...
@@ -135,7 +135,7 @@ export class CommentService extends Disposable implements ICommentService {
}
getComments
(
resource
:
URI
):
Promise
<
CommentInfo
[]
>
{
const
result
=
[];
const
result
:
Promise
<
CommentInfo
>
[]
=
[];
for
(
const
handle
of
keys
(
this
.
_commentProviders
))
{
const
provider
=
this
.
_commentProviders
.
get
(
handle
);
if
((
<
DocumentCommentProvider
>
provider
).
provideDocumentComments
)
{
...
...
src/vs/workbench/parts/comments/electron-browser/commentsEditorContribution.ts
浏览文件 @
891ff5f7
...
...
@@ -512,7 +512,7 @@ export class ReviewController implements IEditorContribution {
});
});
const
commentingRanges
=
[];
const
commentingRanges
:
IRange
[]
=
[];
this
.
_commentInfos
.
forEach
(
info
=>
{
commentingRanges
.
push
(...
info
.
commentingRanges
);
});
...
...
src/vs/workbench/parts/debug/browser/breakpointsView.ts
浏览文件 @
891ff5f7
...
...
@@ -619,7 +619,7 @@ export function getBreakpointMessageAndClassName(debugService: IDebugService, br
}
if
(
breakpoint
.
logMessage
||
breakpoint
.
condition
||
breakpoint
.
hitCondition
)
{
const
messages
=
[];
const
messages
:
string
[]
=
[];
if
(
breakpoint
.
logMessage
)
{
if
(
session
&&
!
session
.
capabilities
.
supportsLogPoints
)
{
return
{
...
...
src/vs/workbench/parts/experiments/test/electron-browser/experimentService.test.ts
浏览文件 @
891ff5f7
...
...
@@ -4,7 +4,7 @@
*--------------------------------------------------------------------------------------------*/
import
*
as
assert
from
'
assert
'
;
import
{
ExperimentService
,
ExperimentActionType
,
ExperimentState
}
from
'
vs/workbench/parts/experiments/node/experimentService
'
;
import
{
ExperimentService
,
ExperimentActionType
,
ExperimentState
,
IExperiment
}
from
'
vs/workbench/parts/experiments/node/experimentService
'
;
import
{
TestInstantiationService
}
from
'
vs/platform/instantiation/test/common/instantiationServiceMock
'
;
import
{
IEnvironmentService
}
from
'
vs/platform/environment/common/environment
'
;
import
{
TestLifecycleService
}
from
'
vs/workbench/test/workbenchTestServices
'
;
...
...
@@ -122,7 +122,7 @@ suite('Experiment Service', () => {
};
testObject
=
instantiationService
.
createInstance
(
TestExperimentService
);
const
tests
=
[];
const
tests
:
TPromise
<
IExperiment
>
[]
=
[];
tests
.
push
(
testObject
.
getExperimentById
(
'
experiment1
'
));
tests
.
push
(
testObject
.
getExperimentById
(
'
experiment2
'
));
tests
.
push
(
testObject
.
getExperimentById
(
'
experiment3
'
));
...
...
@@ -546,7 +546,7 @@ suite('Experiment Service', () => {
testObject
=
instantiationService
.
createInstance
(
TestExperimentService
);
const
tests
=
[];
const
tests
:
TPromise
<
IExperiment
>
[]
=
[];
tests
.
push
(
testObject
.
getExperimentById
(
'
experiment1
'
));
tests
.
push
(
testObject
.
getExperimentById
(
'
experiment2
'
));
tests
.
push
(
testObject
.
getExperimentById
(
'
experiment3
'
));
...
...
src/vs/workbench/parts/extensions/electron-browser/extensionTipsService.ts
浏览文件 @
891ff5f7
...
...
@@ -319,7 +319,7 @@ export class ExtensionTipsService extends Disposable implements IExtensionTipsSe
const
regEx
=
new
RegExp
(
EXTENSION_IDENTIFIER_PATTERN
);
const
invalidExtensions
=
[];
const
invalidExtensions
:
string
[]
=
[];
let
message
=
''
;
const
regexFilter
=
(
ids
:
string
[])
=>
{
...
...
src/vs/workbench/parts/extensions/node/extensionsWorkbenchService.ts
浏览文件 @
891ff5f7
...
...
@@ -615,7 +615,7 @@ export class ExtensionsWorkbenchService implements IExtensionsWorkbenchService,
}
private
syncWithGallery
():
Promise
<
void
>
{
const
ids
=
[],
names
=
[];
const
ids
:
string
[]
=
[],
names
:
string
[]
=
[];
for
(
const
installed
of
this
.
installed
)
{
if
(
installed
.
type
===
LocalExtensionType
.
User
)
{
if
(
installed
.
uuid
)
{
...
...
@@ -626,7 +626,7 @@ export class ExtensionsWorkbenchService implements IExtensionsWorkbenchService,
}
}
const
promises
=
[];
const
promises
:
Promise
<
IPager
<
IExtension
>>
[]
=
[];
if
(
ids
.
length
)
{
promises
.
push
(
this
.
queryGallery
({
ids
,
pageSize
:
ids
.
length
}));
}
...
...
src/vs/workbench/parts/files/electron-browser/views/explorerView.ts
浏览文件 @
891ff5f7
...
...
@@ -473,7 +473,7 @@ export class ExplorerView extends TreeViewsViewletPanel implements IExplorerView
public
getOptimalWidth
():
number
{
const
parentNode
=
this
.
explorerViewer
.
getHTMLElement
();
const
childNodes
=
[]
.
slice
.
call
(
parentNode
.
querySelectorAll
(
'
.explorer-item .label-name
'
));
// select all file labels
const
childNodes
=
([]
as
Element
[])
.
slice
.
call
(
parentNode
.
querySelectorAll
(
'
.explorer-item .label-name
'
));
// select all file labels
return
DOM
.
getLargestChildWidth
(
parentNode
,
childNodes
);
}
...
...
src/vs/workbench/parts/preferences/browser/keybindingsEditor.ts
浏览文件 @
891ff5f7
...
...
@@ -787,7 +787,7 @@ class ActionsColumn extends Column {
render
(
keybindingItemEntry
:
IKeybindingItemEntry
):
void
{
this
.
actionBar
.
clear
();
const
actions
=
[];
const
actions
:
IAction
[]
=
[];
if
(
keybindingItemEntry
.
keybindingItem
.
keybinding
)
{
actions
.
push
(
this
.
createEditAction
(
keybindingItemEntry
));
}
else
{
...
...
src/vs/workbench/parts/preferences/browser/settingsTree.ts
浏览文件 @
891ff5f7
...
...
@@ -598,7 +598,7 @@ export class SettingsRenderer implements ITreeRenderer {
private
renderGroupTitleTemplate
(
container
:
HTMLElement
):
IGroupTitleTemplate
{
DOM
.
addClass
(
container
,
'
group-title
'
);
const
toDispose
=
[];
const
toDispose
:
IDisposable
[]
=
[];
const
template
:
IGroupTitleTemplate
=
{
parent
:
container
,
toDispose
...
...
@@ -624,7 +624,7 @@ export class SettingsRenderer implements ITreeRenderer {
const
deprecationWarningElement
=
DOM
.
append
(
container
,
$
(
'
.setting-item-deprecation-message
'
));
const
toDispose
=
[];
const
toDispose
:
IDisposable
[]
=
[];
const
toolbarContainer
=
DOM
.
append
(
container
,
$
(
'
.setting-toolbar-container
'
));
const
toolbar
=
this
.
renderSettingToolbar
(
toolbarContainer
);
...
...
@@ -775,7 +775,7 @@ export class SettingsRenderer implements ITreeRenderer {
const
deprecationWarningElement
=
DOM
.
append
(
container
,
$
(
'
.setting-item-deprecation-message
'
));
const
toDispose
=
[];
const
toDispose
:
IDisposable
[]
=
[];
const
checkbox
=
new
Checkbox
({
actionClassName
:
'
setting-value-checkbox
'
,
isChecked
:
true
,
title
:
''
,
inputActiveOptionBorder
:
null
});
controlElement
.
appendChild
(
checkbox
.
domNode
);
toDispose
.
push
(
checkbox
);
...
...
@@ -966,7 +966,7 @@ export class SettingsRenderer implements ITreeRenderer {
}
private
renderNewExtensionsTemplate
(
container
:
HTMLElement
):
ISettingNewExtensionsTemplate
{
const
toDispose
=
[];
const
toDispose
:
IDisposable
[]
=
[];
container
.
classList
.
add
(
'
setting-item-new-extensions
'
);
...
...
src/vs/workbench/parts/preferences/browser/settingsTreeModels.ts
浏览文件 @
891ff5f7
...
...
@@ -137,7 +137,7 @@ export class SettingsTreeSettingElement extends SettingsTreeElement {
const
{
isConfigured
,
inspected
,
targetSelector
}
=
inspectResult
;
const
displayValue
=
isConfigured
?
inspected
[
targetSelector
]
:
inspected
.
default
;
const
overriddenScopeList
=
[];
const
overriddenScopeList
:
string
[]
=
[];
if
(
targetSelector
===
'
user
'
&&
typeof
inspected
.
workspace
!==
'
undefined
'
)
{
overriddenScopeList
.
push
(
localize
(
'
workspace
'
,
"
Workspace
"
));
}
...
...
@@ -281,7 +281,7 @@ export class SettingsTreeModel {
element
.
parent
=
parent
;
element
.
level
=
this
.
getDepth
(
element
);
const
children
=
[];
const
children
:
SettingsTreeGroupChild
[]
=
[];
if
(
tocEntry
.
settings
)
{
const
settingChildren
=
tocEntry
.
settings
.
map
(
s
=>
this
.
createSettingsTreeSettingElement
(
<
ISetting
>
s
,
element
))
.
filter
(
el
=>
el
.
setting
.
deprecationMessage
?
el
.
isConfigured
:
true
);
...
...
src/vs/workbench/parts/preferences/electron-browser/settingsEditor2.ts
浏览文件 @
891ff5f7
...
...
@@ -898,7 +898,7 @@ export class SettingsEditor2 extends BaseEditor {
// Warn for settings not included in layout
if
(
settingsResult
.
leftoverSettings
.
size
&&
!
this
.
hasWarnedMissingSettings
)
{
const
settingKeyList
=
[];
const
settingKeyList
:
string
[]
=
[];
settingsResult
.
leftoverSettings
.
forEach
(
s
=>
{
settingKeyList
.
push
(
s
.
key
);
});
...
...
src/vs/workbench/parts/search/browser/openAnythingHandler.ts
浏览文件 @
891ff5f7
...
...
@@ -121,7 +121,7 @@ export class OpenAnythingHandler extends QuickOpenHandler {
}
// Combine results.
const
mergedResults
=
[].
concat
(...
results
.
map
(
r
=>
r
.
entries
));
const
mergedResults
:
QuickOpenEntry
[]
=
[].
concat
(...
results
.
map
(
r
=>
r
.
entries
));
// Sort
const
compare
=
(
elementA
:
QuickOpenEntry
,
elementB
:
QuickOpenEntry
)
=>
compareItemsByScore
(
elementA
,
elementB
,
query
,
true
,
QuickOpenItemAccessor
,
this
.
scorerCache
);
...
...
src/vs/workbench/parts/search/browser/replaceService.ts
浏览文件 @
891ff5f7
...
...
@@ -18,7 +18,7 @@ import { IProgressRunner } from 'vs/platform/progress/common/progress';
import
{
ITextModelService
,
ITextModelContentProvider
}
from
'
vs/editor/common/services/resolverService
'
;
import
{
IWorkbenchContribution
}
from
'
vs/workbench/common/contributions
'
;
import
{
ScrollType
}
from
'
vs/editor/common/editorCommon
'
;
import
{
ITextModel
}
from
'
vs/editor/common/model
'
;
import
{
ITextModel
,
IIdentifiedSingleEditOperation
}
from
'
vs/editor/common/model
'
;
import
{
IInstantiationService
}
from
'
vs/platform/instantiation/common/instantiation
'
;
import
{
ResourceTextEdit
}
from
'
vs/editor/common/modes
'
;
import
{
createTextBufferFactoryFromSnapshot
}
from
'
vs/editor/common/model/textModel
'
;
...
...
@@ -164,7 +164,7 @@ export class ReplaceService implements IReplaceService {
private
applyEditsToPreview
(
fileMatch
:
FileMatch
,
replaceModel
:
ITextModel
):
void
{
const
resourceEdits
=
this
.
createEdits
(
fileMatch
,
replaceModel
.
uri
);
const
modelEdits
=
[];
const
modelEdits
:
IIdentifiedSingleEditOperation
[]
=
[];
for
(
const
resourceEdit
of
resourceEdits
)
{
for
(
const
edit
of
resourceEdit
.
edits
)
{
const
range
=
Range
.
lift
(
edit
.
range
);
...
...
src/vs/workbench/parts/terminal/browser/terminalTab.ts
浏览文件 @
891ff5f7
...
...
@@ -61,7 +61,7 @@ class SplitPaneContainer {
}
// Get sizes
const
sizes
=
[];
const
sizes
:
number
[]
=
[];
for
(
let
i
=
0
;
i
<
this
.
_splitView
.
length
;
i
++
)
{
sizes
.
push
(
this
.
_splitView
.
getViewSize
(
i
));
}
...
...
src/vs/workbench/services/configuration/common/configurationModels.ts
浏览文件 @
891ff5f7
...
...
@@ -208,7 +208,7 @@ export class Configuration extends BaseConfiguration {
}
compare
(
other
:
Configuration
):
string
[]
{
const
result
=
[];
const
result
:
string
[]
=
[];
for
(
const
key
of
this
.
allKeys
())
{
if
(
!
equals
(
this
.
getValue
(
key
),
other
.
getValue
(
key
))
||
(
this
.
_workspace
&&
this
.
_workspace
.
folders
.
some
(
folder
=>
!
equals
(
this
.
getValue
(
key
,
{
resource
:
folder
.
uri
}),
other
.
getValue
(
key
,
{
resource
:
folder
.
uri
})))))
{
...
...
src/vs/workbench/services/files/node/watcher/unix/chokidarWatcherService.ts
浏览文件 @
891ff5f7
...
...
@@ -68,7 +68,7 @@ export class ChokidarWatcherService implements IWatcherService {
public
setRoots
(
requests
:
IWatcherRequest
[]):
TPromise
<
void
>
{
const
watchers
=
Object
.
create
(
null
);
const
newRequests
=
[];
const
newRequests
:
string
[]
=
[];
const
requestsByBasePath
=
normalizeRoots
(
requests
);
...
...
src/vs/workbench/services/keybinding/common/keybindingEditing.ts
浏览文件 @
891ff5f7
...
...
@@ -169,7 +169,7 @@ export class KeybindingsEditingService extends Disposable implements IKeybinding
}
private
findUnassignedDefaultKeybindingEntryIndex
(
keybindingItem
:
ResolvedKeybindingItem
,
userKeybindingEntries
:
IUserFriendlyKeybinding
[]):
number
[]
{
const
indices
=
[];
const
indices
:
number
[]
=
[];
for
(
let
index
=
0
;
index
<
userKeybindingEntries
.
length
;
index
++
)
{
if
(
userKeybindingEntries
[
index
].
command
===
`-
${
keybindingItem
.
command
}
`
)
{
indices
.
push
(
index
);
...
...
src/vs/workbench/services/preferences/common/keybindingsEditorModel.ts
浏览文件 @
891ff5f7
...
...
@@ -157,7 +157,7 @@ export class KeybindingsEditorModel extends EditorModel {
}
private
splitKeybindingWords
(
wordsSeparatedBySpaces
:
string
[]):
string
[]
{
const
result
=
[];
const
result
:
string
[]
=
[];
for
(
const
word
of
wordsSeparatedBySpaces
)
{
result
.
push
(...
word
.
split
(
'
+
'
).
filter
(
w
=>
!!
w
));
}
...
...
@@ -314,7 +314,7 @@ class KeybindingItemMatches {
let
firstPartMatch
:
KeybindingMatch
=
{};
let
chordPartMatch
:
KeybindingMatch
=
{};
const
matchedWords
=
[];
const
matchedWords
:
number
[]
=
[];
let
firstPartMatchedWords
:
number
[]
=
[];
let
chordPartMatchedWords
:
number
[]
=
[];
let
matchFirstPart
=
true
;
...
...
src/vs/workbench/services/preferences/common/preferencesModels.ts
浏览文件 @
891ff5f7
...
...
@@ -587,7 +587,7 @@ export class DefaultSettings extends Disposable {
}
private
removeEmptySettingsGroups
(
settingsGroups
:
ISettingsGroup
[]):
ISettingsGroup
[]
{
const
result
=
[];
const
result
:
ISettingsGroup
[]
=
[];
for
(
const
settingsGroup
of
settingsGroups
)
{
settingsGroup
.
sections
=
settingsGroup
.
sections
.
filter
(
section
=>
section
.
settings
.
length
>
0
);
if
(
settingsGroup
.
sections
.
length
)
{
...
...
src/vs/workbench/services/search/node/fileSearch.ts
浏览文件 @
891ff5f7
...
...
@@ -741,7 +741,7 @@ class AbsoluteAndRelativeParsedExpression {
}
public
getPathTerms
():
string
[]
{
const
pathTerms
=
[];
const
pathTerms
:
string
[]
=
[];
if
(
this
.
absoluteParsedExpr
)
{
pathTerms
.
push
(...
glob
.
getPathTerms
(
this
.
absoluteParsedExpr
));
}
...
...
src/vs/workbench/services/search/node/textSearchManager.ts
浏览文件 @
891ff5f7
...
...
@@ -78,7 +78,7 @@ export class TextSearchManager {
private
searchInFolder
(
folderQuery
:
IFolderQuery
<
URI
>
,
onResult
:
(
result
:
vscode
.
TextSearchResult
)
=>
void
,
token
:
CancellationToken
):
TPromise
<
vscode
.
TextSearchComplete
>
{
const
queryTester
=
new
QueryGlobTester
(
this
.
config
,
folderQuery
);
const
testingPs
=
[];
const
testingPs
:
TPromise
<
void
>
[]
=
[];
const
progress
=
{
report
:
(
result
:
vscode
.
TextSearchResult
)
=>
{
const
hasSibling
=
folderQuery
.
folder
.
scheme
===
'
file
'
&&
glob
.
hasSiblingPromiseFn
(()
=>
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录