Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
9867c9af
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,发现更多精彩内容 >>
提交
9867c9af
编写于
11月 19, 2018
作者:
M
Matt Bierner
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Strict null check chokidarWatcherService
上级
9f533655
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
24 addition
and
20 deletion
+24
-20
src/tsconfig.strictNullChecks.json
src/tsconfig.strictNullChecks.json
+2
-0
src/vs/workbench/services/files/node/watcher/unix/chokidarWatcherService.ts
...ervices/files/node/watcher/unix/chokidarWatcherService.ts
+22
-20
未找到文件。
src/tsconfig.strictNullChecks.json
浏览文件 @
9867c9af
...
...
@@ -675,7 +675,9 @@
"./vs/workbench/services/files/node/watcher/nsfw/watcher.ts"
,
"./vs/workbench/services/files/node/watcher/nsfw/watcherIpc.ts"
,
"./vs/workbench/services/files/node/watcher/nsfw/watcherService.ts"
,
"./vs/workbench/services/files/node/watcher/unix/chokidarWatcherService.ts"
,
"./vs/workbench/services/files/node/watcher/unix/watcher.ts"
,
"./vs/workbench/services/files/node/watcher/unix/watcherApp.ts"
,
"./vs/workbench/services/files/node/watcher/unix/watcherIpc.ts"
,
"./vs/workbench/services/files/node/watcher/unix/watcherService.ts"
,
"./vs/workbench/services/files/node/watcher/win32/csharpWatcherService.ts"
,
...
...
src/vs/workbench/services/files/node/watcher/unix/chokidarWatcherService.ts
浏览文件 @
9867c9af
...
...
@@ -43,7 +43,7 @@ export class ChokidarWatcherService implements IWatcherService {
private
_watchers
:
{
[
watchPath
:
string
]:
IWatcher
};
private
_watcherCount
:
number
;
private
_pollingInterval
:
number
;
private
_pollingInterval
?
:
number
;
private
_verboseLogging
:
boolean
;
private
spamCheckStartTime
:
number
;
...
...
@@ -63,7 +63,7 @@ export class ChokidarWatcherService implements IWatcherService {
public
setVerboseLogging
(
enabled
:
boolean
):
TPromise
<
void
>
{
this
.
_verboseLogging
=
enabled
;
return
TPromise
.
as
(
null
);
return
TPromise
.
as
(
void
0
);
}
public
setRoots
(
requests
:
IWatcherRequest
[]):
TPromise
<
void
>
{
...
...
@@ -93,7 +93,7 @@ export class ChokidarWatcherService implements IWatcherService {
}
this
.
_watchers
=
watchers
;
return
TPromise
.
as
(
null
);
return
TPromise
.
as
(
void
0
);
}
// for test purposes
...
...
@@ -134,7 +134,7 @@ export class ChokidarWatcherService implements IWatcherService {
console
.
warn
(
`Watcher basePath does not match version on disk and was corrected (original:
${
basePath
}
, real:
${
realBasePath
}
)`
);
}
let
chokidarWatcher
=
chokidar
.
watch
(
realBasePath
,
watcherOpts
);
let
chokidarWatcher
:
chokidar
.
FSWatcher
|
null
=
chokidar
.
watch
(
realBasePath
,
watcherOpts
);
this
.
_watcherCount
++
;
// Detect if for some reason the native watcher library fails to load
...
...
@@ -143,7 +143,7 @@ export class ChokidarWatcherService implements IWatcherService {
}
let
undeliveredFileEvents
:
watcherCommon
.
IRawFileChange
[]
=
[];
let
fileEventDelayer
=
new
ThrottledDelayer
(
ChokidarWatcherService
.
FS_EVENT_DELAY
);
let
fileEventDelayer
:
ThrottledDelayer
<
undefined
>
|
null
=
new
ThrottledDelayer
(
ChokidarWatcherService
.
FS_EVENT_DELAY
);
const
watcher
:
IWatcher
=
{
requests
,
...
...
@@ -228,24 +228,26 @@ export class ChokidarWatcherService implements IWatcherService {
// Add to buffer
undeliveredFileEvents
.
push
(
event
);
// Delay and send buffer
fileEventDelayer
.
trigger
(()
=>
{
const
events
=
undeliveredFileEvents
;
undeliveredFileEvents
=
[];
if
(
fileEventDelayer
)
{
// Delay and send buffer
fileEventDelayer
.
trigger
(()
=>
{
const
events
=
undeliveredFileEvents
;
undeliveredFileEvents
=
[];
// Broadcast to clients normalized
const
res
=
watcherCommon
.
normalize
(
events
);
this
.
_onWatchEvent
.
fire
(
res
);
// Broadcast to clients normalized
const
res
=
watcherCommon
.
normalize
(
events
);
this
.
_onWatchEvent
.
fire
(
res
);
// Logging
if
(
this
.
_verboseLogging
)
{
res
.
forEach
(
r
=>
{
console
.
log
(
` >> normalized
${
r
.
type
===
FileChangeType
.
ADDED
?
'
[ADDED]
'
:
r
.
type
===
FileChangeType
.
DELETED
?
'
[DELETED]
'
:
'
[CHANGED]
'
}
${
r
.
path
}
`
);
});
}
// Logging
if
(
this
.
_verboseLogging
)
{
res
.
forEach
(
r
=>
{
console
.
log
(
` >> normalized
${
r
.
type
===
FileChangeType
.
ADDED
?
'
[ADDED]
'
:
r
.
type
===
FileChangeType
.
DELETED
?
'
[DELETED]
'
:
'
[CHANGED]
'
}
${
r
.
path
}
`
);
});
}
return
TPromise
.
as
(
null
);
});
return
TPromise
.
as
(
void
0
);
});
}
});
chokidarWatcher
.
on
(
'
error
'
,
(
error
:
Error
)
=>
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录