Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
023af41a
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,发现更多精彩内容 >>
提交
023af41a
编写于
9月 20, 2018
作者:
M
Martin Aeschlimann
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
chickodarservice: setVerboseLogging & stop
上级
0c0d368e
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
29 addition
and
9 deletion
+29
-9
src/vs/workbench/services/files/node/watcher/unix/chokidarWatcherService.ts
...ervices/files/node/watcher/unix/chokidarWatcherService.ts
+15
-8
src/vs/workbench/services/files/node/watcher/unix/watcher.ts
src/vs/workbench/services/files/node/watcher/unix/watcher.ts
+2
-0
src/vs/workbench/services/files/node/watcher/unix/watcherIpc.ts
.../workbench/services/files/node/watcher/unix/watcherIpc.ts
+12
-1
未找到文件。
src/vs/workbench/services/files/node/watcher/unix/chokidarWatcherService.ts
浏览文件 @
023af41a
...
...
@@ -45,7 +45,8 @@ export class ChokidarWatcherService implements IWatcherService {
private
_watchers
:
{
[
watchPath
:
string
]:
IWatcher
};
private
_watcherCount
:
number
;
private
_options
:
IWatcherOptions
&
IChockidarWatcherOptions
;
private
_pollingInterval
:
number
;
private
_verboseLogging
:
boolean
;
private
spamCheckStartTime
:
number
;
private
spamWarningLogged
:
boolean
;
...
...
@@ -54,13 +55,19 @@ export class ChokidarWatcherService implements IWatcherService {
private
_onWatchEvent
=
new
Emitter
<
watcherCommon
.
IRawFileChange
[]
|
IWatchError
>
();
readonly
onWatchEvent
=
this
.
_onWatchEvent
.
event
;
watch
(
options
:
IWatcherOptions
&
IChockidarWatcherOptions
):
Event
<
watcherCommon
.
IRawFileChange
[]
|
IWatchError
>
{
this
.
_options
=
options
;
public
watch
(
options
:
IWatcherOptions
&
IChockidarWatcherOptions
):
Event
<
watcherCommon
.
IRawFileChange
[]
|
IWatchError
>
{
this
.
_verboseLogging
=
options
.
verboseLogging
;
this
.
_pollingInterval
=
options
.
pollingInterval
;
this
.
_watchers
=
Object
.
create
(
null
);
this
.
_watcherCount
=
0
;
return
this
.
onWatchEvent
;
}
public
setVerboseLogging
(
enabled
:
boolean
):
TPromise
<
void
>
{
this
.
_verboseLogging
=
enabled
;
return
TPromise
.
as
(
null
);
}
public
setRoots
(
requests
:
IWatcherRequest
[]):
TPromise
<
void
>
{
const
watchers
=
Object
.
create
(
null
);
const
newRequests
=
[];
...
...
@@ -97,11 +104,11 @@ export class ChokidarWatcherService implements IWatcherService {
}
private
_watch
(
basePath
:
string
,
requests
:
IWatcherRequest
[]):
IWatcher
{
if
(
this
.
_
options
.
verboseLogging
)
{
if
(
this
.
_verboseLogging
)
{
console
.
log
(
`Start watching:
${
basePath
}
]`
);
}
const
pollingInterval
=
this
.
_
options
.
pollingInterval
||
1000
;
const
pollingInterval
=
this
.
_pollingInterval
||
1000
;
const
watcherOpts
:
chokidar
.
IOptions
=
{
ignoreInitial
:
true
,
...
...
@@ -144,7 +151,7 @@ export class ChokidarWatcherService implements IWatcherService {
requests
,
stop
:
()
=>
{
try
{
if
(
this
.
_
options
.
verboseLogging
)
{
if
(
this
.
_verboseLogging
)
{
console
.
log
(
`Stop watching:
${
basePath
}
]`
);
}
if
(
chokidarWatcher
)
{
...
...
@@ -206,7 +213,7 @@ export class ChokidarWatcherService implements IWatcherService {
let
event
=
{
type
:
eventType
,
path
};
// Logging
if
(
this
.
_
options
.
verboseLogging
)
{
if
(
this
.
_verboseLogging
)
{
console
.
log
(
`
${
eventType
===
FileChangeType
.
ADDED
?
'
[ADDED]
'
:
eventType
===
FileChangeType
.
DELETED
?
'
[DELETED]
'
:
'
[CHANGED]
'
}
${
path
}
`
);
}
...
...
@@ -233,7 +240,7 @@ export class ChokidarWatcherService implements IWatcherService {
this
.
_onWatchEvent
.
fire
(
res
);
// Logging
if
(
this
.
_
options
.
verboseLogging
)
{
if
(
this
.
_verboseLogging
)
{
res
.
forEach
(
r
=>
{
console
.
log
(
` >> normalized
${
r
.
type
===
FileChangeType
.
ADDED
?
'
[ADDED]
'
:
r
.
type
===
FileChangeType
.
DELETED
?
'
[DELETED]
'
:
'
[CHANGED]
'
}
${
r
.
path
}
`
);
});
...
...
src/vs/workbench/services/files/node/watcher/unix/watcher.ts
浏览文件 @
023af41a
...
...
@@ -25,4 +25,6 @@ export interface IWatchError {
export
interface
IWatcherService
{
watch
(
options
:
IWatcherOptions
):
Event
<
IRawFileChange
[]
|
IWatchError
>
;
setRoots
(
roots
:
IWatcherRequest
[]):
TPromise
<
void
>
;
setVerboseLogging
(
enabled
:
boolean
):
TPromise
<
void
>
;
stop
():
TPromise
<
void
>
;
}
\ No newline at end of file
src/vs/workbench/services/files/node/watcher/unix/watcherIpc.ts
浏览文件 @
023af41a
...
...
@@ -16,6 +16,7 @@ export interface IWatcherChannel extends IChannel {
listen
<
T
>
(
event
:
string
,
arg
?:
any
):
Event
<
T
>
;
call
(
command
:
'
setRoots
'
,
request
:
IWatcherRequest
[]):
TPromise
<
void
>
;
call
(
command
:
'
setVerboseLogging
'
,
request
:
boolean
):
TPromise
<
void
>
;
call
<
T
>
(
command
:
string
,
arg
?:
any
):
TPromise
<
T
>
;
}
...
...
@@ -30,9 +31,11 @@ export class WatcherChannel implements IWatcherChannel {
throw
new
Error
(
'
No events
'
);
}
call
(
command
:
string
,
arg
:
any
):
TPromise
<
any
>
{
call
(
command
:
string
,
arg
?
:
any
):
TPromise
<
any
>
{
switch
(
command
)
{
case
'
setRoots
'
:
return
this
.
service
.
setRoots
(
arg
);
case
'
setVerboseLogging
'
:
return
this
.
service
.
setVerboseLogging
(
arg
);
case
'
stop
'
:
return
this
.
service
.
stop
();
}
return
undefined
;
}
...
...
@@ -46,7 +49,15 @@ export class WatcherChannelClient implements IWatcherService {
return
this
.
channel
.
listen
(
'
watch
'
,
options
);
}
setVerboseLogging
(
enable
:
boolean
):
TPromise
<
void
>
{
return
this
.
channel
.
call
(
'
setVerboseLogging
'
,
enable
);
}
setRoots
(
roots
:
IWatcherRequest
[]):
TPromise
<
void
>
{
return
this
.
channel
.
call
(
'
setRoots
'
,
roots
);
}
stop
():
TPromise
<
void
>
{
return
this
.
channel
.
call
(
'
stop
'
);
}
}
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录