Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
faeb58eb
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,发现更多精彩内容 >>
提交
faeb58eb
编写于
7月 11, 2016
作者:
J
Joao Moreno
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
do not call git status when window is not focused
related to #901
上级
1336b3d3
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
135 addition
and
110 deletion
+135
-110
src/vs/base/browser/event.ts
src/vs/base/browser/event.ts
+106
-104
src/vs/workbench/parts/git/browser/gitServices.ts
src/vs/workbench/parts/git/browser/gitServices.ts
+29
-6
未找到文件。
src/vs/base/browser/event.ts
浏览文件 @
faeb58eb
...
...
@@ -6,113 +6,115 @@
import
_Event
,
{
Emitter
}
from
'
vs/base/common/event
'
;
export
type
EventHandler
=
HTMLElement
|
HTMLDocument
|
Window
;
export
interface
IDomEvent
{
(
element
:
HTMLElement
,
type
:
"
MSContentZoom
"
,
useCapture
?:
boolean
):
_Event
<
UIEvent
>
;
(
element
:
HTMLElement
,
type
:
"
MSGestureChange
"
,
useCapture
?:
boolean
):
_Event
<
MSGestureEvent
>
;
(
element
:
HTMLElement
,
type
:
"
MSGestureDoubleTap
"
,
useCapture
?:
boolean
):
_Event
<
MSGestureEvent
>
;
(
element
:
HTMLElement
,
type
:
"
MSGestureEnd
"
,
useCapture
?:
boolean
):
_Event
<
MSGestureEvent
>
;
(
element
:
HTMLElement
,
type
:
"
MSGestureHold
"
,
useCapture
?:
boolean
):
_Event
<
MSGestureEvent
>
;
(
element
:
HTMLElement
,
type
:
"
MSGestureStart
"
,
useCapture
?:
boolean
):
_Event
<
MSGestureEvent
>
;
(
element
:
HTMLElement
,
type
:
"
MSGestureTap
"
,
useCapture
?:
boolean
):
_Event
<
MSGestureEvent
>
;
(
element
:
HTMLElement
,
type
:
"
MSGotPointerCapture
"
,
useCapture
?:
boolean
):
_Event
<
MSPointerEvent
>
;
(
element
:
HTMLElement
,
type
:
"
MSInertiaStart
"
,
useCapture
?:
boolean
):
_Event
<
MSGestureEvent
>
;
(
element
:
HTMLElement
,
type
:
"
MSLostPointerCapture
"
,
useCapture
?:
boolean
):
_Event
<
MSPointerEvent
>
;
(
element
:
HTMLElement
,
type
:
"
MSManipulationStateChanged
"
,
useCapture
?:
boolean
):
_Event
<
MSManipulationEvent
>
;
(
element
:
HTMLElement
,
type
:
"
MSPointerCancel
"
,
useCapture
?:
boolean
):
_Event
<
MSPointerEvent
>
;
(
element
:
HTMLElement
,
type
:
"
MSPointerDown
"
,
useCapture
?:
boolean
):
_Event
<
MSPointerEvent
>
;
(
element
:
HTMLElement
,
type
:
"
MSPointerEnter
"
,
useCapture
?:
boolean
):
_Event
<
MSPointerEvent
>
;
(
element
:
HTMLElement
,
type
:
"
MSPointerLeave
"
,
useCapture
?:
boolean
):
_Event
<
MSPointerEvent
>
;
(
element
:
HTMLElement
,
type
:
"
MSPointerMove
"
,
useCapture
?:
boolean
):
_Event
<
MSPointerEvent
>
;
(
element
:
HTMLElement
,
type
:
"
MSPointerOut
"
,
useCapture
?:
boolean
):
_Event
<
MSPointerEvent
>
;
(
element
:
HTMLElement
,
type
:
"
MSPointerOver
"
,
useCapture
?:
boolean
):
_Event
<
MSPointerEvent
>
;
(
element
:
HTMLElement
,
type
:
"
MSPointerUp
"
,
useCapture
?:
boolean
):
_Event
<
MSPointerEvent
>
;
(
element
:
HTMLElement
,
type
:
"
abort
"
,
useCapture
?:
boolean
):
_Event
<
UIEvent
>
;
(
element
:
HTMLElement
,
type
:
"
activate
"
,
useCapture
?:
boolean
):
_Event
<
UIEvent
>
;
(
element
:
HTMLElement
,
type
:
"
ariarequest
"
,
useCapture
?:
boolean
):
_Event
<
AriaRequestEvent
>
;
(
element
:
HTMLElement
,
type
:
"
beforeactivate
"
,
useCapture
?:
boolean
):
_Event
<
UIEvent
>
;
(
element
:
HTMLElement
,
type
:
"
beforecopy
"
,
useCapture
?:
boolean
):
_Event
<
DragEvent
>
;
(
element
:
HTMLElement
,
type
:
"
beforecut
"
,
useCapture
?:
boolean
):
_Event
<
DragEvent
>
;
(
element
:
HTMLElement
,
type
:
"
beforedeactivate
"
,
useCapture
?:
boolean
):
_Event
<
UIEvent
>
;
(
element
:
HTMLElement
,
type
:
"
beforepaste
"
,
useCapture
?:
boolean
):
_Event
<
DragEvent
>
;
(
element
:
HTMLElement
,
type
:
"
blur
"
,
useCapture
?:
boolean
):
_Event
<
FocusEvent
>
;
(
element
:
HTMLElement
,
type
:
"
canplay
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
HTMLElement
,
type
:
"
canplaythrough
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
HTMLElement
,
type
:
"
change
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
HTMLElement
,
type
:
"
click
"
,
useCapture
?:
boolean
):
_Event
<
MouseEvent
>
;
(
element
:
HTMLElement
,
type
:
"
command
"
,
useCapture
?:
boolean
):
_Event
<
CommandEvent
>
;
(
element
:
HTMLElement
,
type
:
"
contextmenu
"
,
useCapture
?:
boolean
):
_Event
<
PointerEvent
>
;
(
element
:
HTMLElement
,
type
:
"
copy
"
,
useCapture
?:
boolean
):
_Event
<
DragEvent
>
;
(
element
:
HTMLElement
,
type
:
"
cuechange
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
HTMLElement
,
type
:
"
cut
"
,
useCapture
?:
boolean
):
_Event
<
DragEvent
>
;
(
element
:
HTMLElement
,
type
:
"
dblclick
"
,
useCapture
?:
boolean
):
_Event
<
MouseEvent
>
;
(
element
:
HTMLElement
,
type
:
"
deactivate
"
,
useCapture
?:
boolean
):
_Event
<
UIEvent
>
;
(
element
:
HTMLElement
,
type
:
"
drag
"
,
useCapture
?:
boolean
):
_Event
<
DragEvent
>
;
(
element
:
HTMLElement
,
type
:
"
dragend
"
,
useCapture
?:
boolean
):
_Event
<
DragEvent
>
;
(
element
:
HTMLElement
,
type
:
"
dragenter
"
,
useCapture
?:
boolean
):
_Event
<
DragEvent
>
;
(
element
:
HTMLElement
,
type
:
"
dragleave
"
,
useCapture
?:
boolean
):
_Event
<
DragEvent
>
;
(
element
:
HTMLElement
,
type
:
"
dragover
"
,
useCapture
?:
boolean
):
_Event
<
DragEvent
>
;
(
element
:
HTMLElement
,
type
:
"
dragstart
"
,
useCapture
?:
boolean
):
_Event
<
DragEvent
>
;
(
element
:
HTMLElement
,
type
:
"
drop
"
,
useCapture
?:
boolean
):
_Event
<
DragEvent
>
;
(
element
:
HTMLElement
,
type
:
"
durationchange
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
HTMLElement
,
type
:
"
emptied
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
HTMLElement
,
type
:
"
ended
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
HTMLElement
,
type
:
"
error
"
,
useCapture
?:
boolean
):
_Event
<
ErrorEvent
>
;
(
element
:
HTMLElement
,
type
:
"
focus
"
,
useCapture
?:
boolean
):
_Event
<
FocusEvent
>
;
(
element
:
HTMLElement
,
type
:
"
gotpointercapture
"
,
useCapture
?:
boolean
):
_Event
<
PointerEvent
>
;
(
element
:
HTMLElement
,
type
:
"
input
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
HTMLElement
,
type
:
"
keydown
"
,
useCapture
?:
boolean
):
_Event
<
KeyboardEvent
>
;
(
element
:
HTMLElement
,
type
:
"
keypress
"
,
useCapture
?:
boolean
):
_Event
<
KeyboardEvent
>
;
(
element
:
HTMLElement
,
type
:
"
keyup
"
,
useCapture
?:
boolean
):
_Event
<
KeyboardEvent
>
;
(
element
:
HTMLElement
,
type
:
"
load
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
HTMLElement
,
type
:
"
loadeddata
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
HTMLElement
,
type
:
"
loadedmetadata
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
HTMLElement
,
type
:
"
loadstart
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
HTMLElement
,
type
:
"
lostpointercapture
"
,
useCapture
?:
boolean
):
_Event
<
PointerEvent
>
;
(
element
:
HTMLElement
,
type
:
"
mousedown
"
,
useCapture
?:
boolean
):
_Event
<
MouseEvent
>
;
(
element
:
HTMLElement
,
type
:
"
mouseenter
"
,
useCapture
?:
boolean
):
_Event
<
MouseEvent
>
;
(
element
:
HTMLElement
,
type
:
"
mouseleave
"
,
useCapture
?:
boolean
):
_Event
<
MouseEvent
>
;
(
element
:
HTMLElement
,
type
:
"
mousemove
"
,
useCapture
?:
boolean
):
_Event
<
MouseEvent
>
;
(
element
:
HTMLElement
,
type
:
"
mouseout
"
,
useCapture
?:
boolean
):
_Event
<
MouseEvent
>
;
(
element
:
HTMLElement
,
type
:
"
mouseover
"
,
useCapture
?:
boolean
):
_Event
<
MouseEvent
>
;
(
element
:
HTMLElement
,
type
:
"
mouseup
"
,
useCapture
?:
boolean
):
_Event
<
MouseEvent
>
;
(
element
:
HTMLElement
,
type
:
"
mousewheel
"
,
useCapture
?:
boolean
):
_Event
<
MouseWheelEvent
>
;
(
element
:
HTMLElement
,
type
:
"
paste
"
,
useCapture
?:
boolean
):
_Event
<
DragEvent
>
;
(
element
:
HTMLElement
,
type
:
"
pause
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
HTMLElement
,
type
:
"
play
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
HTMLElement
,
type
:
"
playing
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
HTMLElement
,
type
:
"
pointercancel
"
,
useCapture
?:
boolean
):
_Event
<
PointerEvent
>
;
(
element
:
HTMLElement
,
type
:
"
pointerdown
"
,
useCapture
?:
boolean
):
_Event
<
PointerEvent
>
;
(
element
:
HTMLElement
,
type
:
"
pointerenter
"
,
useCapture
?:
boolean
):
_Event
<
PointerEvent
>
;
(
element
:
HTMLElement
,
type
:
"
pointerleave
"
,
useCapture
?:
boolean
):
_Event
<
PointerEvent
>
;
(
element
:
HTMLElement
,
type
:
"
pointermove
"
,
useCapture
?:
boolean
):
_Event
<
PointerEvent
>
;
(
element
:
HTMLElement
,
type
:
"
pointerout
"
,
useCapture
?:
boolean
):
_Event
<
PointerEvent
>
;
(
element
:
HTMLElement
,
type
:
"
pointerover
"
,
useCapture
?:
boolean
):
_Event
<
PointerEvent
>
;
(
element
:
HTMLElement
,
type
:
"
pointerup
"
,
useCapture
?:
boolean
):
_Event
<
PointerEvent
>
;
(
element
:
HTMLElement
,
type
:
"
progress
"
,
useCapture
?:
boolean
):
_Event
<
ProgressEvent
>
;
(
element
:
HTMLElement
,
type
:
"
ratechange
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
HTMLElement
,
type
:
"
reset
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
HTMLElement
,
type
:
"
scroll
"
,
useCapture
?:
boolean
):
_Event
<
UIEvent
>
;
(
element
:
HTMLElement
,
type
:
"
seeked
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
HTMLElement
,
type
:
"
seeking
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
HTMLElement
,
type
:
"
select
"
,
useCapture
?:
boolean
):
_Event
<
UIEvent
>
;
(
element
:
HTMLElement
,
type
:
"
selectstart
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
HTMLElement
,
type
:
"
stalled
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
HTMLElement
,
type
:
"
submit
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
HTMLElement
,
type
:
"
suspend
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
HTMLElement
,
type
:
"
timeupdate
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
HTMLElement
,
type
:
"
touchcancel
"
,
useCapture
?:
boolean
):
_Event
<
TouchEvent
>
;
(
element
:
HTMLElement
,
type
:
"
touchend
"
,
useCapture
?:
boolean
):
_Event
<
TouchEvent
>
;
(
element
:
HTMLElement
,
type
:
"
touchmove
"
,
useCapture
?:
boolean
):
_Event
<
TouchEvent
>
;
(
element
:
HTMLElement
,
type
:
"
touchstart
"
,
useCapture
?:
boolean
):
_Event
<
TouchEvent
>
;
(
element
:
HTMLElement
,
type
:
"
volumechange
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
HTMLElement
,
type
:
"
waiting
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
HTMLElement
,
type
:
"
webkitfullscreenchange
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
HTMLElement
,
type
:
"
webkitfullscreenerror
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
HTMLElement
,
type
:
"
wheel
"
,
useCapture
?:
boolean
):
_Event
<
WheelEvent
>
;
(
element
:
HTMLElement
,
type
:
string
,
useCapture
?:
boolean
):
_Event
<
any
>
;
(
element
:
EventHandler
,
type
:
"
MSContentZoom
"
,
useCapture
?:
boolean
):
_Event
<
UIEvent
>
;
(
element
:
EventHandler
,
type
:
"
MSGestureChange
"
,
useCapture
?:
boolean
):
_Event
<
MSGestureEvent
>
;
(
element
:
EventHandler
,
type
:
"
MSGestureDoubleTap
"
,
useCapture
?:
boolean
):
_Event
<
MSGestureEvent
>
;
(
element
:
EventHandler
,
type
:
"
MSGestureEnd
"
,
useCapture
?:
boolean
):
_Event
<
MSGestureEvent
>
;
(
element
:
EventHandler
,
type
:
"
MSGestureHold
"
,
useCapture
?:
boolean
):
_Event
<
MSGestureEvent
>
;
(
element
:
EventHandler
,
type
:
"
MSGestureStart
"
,
useCapture
?:
boolean
):
_Event
<
MSGestureEvent
>
;
(
element
:
EventHandler
,
type
:
"
MSGestureTap
"
,
useCapture
?:
boolean
):
_Event
<
MSGestureEvent
>
;
(
element
:
EventHandler
,
type
:
"
MSGotPointerCapture
"
,
useCapture
?:
boolean
):
_Event
<
MSPointerEvent
>
;
(
element
:
EventHandler
,
type
:
"
MSInertiaStart
"
,
useCapture
?:
boolean
):
_Event
<
MSGestureEvent
>
;
(
element
:
EventHandler
,
type
:
"
MSLostPointerCapture
"
,
useCapture
?:
boolean
):
_Event
<
MSPointerEvent
>
;
(
element
:
EventHandler
,
type
:
"
MSManipulationStateChanged
"
,
useCapture
?:
boolean
):
_Event
<
MSManipulationEvent
>
;
(
element
:
EventHandler
,
type
:
"
MSPointerCancel
"
,
useCapture
?:
boolean
):
_Event
<
MSPointerEvent
>
;
(
element
:
EventHandler
,
type
:
"
MSPointerDown
"
,
useCapture
?:
boolean
):
_Event
<
MSPointerEvent
>
;
(
element
:
EventHandler
,
type
:
"
MSPointerEnter
"
,
useCapture
?:
boolean
):
_Event
<
MSPointerEvent
>
;
(
element
:
EventHandler
,
type
:
"
MSPointerLeave
"
,
useCapture
?:
boolean
):
_Event
<
MSPointerEvent
>
;
(
element
:
EventHandler
,
type
:
"
MSPointerMove
"
,
useCapture
?:
boolean
):
_Event
<
MSPointerEvent
>
;
(
element
:
EventHandler
,
type
:
"
MSPointerOut
"
,
useCapture
?:
boolean
):
_Event
<
MSPointerEvent
>
;
(
element
:
EventHandler
,
type
:
"
MSPointerOver
"
,
useCapture
?:
boolean
):
_Event
<
MSPointerEvent
>
;
(
element
:
EventHandler
,
type
:
"
MSPointerUp
"
,
useCapture
?:
boolean
):
_Event
<
MSPointerEvent
>
;
(
element
:
EventHandler
,
type
:
"
abort
"
,
useCapture
?:
boolean
):
_Event
<
UIEvent
>
;
(
element
:
EventHandler
,
type
:
"
activate
"
,
useCapture
?:
boolean
):
_Event
<
UIEvent
>
;
(
element
:
EventHandler
,
type
:
"
ariarequest
"
,
useCapture
?:
boolean
):
_Event
<
AriaRequestEvent
>
;
(
element
:
EventHandler
,
type
:
"
beforeactivate
"
,
useCapture
?:
boolean
):
_Event
<
UIEvent
>
;
(
element
:
EventHandler
,
type
:
"
beforecopy
"
,
useCapture
?:
boolean
):
_Event
<
DragEvent
>
;
(
element
:
EventHandler
,
type
:
"
beforecut
"
,
useCapture
?:
boolean
):
_Event
<
DragEvent
>
;
(
element
:
EventHandler
,
type
:
"
beforedeactivate
"
,
useCapture
?:
boolean
):
_Event
<
UIEvent
>
;
(
element
:
EventHandler
,
type
:
"
beforepaste
"
,
useCapture
?:
boolean
):
_Event
<
DragEvent
>
;
(
element
:
EventHandler
,
type
:
"
blur
"
,
useCapture
?:
boolean
):
_Event
<
FocusEvent
>
;
(
element
:
EventHandler
,
type
:
"
canplay
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
EventHandler
,
type
:
"
canplaythrough
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
EventHandler
,
type
:
"
change
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
EventHandler
,
type
:
"
click
"
,
useCapture
?:
boolean
):
_Event
<
MouseEvent
>
;
(
element
:
EventHandler
,
type
:
"
command
"
,
useCapture
?:
boolean
):
_Event
<
CommandEvent
>
;
(
element
:
EventHandler
,
type
:
"
contextmenu
"
,
useCapture
?:
boolean
):
_Event
<
PointerEvent
>
;
(
element
:
EventHandler
,
type
:
"
copy
"
,
useCapture
?:
boolean
):
_Event
<
DragEvent
>
;
(
element
:
EventHandler
,
type
:
"
cuechange
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
EventHandler
,
type
:
"
cut
"
,
useCapture
?:
boolean
):
_Event
<
DragEvent
>
;
(
element
:
EventHandler
,
type
:
"
dblclick
"
,
useCapture
?:
boolean
):
_Event
<
MouseEvent
>
;
(
element
:
EventHandler
,
type
:
"
deactivate
"
,
useCapture
?:
boolean
):
_Event
<
UIEvent
>
;
(
element
:
EventHandler
,
type
:
"
drag
"
,
useCapture
?:
boolean
):
_Event
<
DragEvent
>
;
(
element
:
EventHandler
,
type
:
"
dragend
"
,
useCapture
?:
boolean
):
_Event
<
DragEvent
>
;
(
element
:
EventHandler
,
type
:
"
dragenter
"
,
useCapture
?:
boolean
):
_Event
<
DragEvent
>
;
(
element
:
EventHandler
,
type
:
"
dragleave
"
,
useCapture
?:
boolean
):
_Event
<
DragEvent
>
;
(
element
:
EventHandler
,
type
:
"
dragover
"
,
useCapture
?:
boolean
):
_Event
<
DragEvent
>
;
(
element
:
EventHandler
,
type
:
"
dragstart
"
,
useCapture
?:
boolean
):
_Event
<
DragEvent
>
;
(
element
:
EventHandler
,
type
:
"
drop
"
,
useCapture
?:
boolean
):
_Event
<
DragEvent
>
;
(
element
:
EventHandler
,
type
:
"
durationchange
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
EventHandler
,
type
:
"
emptied
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
EventHandler
,
type
:
"
ended
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
EventHandler
,
type
:
"
error
"
,
useCapture
?:
boolean
):
_Event
<
ErrorEvent
>
;
(
element
:
EventHandler
,
type
:
"
focus
"
,
useCapture
?:
boolean
):
_Event
<
FocusEvent
>
;
(
element
:
EventHandler
,
type
:
"
gotpointercapture
"
,
useCapture
?:
boolean
):
_Event
<
PointerEvent
>
;
(
element
:
EventHandler
,
type
:
"
input
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
EventHandler
,
type
:
"
keydown
"
,
useCapture
?:
boolean
):
_Event
<
KeyboardEvent
>
;
(
element
:
EventHandler
,
type
:
"
keypress
"
,
useCapture
?:
boolean
):
_Event
<
KeyboardEvent
>
;
(
element
:
EventHandler
,
type
:
"
keyup
"
,
useCapture
?:
boolean
):
_Event
<
KeyboardEvent
>
;
(
element
:
EventHandler
,
type
:
"
load
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
EventHandler
,
type
:
"
loadeddata
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
EventHandler
,
type
:
"
loadedmetadata
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
EventHandler
,
type
:
"
loadstart
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
EventHandler
,
type
:
"
lostpointercapture
"
,
useCapture
?:
boolean
):
_Event
<
PointerEvent
>
;
(
element
:
EventHandler
,
type
:
"
mousedown
"
,
useCapture
?:
boolean
):
_Event
<
MouseEvent
>
;
(
element
:
EventHandler
,
type
:
"
mouseenter
"
,
useCapture
?:
boolean
):
_Event
<
MouseEvent
>
;
(
element
:
EventHandler
,
type
:
"
mouseleave
"
,
useCapture
?:
boolean
):
_Event
<
MouseEvent
>
;
(
element
:
EventHandler
,
type
:
"
mousemove
"
,
useCapture
?:
boolean
):
_Event
<
MouseEvent
>
;
(
element
:
EventHandler
,
type
:
"
mouseout
"
,
useCapture
?:
boolean
):
_Event
<
MouseEvent
>
;
(
element
:
EventHandler
,
type
:
"
mouseover
"
,
useCapture
?:
boolean
):
_Event
<
MouseEvent
>
;
(
element
:
EventHandler
,
type
:
"
mouseup
"
,
useCapture
?:
boolean
):
_Event
<
MouseEvent
>
;
(
element
:
EventHandler
,
type
:
"
mousewheel
"
,
useCapture
?:
boolean
):
_Event
<
MouseWheelEvent
>
;
(
element
:
EventHandler
,
type
:
"
paste
"
,
useCapture
?:
boolean
):
_Event
<
DragEvent
>
;
(
element
:
EventHandler
,
type
:
"
pause
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
EventHandler
,
type
:
"
play
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
EventHandler
,
type
:
"
playing
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
EventHandler
,
type
:
"
pointercancel
"
,
useCapture
?:
boolean
):
_Event
<
PointerEvent
>
;
(
element
:
EventHandler
,
type
:
"
pointerdown
"
,
useCapture
?:
boolean
):
_Event
<
PointerEvent
>
;
(
element
:
EventHandler
,
type
:
"
pointerenter
"
,
useCapture
?:
boolean
):
_Event
<
PointerEvent
>
;
(
element
:
EventHandler
,
type
:
"
pointerleave
"
,
useCapture
?:
boolean
):
_Event
<
PointerEvent
>
;
(
element
:
EventHandler
,
type
:
"
pointermove
"
,
useCapture
?:
boolean
):
_Event
<
PointerEvent
>
;
(
element
:
EventHandler
,
type
:
"
pointerout
"
,
useCapture
?:
boolean
):
_Event
<
PointerEvent
>
;
(
element
:
EventHandler
,
type
:
"
pointerover
"
,
useCapture
?:
boolean
):
_Event
<
PointerEvent
>
;
(
element
:
EventHandler
,
type
:
"
pointerup
"
,
useCapture
?:
boolean
):
_Event
<
PointerEvent
>
;
(
element
:
EventHandler
,
type
:
"
progress
"
,
useCapture
?:
boolean
):
_Event
<
ProgressEvent
>
;
(
element
:
EventHandler
,
type
:
"
ratechange
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
EventHandler
,
type
:
"
reset
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
EventHandler
,
type
:
"
scroll
"
,
useCapture
?:
boolean
):
_Event
<
UIEvent
>
;
(
element
:
EventHandler
,
type
:
"
seeked
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
EventHandler
,
type
:
"
seeking
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
EventHandler
,
type
:
"
select
"
,
useCapture
?:
boolean
):
_Event
<
UIEvent
>
;
(
element
:
EventHandler
,
type
:
"
selectstart
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
EventHandler
,
type
:
"
stalled
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
EventHandler
,
type
:
"
submit
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
EventHandler
,
type
:
"
suspend
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
EventHandler
,
type
:
"
timeupdate
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
EventHandler
,
type
:
"
touchcancel
"
,
useCapture
?:
boolean
):
_Event
<
TouchEvent
>
;
(
element
:
EventHandler
,
type
:
"
touchend
"
,
useCapture
?:
boolean
):
_Event
<
TouchEvent
>
;
(
element
:
EventHandler
,
type
:
"
touchmove
"
,
useCapture
?:
boolean
):
_Event
<
TouchEvent
>
;
(
element
:
EventHandler
,
type
:
"
touchstart
"
,
useCapture
?:
boolean
):
_Event
<
TouchEvent
>
;
(
element
:
EventHandler
,
type
:
"
volumechange
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
EventHandler
,
type
:
"
waiting
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
EventHandler
,
type
:
"
webkitfullscreenchange
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
EventHandler
,
type
:
"
webkitfullscreenerror
"
,
useCapture
?:
boolean
):
_Event
<
Event
>
;
(
element
:
EventHandler
,
type
:
"
wheel
"
,
useCapture
?:
boolean
):
_Event
<
WheelEvent
>
;
(
element
:
EventHandler
,
type
:
string
,
useCapture
?:
boolean
):
_Event
<
any
>
;
}
export
const
domEvent
:
IDomEvent
=
(
element
:
HTMLElement
,
type
:
string
,
useCapture
?)
=>
{
export
const
domEvent
:
IDomEvent
=
(
element
:
EventHandler
,
type
:
string
,
useCapture
?)
=>
{
const
fn
=
e
=>
emitter
.
fire
(
e
);
const
emitter
=
new
Emitter
<
any
>
({
onFirstListenerAdd
:
()
=>
{
...
...
src/vs/workbench/parts/git/browser/gitServices.ts
浏览文件 @
faeb58eb
...
...
@@ -36,6 +36,7 @@ import * as semver from 'semver';
import
{
shell
}
from
'
electron
'
;
import
{
IStorageService
,
StorageScope
}
from
'
vs/platform/storage/common/storage
'
;
import
Event
from
'
vs/base/common/event
'
;
import
{
domEvent
}
from
'
vs/base/browser/event
'
;
import
{
IEditorGroupService
}
from
'
vs/workbench/services/group/common/groupService
'
;
function
toReadablePath
(
path
:
string
):
string
{
...
...
@@ -402,6 +403,8 @@ export class GitService extends ee.EventEmitter
private
statusDelayer
:
async
.
ThrottledDelayer
<
void
>
;
private
reactiveStatusDelayer
:
async
.
PeriodThrottledDelayer
<
void
>
;
private
autoFetcher
:
AutoFetcher
;
private
isStatusPending
=
false
;
private
isFocused
=
false
;
private
_allowHugeRepositories
:
boolean
;
get
allowHugeRepositories
():
boolean
{
return
this
.
_allowHugeRepositories
;
}
...
...
@@ -453,7 +456,7 @@ export class GitService extends ee.EventEmitter
this
.
inputCache
=
this
.
instantiationService
.
createInstance
(
EditorInputCache
,
this
);
this
.
trigger
Status
(
);
// trigger initial status
this
.
trigger
AutoStatus
(
true
);
// trigger initial status
if
(
!
storageService
.
getBoolean
(
IgnoreOldGitStorageKey
,
StorageScope
.
GLOBAL
,
false
))
{
this
.
raw
.
serviceState
().
done
(
state
=>
{
...
...
@@ -500,10 +503,22 @@ export class GitService extends ee.EventEmitter
this
.
_allowHugeRepositories
=
config
.
allowLargeRepositories
;
if
(
this
.
_allowHugeRepositories
)
{
this
.
triggerStatus
();
this
.
trigger
Auto
Status
();
}
}));
this
.
lifecycleService
.
onShutdown
(
this
.
dispose
,
this
);
const
focusEvent
=
domEvent
(
window
,
'
focus
'
);
this
.
toDispose
.
push
(
focusEvent
(()
=>
{
this
.
isFocused
=
true
;
if
(
this
.
isStatusPending
)
{
this
.
triggerAutoStatus
();
}
}));
const
blurEvent
=
domEvent
(
window
,
'
blur
'
);
this
.
toDispose
.
push
(
blurEvent
(()
=>
this
.
isFocused
=
false
));
}
private
onTextFileChange
(
e
:
filesCommon
.
TextFileChangeEvent
):
void
{
...
...
@@ -513,7 +528,7 @@ export class GitService extends ee.EventEmitter
return
;
}
this
.
triggerStatus
();
this
.
trigger
Auto
Status
();
}
private
onFileChanges
(
e
:
FileChangesEvent
):
void
{
...
...
@@ -547,12 +562,12 @@ export class GitService extends ee.EventEmitter
return
;
}
this
.
triggerStatus
();
this
.
trigger
Auto
Status
();
}
private
onGitServiceOperationEnd
(
e
:
{
operation
:
git
.
IGitOperation
;
}):
void
{
if
(
e
.
operation
.
id
===
git
.
ServiceOperations
.
COMMAND
)
{
this
.
triggerStatus
();
this
.
trigger
Auto
Status
();
}
}
...
...
@@ -589,7 +604,15 @@ export class GitService extends ee.EventEmitter
});
}
private
triggerStatus
():
void
{
private
triggerAutoStatus
(
force
=
false
):
void
{
this
.
isStatusPending
=
true
;
if
(
!
this
.
isFocused
&&
!
force
)
{
return
;
}
this
.
isStatusPending
=
false
;
this
.
reactiveStatusDelayer
.
trigger
(()
=>
this
.
status
()).
done
(
null
,
e
=>
{
if
(
errors
.
isPromiseCanceledError
(
e
))
{
return
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录