Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
82f81348
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,发现更多精彩内容 >>
提交
82f81348
编写于
7月 21, 2016
作者:
J
Johannes Rieken
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
debt - remove remains of old 'shouldShowInContextMenu' logic
上级
3e2fbc0e
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
7 addition
and
70 deletion
+7
-70
src/vs/editor/contrib/contextmenu/browser/contextmenu.ts
src/vs/editor/contrib/contextmenu/browser/contextmenu.ts
+7
-70
未找到文件。
src/vs/editor/contrib/contextmenu/browser/contextmenu.ts
浏览文件 @
82f81348
...
...
@@ -21,26 +21,12 @@ import {ICommonCodeEditor, IEditorActionDescriptorData, IEditorContribution, Mou
import
{
CommonEditorRegistry
,
ContextKey
,
EditorActionDescriptor
}
from
'
vs/editor/common/editorCommonExtensions
'
;
import
{
ICodeEditor
,
IEditorMouseEvent
}
from
'
vs/editor/browser/editorBrowser
'
;
import
{
EditorBrowserRegistry
}
from
'
vs/editor/browser/editorBrowserExtensions
'
;
import
{
fillInActions
}
from
'
vs/platform/actions/browser/menuItemActionItem
'
;
interface
IPosition
{
x
:
number
;
y
:
number
;
}
interface
OldContextMenuAction
extends
IAction
{
getGroupId
():
string
;
shouldShowInContextMenu
():
boolean
;
isSupported
():
boolean
;
}
namespace
OldContextMenuAction
{
export
function
is
(
thing
:
any
):
thing
is
OldContextMenuAction
{
return
typeof
(
<
OldContextMenuAction
>
thing
).
getGroupId
===
'
function
'
&&
typeof
(
<
OldContextMenuAction
>
thing
).
shouldShowInContextMenu
===
'
function
'
;
}
}
class
ContextMenuController
implements
IEditorContribution
{
public
static
ID
=
'
editor.contrib.contextmenu
'
;
...
...
@@ -121,12 +107,6 @@ class ContextMenuController implements IEditorContribution {
return
;
// We need the context menu service to function
}
var
position
=
this
.
_editor
.
getPosition
();
var
editorModel
=
this
.
_editor
.
getModel
();
if
(
!
position
||
!
editorModel
)
{
return
;
}
// Find actions available for menu
var
menuActions
=
this
.
_getMenuActions
();
...
...
@@ -137,58 +117,15 @@ class ContextMenuController implements IEditorContribution {
}
private
_getMenuActions
():
IAction
[]
{
const
result
:
IAction
[]
=
[];
const
groups
=
this
.
_contextMenu
.
getActions
();
const
editorModel
=
this
.
_editor
.
getModel
();
if
(
!
editorModel
)
{
return
[];
}
const
actions
:
IAction
[]
=
[];
fillInActions
(
this
.
_contextMenu
,
actions
);
const
oldContextMenuActions
=
<
OldContextMenuAction
[]
>
this
.
_editor
.
getActions
().
filter
(
action
=>
{
if
(
OldContextMenuAction
.
is
(
action
))
{
return
action
.
shouldShowInContextMenu
()
&&
action
.
isSupported
();
}
});
if
(
oldContextMenuActions
.
length
>
0
)
{
actions
.
push
(
new
Separator
(),
...
ContextMenuController
.
_prepareActions
(
oldContextMenuActions
));
for
(
const
group
of
groups
)
{
const
[,
actions
]
=
group
;
result
.
push
(...
actions
);
result
.
push
(
new
Separator
());
}
return
actions
;
}
private
static
_prepareActions
(
actions
:
OldContextMenuAction
[]):
IAction
[]
{
const
data
=
actions
.
map
(
action
=>
{
const
groupId
=
action
.
getGroupId
();
const
idx
=
groupId
.
indexOf
(
'
/
'
);
const
group
=
idx
>
0
?
groupId
.
substr
(
0
,
idx
)
:
groupId
;
return
{
action
,
group
};
});
data
.
sort
((
a
,
b
)
=>
{
if
(
a
.
group
<
b
.
group
)
{
return
-
1
;
}
else
if
(
a
.
group
>
b
.
group
)
{
return
1
;
}
else
{
return
0
;
}
});
const
result
:
IAction
[]
=
[];
let
lastGroup
:
string
;
data
.
forEach
((
value
,
idx
)
=>
{
if
(
lastGroup
&&
lastGroup
!==
value
.
group
)
{
result
.
push
(
new
Separator
());
}
result
.
push
(
value
.
action
);
lastGroup
=
value
.
group
;
});
result
.
pop
();
// remove last separator
return
result
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录