Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
85a4e911
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,发现更多精彩内容 >>
提交
85a4e911
编写于
4月 25, 2017
作者:
M
Martin Aeschlimann
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[themes] Generate Color Theme From Current Settings
上级
c3984ce5
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
41 addition
and
0 deletion
+41
-0
src/vs/workbench/parts/themes/electron-browser/themes.contribution.ts
...ench/parts/themes/electron-browser/themes.contribution.ts
+41
-0
未找到文件。
src/vs/workbench/parts/themes/electron-browser/themes.contribution.ts
浏览文件 @
85a4e911
...
...
@@ -22,6 +22,8 @@ import { IViewletService } from 'vs/workbench/services/viewlet/browser/viewlet';
import
{
Delayer
}
from
'
vs/base/common/async
'
;
import
{
ConfigurationTarget
}
from
'
vs/workbench/services/configuration/common/configurationEditing
'
;
import
{
IWorkspaceConfigurationService
}
from
'
vs/workbench/services/configuration/common/configuration
'
;
import
{
IColorRegistry
,
Extensions
as
ColorRegistryExtensions
}
from
"
vs/platform/theme/common/colorRegistry
"
;
import
{
IWorkbenchEditorService
}
from
"
vs/workbench/services/editor/common/editorService
"
;
export
class
SelectColorThemeAction
extends
Action
{
...
...
@@ -167,6 +169,39 @@ function findInMarketplacePick(viewletService: IViewletService, query: string, l
};
}
class
GenerateColorThemeAction
extends
Action
{
static
ID
=
'
workbench.action.generateColorTheme
'
;
static
LABEL
=
localize
(
'
generateColorTheme.label
'
,
"
Generate Color Theme From Current Settings
"
);
constructor
(
id
:
string
,
label
:
string
,
@
IWorkbenchThemeService
private
themeService
:
IWorkbenchThemeService
,
@
IWorkbenchEditorService
private
editorService
:
IWorkbenchEditorService
,
)
{
super
(
id
,
label
);
}
run
():
TPromise
<
any
>
{
let
theme
=
this
.
themeService
.
getColorTheme
();
let
colorRegistry
=
<
IColorRegistry
>
Registry
.
as
(
ColorRegistryExtensions
.
ColorContribution
);
let
resultingColors
=
{};
colorRegistry
.
getColors
().
map
(
c
=>
{
let
color
=
theme
.
getColor
(
c
.
id
,
false
);
if
(
color
)
{
resultingColors
[
c
.
id
]
=
color
.
toRGBAHex
(
true
);
}
});
let
contents
=
JSON
.
stringify
({
type
:
theme
.
type
,
colors
:
resultingColors
,
tokenColors
:
theme
.
tokenColors
},
null
,
'
\t
'
);
return
this
.
editorService
.
openEditor
({
contents
,
language
:
'
json
'
,
filePath
:
'
custom-color-theme.json
'
});
}
}
const
category
=
localize
(
'
preferences
'
,
"
Preferences
"
);
const
colorThemeDescriptor
=
new
SyncActionDescriptor
(
SelectColorThemeAction
,
SelectColorThemeAction
.
ID
,
SelectColorThemeAction
.
LABEL
,
{
primary
:
KeyChord
(
KeyMod
.
CtrlCmd
|
KeyCode
.
KEY_K
,
KeyMod
.
CtrlCmd
|
KeyCode
.
KEY_T
)
});
...
...
@@ -174,3 +209,9 @@ Registry.as<IWorkbenchActionRegistry>(Extensions.WorkbenchActions).registerWorkb
const
iconThemeDescriptor
=
new
SyncActionDescriptor
(
SelectIconThemeAction
,
SelectIconThemeAction
.
ID
,
SelectIconThemeAction
.
LABEL
);
Registry
.
as
<
IWorkbenchActionRegistry
>
(
Extensions
.
WorkbenchActions
).
registerWorkbenchAction
(
iconThemeDescriptor
,
'
Preferences: File Icon Theme
'
,
category
);
const
developerCategory
=
localize
(
'
developer
'
,
"
Developer
"
);
const
generateColorThemeDescriptor
=
new
SyncActionDescriptor
(
GenerateColorThemeAction
,
GenerateColorThemeAction
.
ID
,
GenerateColorThemeAction
.
LABEL
);
Registry
.
as
<
IWorkbenchActionRegistry
>
(
Extensions
.
WorkbenchActions
).
registerWorkbenchAction
(
generateColorThemeDescriptor
,
'
Developer: Generate Color Theme From Current Settings
'
,
developerCategory
);
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录