Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
11ca1c7b
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,发现更多精彩内容 >>
提交
11ca1c7b
编写于
10月 04, 2016
作者:
J
Johannes Rieken
提交者:
GitHub
10月 04, 2016
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #13199 from Microsoft/ben/tab-menu
allow to contribute to the tab context menu
上级
e925936c
2d5c4287
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
26 addition
and
2 deletion
+26
-2
src/vs/platform/actions/browser/menusExtensionPoint.ts
src/vs/platform/actions/browser/menusExtensionPoint.ts
+6
-0
src/vs/platform/actions/common/actions.ts
src/vs/platform/actions/common/actions.ts
+2
-1
src/vs/workbench/browser/parts/editor/titleControl.ts
src/vs/workbench/browser/parts/editor/titleControl.ts
+18
-1
未找到文件。
src/vs/platform/actions/browser/menusExtensionPoint.ts
浏览文件 @
11ca1c7b
...
...
@@ -30,6 +30,7 @@ namespace schema {
case
'
editor/title
'
:
return
MenuId
.
EditorTitle
;
case
'
editor/context
'
:
return
MenuId
.
EditorContext
;
case
'
explorer/context
'
:
return
MenuId
.
ExplorerContext
;
case
'
editortab/context
'
:
return
MenuId
.
EditorTabContext
;
}
}
...
...
@@ -97,6 +98,11 @@ namespace schema {
type
:
'
array
'
,
items
:
menuItem
},
'
editortab/context
'
:
{
description
:
localize
(
'
menus.editorTabContext
'
,
"
The editor tabs context menu
"
),
type
:
'
array
'
,
items
:
menuItem
},
'
explorer/context
'
:
{
description
:
localize
(
'
menus.explorerContext
'
,
"
The file explorer context menu
"
),
type
:
'
array
'
,
...
...
src/vs/platform/actions/common/actions.ts
浏览文件 @
11ca1c7b
...
...
@@ -39,7 +39,8 @@ export interface IMenuItem {
export
enum
MenuId
{
EditorTitle
=
1
,
EditorContext
=
2
,
ExplorerContext
=
3
ExplorerContext
=
3
,
EditorTabContext
=
4
}
export
const
IMenuService
=
createDecorator
<
IMenuService
>
(
'
menuService
'
);
...
...
src/vs/workbench/browser/parts/editor/titleControl.ts
浏览文件 @
11ca1c7b
...
...
@@ -35,7 +35,7 @@ import {IContextKeyService} from 'vs/platform/contextkey/common/contextkey';
import
{
CloseEditorsInGroupAction
,
SplitEditorAction
,
CloseEditorAction
,
KeepEditorAction
,
CloseOtherEditorsInGroupAction
,
CloseRightEditorsInGroupAction
,
ShowEditorsInGroupAction
}
from
'
vs/workbench/browser/parts/editor/editorActions
'
;
import
{
IDisposable
,
dispose
}
from
'
vs/base/common/lifecycle
'
;
import
{
createActionItem
,
fillInActions
}
from
'
vs/platform/actions/browser/menuItemActionItem
'
;
import
{
IMenuService
,
MenuId
}
from
'
vs/platform/actions/common/actions
'
;
import
{
IMenuService
,
MenuId
,
IMenu
}
from
'
vs/platform/actions/common/actions
'
;
import
{
ResourceContextKey
}
from
'
vs/platform/actions/common/resourceContextKey
'
;
export
interface
IToolbarActions
{
...
...
@@ -90,6 +90,8 @@ export abstract class TitleControl implements ITitleAreaControl {
private
resourceContext
:
ResourceContextKey
;
private
disposeOnEditorActions
:
IDisposable
[]
=
[];
private
contextMenu
:
IMenu
;
constructor
(
@
IContextMenuService
protected
contextMenuService
:
IContextMenuService
,
@
IInstantiationService
protected
instantiationService
:
IInstantiationService
,
...
...
@@ -114,6 +116,9 @@ export abstract class TitleControl implements ITitleAreaControl {
this
.
resourceContext
=
instantiationService
.
createInstance
(
ResourceContextKey
);
this
.
contextMenu
=
this
.
menuService
.
createMenu
(
MenuId
.
EditorTabContext
,
this
.
contextKeyService
);
this
.
toDispose
.
push
(
this
.
contextMenu
);
this
.
initActions
();
this
.
registerListeners
();
}
...
...
@@ -417,6 +422,12 @@ export abstract class TitleControl implements ITitleAreaControl {
}
protected
onContextMenu
(
identifier
:
IEditorIdentifier
,
e
:
Event
,
node
:
HTMLElement
):
void
{
// Update the resource context
const
currentContext
=
this
.
resourceContext
.
get
();
this
.
resourceContext
.
set
(
identifier
.
editor
&&
getResource
(
identifier
.
editor
));
// Find target anchor
let
anchor
:
HTMLElement
|
{
x
:
number
,
y
:
number
}
=
node
;
if
(
e
instanceof
MouseEvent
)
{
const
event
=
new
StandardMouseEvent
(
e
);
...
...
@@ -434,6 +445,9 @@ export abstract class TitleControl implements ITitleAreaControl {
}
return
null
;
},
onHide
:
(
cancel
)
=>
{
this
.
resourceContext
.
set
(
currentContext
);
// restore previous context
}
});
}
...
...
@@ -462,6 +476,9 @@ export abstract class TitleControl implements ITitleAreaControl {
actions
.
push
(
new
Separator
(),
this
.
pinEditorAction
);
}
// Fill in contributed actions
fillInActions
(
this
.
contextMenu
,
actions
);
return
actions
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录