Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
徽霖
Vscode
提交
9958eab8
V
Vscode
项目概览
徽霖
/
Vscode
通知
9
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,发现更多精彩内容 >>
提交
9958eab8
编写于
12月 07, 2015
作者:
I
isidor
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add an extensions action in the activity bar
上级
9a682665
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
67 addition
and
13 deletion
+67
-13
src/vs/workbench/parts/extensions/electron-browser/extensions.contribution.ts
...ts/extensions/electron-browser/extensions.contribution.ts
+36
-7
src/vs/workbench/parts/extensions/electron-browser/extensionsActions.ts
...ch/parts/extensions/electron-browser/extensionsActions.ts
+23
-0
src/vs/workbench/parts/extensions/electron-browser/extensionsQuickOpen.ts
.../parts/extensions/electron-browser/extensionsQuickOpen.ts
+1
-1
src/vs/workbench/parts/extensions/electron-browser/media/extensions-global-action.svg
...sions/electron-browser/media/extensions-global-action.svg
+1
-0
src/vs/workbench/parts/extensions/electron-browser/media/extensions.css
...ch/parts/extensions/electron-browser/media/extensions.css
+6
-5
未找到文件。
src/vs/workbench/parts/extensions/electron-browser/extensions.contribution.ts
浏览文件 @
9958eab8
...
...
@@ -3,14 +3,19 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import
actions
=
require
(
'
vs/base/common/actions
'
);
import
toolbar
=
require
(
'
vs/base/browser/ui/toolbar/toolbar
'
);
import
actionbar
=
require
(
'
vs/base/browser/ui/actionbar/actionbar
'
);
import
platform
=
require
(
'
vs/platform/platform
'
);
import
{
registerSingleton
}
from
'
vs/platform/instantiation/common/extensions
'
;
import
statusbar
=
require
(
'
vs/workbench/browser/parts/statusbar/statusbar
'
);
import
actionbarregistry
=
require
(
'
vs/workbench/browser/actionBarRegistry
'
);
import
{
ExtensionsStatusbarItem
}
from
'
vs/workbench/parts/extensions/electron-browser/extensionsWidgets
'
;
import
{
IGalleryService
}
from
'
vs/workbench/parts/extensions/common/extensions
'
;
import
{
GlobalExtensionsAction
}
from
'
./extensionsActions
'
;
import
{
GalleryService
}
from
'
vs/workbench/parts/extensions/node/vsoGalleryService
'
;
import
{
IWorkbenchContributionsRegistry
,
Extensions
as
WorkbenchExtensions
}
from
'
vs/workbench/common/contributions
'
;
import
{
ExtensionsWorkbenchExtension
}
from
'
vs/workbench/parts/extensions/electron-browser/extensionsWorkbenchExtension
'
;
import
{
IInstantiationService
}
from
'
vs/platform/instantiation/common/instantiation
'
;
// Register Gallery Service
registerSingleton
(
IGalleryService
,
GalleryService
);
...
...
@@ -20,9 +25,33 @@ registerSingleton(IGalleryService, GalleryService);
ExtensionsWorkbenchExtension
);
// Register Statusbar item
(
<
statusbar
.
IStatusbarRegistry
>
platform
.
Registry
.
as
(
statusbar
.
Extensions
.
Statusbar
)).
registerStatusbarItem
(
new
statusbar
.
StatusbarItemDescriptor
(
ExtensionsStatusbarItem
,
statusbar
.
StatusbarAlignment
.
LEFT
,
150
/* Very High Priority */
));
\ No newline at end of file
class
GlobalExtensionsActionContributor
extends
actionbarregistry
.
ActionBarContributor
{
constructor
(
@
IInstantiationService
private
instantiationService
:
IInstantiationService
)
{
super
();
}
public
hasActions
(
context
:
any
):
boolean
{
return
context
===
toolbar
.
CONTEXT
;
}
public
getActions
(
context
:
any
):
actions
.
IAction
[]
{
return
[
this
.
instantiationService
.
createInstance
(
GlobalExtensionsAction
,
GlobalExtensionsAction
.
ID
,
GlobalExtensionsAction
.
LABEL
)
];
}
// public getActionItem(context: any, action: actions.Action): actionbar.BaseActionItem {
// if (action.id === GlobalExtensionsAction.ID) {
// return this.instantiationService.createInstance(GlobalExtensionsActionItem, action);
// }
// return null;
// }
}
// Register Global Extensions Action
let
actionBarRegistry
=
<
actionbarregistry
.
IActionBarRegistry
>
platform
.
Registry
.
as
(
actionbarregistry
.
Extensions
.
Actionbar
);
actionBarRegistry
.
registerActionBarContributor
(
actionbarregistry
.
Scope
.
GLOBAL
,
GlobalExtensionsActionContributor
);
src/vs/workbench/parts/extensions/electron-browser/extensionsActions.ts
浏览文件 @
9958eab8
...
...
@@ -6,6 +6,7 @@
import
nls
=
require
(
'
vs/nls
'
);
import
{
Promise
}
from
'
vs/base/common/winjs.base
'
;
import
{
Action
}
from
'
vs/base/common/actions
'
;
import
{
ActivityActionItem
}
from
'
vs/workbench/browser/parts/activityBar/activityAction
'
;
import
{
IExtensionsService
}
from
'
vs/workbench/parts/extensions/common/extensions
'
;
import
{
IQuickOpenService
}
from
'
vs/workbench/services/quickopen/browser/quickOpenService
'
;
...
...
@@ -77,3 +78,25 @@ export class ListOutdatedExtensionsAction extends Action {
return
true
;
}
}
export
class
GlobalExtensionsAction
extends
Action
{
static
ID
=
'
workbench.extensions.action.globalExtensions
'
;
static
LABEL
=
nls
.
localize
(
'
extensions
'
,
"
Extensions
"
);
constructor
(
id
:
string
,
label
:
string
,
@
IExtensionsService
private
extensionsService
:
IExtensionsService
,
@
IQuickOpenService
private
quickOpenService
:
IQuickOpenService
)
{
super
(
id
,
label
,
'
extensions
'
,
true
);
}
public
run
():
Promise
{
return
this
.
quickOpenService
.
show
(
'
ext install
'
);
}
protected
isEnabled
():
boolean
{
return
true
;
}
}
src/vs/workbench/parts/extensions/electron-browser/extensionsQuickOpen.ts
浏览文件 @
9958eab8
...
...
@@ -3,7 +3,7 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import
'
vs/css!./extensions
'
;
import
'
vs/css!./
media/
extensions
'
;
import
nls
=
require
(
'
vs/nls
'
);
import
{
IDisposable
,
disposeAll
}
from
'
vs/base/common/lifecycle
'
;
...
...
src/vs/workbench/parts/extensions/electron-browser/media/extensions-global-action.svg
0 → 100644
浏览文件 @
9958eab8
<svg
xmlns=
"http://www.w3.org/2000/svg"
width=
"32"
height=
"32"
><path
d=
"M18.461 10.959h-2.538l2.538 2.539h-4.23c-2.337 0-4.23 1.893-4.23 4.23 0 2.336 1.894 4.23 4.23 4.23v-1.691c-1.402 0-2.539-1.139-2.539-2.539 0-1.402 1.137-2.539 2.539-2.539h4.23l-2.538 2.539h2.538l3.385-3.385-3.385-3.384zm-2.461-8.918c-7.72 0-14 6.271-14 13.979 0 7.709 6.28 13.98 14 13.98s14-6.271 14-13.979c0-7.709-6.28-13.98-14-13.98zm0 25.959c-6.617 0-12-5.374-12-11.979s5.383-11.98 12-11.98 12 5.374 12 11.979-5.383 11.98-12 11.98z"
fill=
"#fff"
/></svg>
\ No newline at end of file
src/vs/workbench/parts/extensions/electron-browser/extensions.css
→
src/vs/workbench/parts/extensions/electron-browser/
media/
extensions.css
浏览文件 @
9958eab8
...
...
@@ -3,6 +3,12 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
/* Activity Bar */
.monaco-workbench
>
.activitybar
.monaco-action-bar
.action-label.extensions
{
/*TODO@Isidor inline icon needed */
background-image
:
url('extensions-global-action.svg')
}
.quick-open-widget
.extension
{
padding
:
0
14px
0
0
;
height
:
48px
;
...
...
@@ -120,8 +126,3 @@
-o-transform
:
none
;
transform
:
none
;
}
/* Status bar */
.monaco-shell
.extensions-statusbar
{
cursor
:
pointer
;
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录