Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
3ac84ba2
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,发现更多精彩内容 >>
提交
3ac84ba2
编写于
10月 13, 2016
作者:
J
Johannes Rieken
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add new event `onDidChangeVisibleTextEditors`, #643
上级
f0bf8e4e
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
33 addition
and
6 deletion
+33
-6
src/vs/vscode.d.ts
src/vs/vscode.d.ts
+6
-0
src/vs/workbench/api/node/extHost.api.impl.ts
src/vs/workbench/api/node/extHost.api.impl.ts
+3
-0
src/vs/workbench/api/node/extHostEditors.ts
src/vs/workbench/api/node/extHostEditors.ts
+24
-6
未找到文件。
src/vs/vscode.d.ts
浏览文件 @
3ac84ba2
...
...
@@ -3376,6 +3376,12 @@ declare namespace vscode {
*/
export
const
onDidChangeActiveTextEditor
:
Event
<
TextEditor
>
;
/**
* An [event](#Event) which fires when the array of [visible editors](#window.visibleTextEditors)
* has changed.
*/
export
const
onDidChangeVisibleTextEditors
:
Event
<
TextEditor
[]
>
;
/**
* An [event](#Event) which fires when the selection in an editor has changed.
*/
...
...
src/vs/workbench/api/node/extHost.api.impl.ts
浏览文件 @
3ac84ba2
...
...
@@ -232,6 +232,9 @@ export class ExtHostAPIImplementation {
return
extHostEditors
.
createTextEditorDecorationType
(
options
);
},
onDidChangeActiveTextEditor
:
extHostEditors
.
onDidChangeActiveTextEditor
.
bind
(
extHostEditors
),
onDidChangeVisibleTextEditors
(
listener
,
thisArg
,
disposables
)
{
return
extHostEditors
.
onDidChangeVisibleTextEditors
(
listener
,
thisArg
,
disposables
);
},
onDidChangeTextEditorSelection
:
(
listener
:
(
e
:
vscode
.
TextEditorSelectionChangeEvent
)
=>
any
,
thisArgs
?:
any
,
disposables
?:
extHostTypes
.
Disposable
[])
=>
{
return
extHostEditors
.
onDidChangeTextEditorSelection
(
listener
,
thisArgs
,
disposables
);
},
...
...
src/vs/workbench/api/node/extHostEditors.ts
浏览文件 @
3ac84ba2
...
...
@@ -6,6 +6,7 @@
import
URI
from
'
vs/base/common/uri
'
;
import
{
readonly
,
illegalArgument
}
from
'
vs/base/common/errors
'
;
import
{
equals
as
arrayEquals
}
from
'
vs/base/common/arrays
'
;
import
{
IdGenerator
}
from
'
vs/base/common/idGenerator
'
;
import
Event
,
{
Emitter
}
from
'
vs/base/common/event
'
;
import
{
TPromise
}
from
'
vs/base/common/winjs.base
'
;
...
...
@@ -32,6 +33,7 @@ export class ExtHostEditors extends ExtHostEditorsShape {
private
_editors
:
{
[
id
:
string
]:
ExtHostTextEditor
};
private
_proxy
:
MainThreadEditorsShape
;
private
_onDidChangeActiveTextEditor
:
Emitter
<
vscode
.
TextEditor
>
;
private
_onDidChangeVisibleTextEditors
:
Emitter
<
vscode
.
TextEditor
[]
>
;
private
_extHostDocuments
:
ExtHostDocuments
;
private
_activeEditorId
:
string
;
private
_visibleEditorIds
:
string
[];
...
...
@@ -53,6 +55,7 @@ export class ExtHostEditors extends ExtHostEditorsShape {
this
.
_extHostDocuments
=
extHostDocuments
;
this
.
_proxy
=
threadService
.
get
(
MainContext
.
MainThreadEditors
);
this
.
_onDidChangeActiveTextEditor
=
new
Emitter
<
vscode
.
TextEditor
>
();
this
.
_onDidChangeVisibleTextEditors
=
new
Emitter
<
vscode
.
TextEditor
[]
>
();
this
.
_editors
=
Object
.
create
(
null
);
this
.
_visibleEditorIds
=
[];
...
...
@@ -70,6 +73,10 @@ export class ExtHostEditors extends ExtHostEditorsShape {
return
this
.
_onDidChangeActiveTextEditor
&&
this
.
_onDidChangeActiveTextEditor
.
event
;
}
get
onDidChangeVisibleTextEditors
():
Event
<
vscode
.
TextEditor
[]
>
{
return
this
.
_onDidChangeVisibleTextEditors
&&
this
.
_onDidChangeVisibleTextEditors
.
event
;
}
showTextDocument
(
document
:
TextDocument
,
column
:
ViewColumn
,
preserveFocus
:
boolean
):
TPromise
<
vscode
.
TextEditor
>
{
return
this
.
_proxy
.
$tryShowTextDocument
(
<
URI
>
document
.
uri
,
TypeConverters
.
fromViewColumn
(
column
),
preserveFocus
).
then
(
id
=>
{
let
editor
=
this
.
_editors
[
id
];
...
...
@@ -115,14 +122,25 @@ export class ExtHostEditors extends ExtHostEditorsShape {
}
$acceptActiveEditorAndVisibleEditors
(
id
:
string
,
visibleIds
:
string
[]):
void
{
this
.
_visibleEditorIds
=
visibleIds
;
let
visibleChanged
=
false
;
let
activeChanged
=
false
;
if
(
this
.
_activeEditorId
===
id
)
{
// nothing to do
return
;
if
(
!
arrayEquals
(
this
.
_visibleEditorIds
,
visibleIds
))
{
this
.
_visibleEditorIds
=
visibleIds
;
visibleChanged
=
true
;
}
if
(
this
.
_activeEditorId
!==
id
)
{
this
.
_activeEditorId
=
id
;
activeChanged
=
true
;
}
if
(
visibleChanged
)
{
this
.
_onDidChangeVisibleTextEditors
.
fire
(
this
.
getVisibleTextEditors
());
}
if
(
activeChanged
)
{
this
.
_onDidChangeActiveTextEditor
.
fire
(
this
.
getActiveTextEditor
());
}
this
.
_activeEditorId
=
id
;
this
.
_onDidChangeActiveTextEditor
.
fire
(
this
.
getActiveTextEditor
());
}
$acceptEditorPositionData
(
data
:
ITextEditorPositionData
):
void
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录