Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
746753fc
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,体验更适合开发者的 AI 搜索 >>
提交
746753fc
编写于
6月 17, 2016
作者:
J
Joao Moreno
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
render local extensions
上级
d3c8f765
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
81 addition
and
43 deletion
+81
-43
src/vs/workbench/parts/extensions/common/extensionsInput.ts
src/vs/workbench/parts/extensions/common/extensionsInput.ts
+11
-4
src/vs/workbench/parts/extensions/electron-browser/extensionEditor.ts
...ench/parts/extensions/electron-browser/extensionEditor.ts
+25
-14
src/vs/workbench/parts/extensions/electron-browser/extensionsList.ts
...bench/parts/extensions/electron-browser/extensionsList.ts
+39
-19
src/vs/workbench/parts/extensions/electron-browser/extensionsViewlet.ts
...ch/parts/extensions/electron-browser/extensionsViewlet.ts
+6
-6
未找到文件。
src/vs/workbench/parts/extensions/common/extensionsInput.ts
浏览文件 @
746753fc
...
@@ -7,14 +7,14 @@
...
@@ -7,14 +7,14 @@
import
{
TPromise
}
from
'
vs/base/common/winjs.base
'
;
import
{
TPromise
}
from
'
vs/base/common/winjs.base
'
;
import
{
EditorInput
}
from
'
vs/workbench/common/editor
'
;
import
{
EditorInput
}
from
'
vs/workbench/common/editor
'
;
import
{
IGalleryExtension
}
from
'
vs/platform/extensionManagement/common/extensionManagement
'
;
import
{
I
Extension
,
I
GalleryExtension
}
from
'
vs/platform/extensionManagement/common/extensionManagement
'
;
export
class
ExtensionsInput
extends
EditorInput
{
export
class
ExtensionsInput
extends
EditorInput
{
static
get
ID
()
{
return
'
workbench.extensions.input2
'
;
}
static
get
ID
()
{
return
'
workbench.extensions.input2
'
;
}
get
extension
():
IGalleryExtension
{
return
this
.
_extension
;
}
get
extension
():
I
Extension
|
I
GalleryExtension
{
return
this
.
_extension
;
}
constructor
(
private
_extension
:
IGalleryExtension
)
{
constructor
(
private
_extension
:
I
Extension
|
I
GalleryExtension
)
{
super
();
super
();
}
}
...
@@ -23,7 +23,14 @@ export class ExtensionsInput extends EditorInput {
...
@@ -23,7 +23,14 @@ export class ExtensionsInput extends EditorInput {
}
}
getName
():
string
{
getName
():
string
{
return
this
.
extension
.
displayName
;
const
local
=
this
.
extension
as
IExtension
;
const
gallery
=
this
.
extension
as
IGalleryExtension
;
if
(
local
.
path
)
{
return
local
.
manifest
.
displayName
||
local
.
manifest
.
name
;
}
else
{
return
gallery
.
displayName
||
gallery
.
name
;
}
}
}
matches
(
other
:
any
):
boolean
{
matches
(
other
:
any
):
boolean
{
...
...
src/vs/workbench/parts/extensions/electron-browser/extensionEditor.ts
浏览文件 @
746753fc
...
@@ -15,7 +15,7 @@ import { append, emmet as $, addClass, removeClass } from 'vs/base/browser/dom';
...
@@ -15,7 +15,7 @@ import { append, emmet as $, addClass, removeClass } from 'vs/base/browser/dom';
import
{
BaseEditor
}
from
'
vs/workbench/browser/parts/editor/baseEditor
'
;
import
{
BaseEditor
}
from
'
vs/workbench/browser/parts/editor/baseEditor
'
;
import
{
ITelemetryService
}
from
'
vs/platform/telemetry/common/telemetry
'
;
import
{
ITelemetryService
}
from
'
vs/platform/telemetry/common/telemetry
'
;
import
{
IInstantiationService
}
from
'
vs/platform/instantiation/common/instantiation
'
;
import
{
IInstantiationService
}
from
'
vs/platform/instantiation/common/instantiation
'
;
import
{
IExtensionGalleryService
}
from
'
vs/platform/extensionManagement/common/extensionManagement
'
;
import
{
IExtension
,
IGalleryExtension
,
IExtension
GalleryService
}
from
'
vs/platform/extensionManagement/common/extensionManagement
'
;
import
{
ExtensionsInput
}
from
'
../common/extensionsInput
'
;
import
{
ExtensionsInput
}
from
'
../common/extensionsInput
'
;
import
{
text
as
downloadText
,
IRequestOptions
}
from
'
vs/base/node/request
'
;
import
{
text
as
downloadText
,
IRequestOptions
}
from
'
vs/base/node/request
'
;
import
{
IConfigurationService
}
from
'
vs/platform/configuration/common/configuration
'
;
import
{
IConfigurationService
}
from
'
vs/platform/configuration/common/configuration
'
;
...
@@ -59,21 +59,32 @@ export class ExtensionEditor extends BaseEditor {
...
@@ -59,21 +59,32 @@ export class ExtensionEditor extends BaseEditor {
setInput
(
input
:
ExtensionsInput
,
options
:
EditorOptions
):
TPromise
<
void
>
{
setInput
(
input
:
ExtensionsInput
,
options
:
EditorOptions
):
TPromise
<
void
>
{
this
.
transientDisposables
=
dispose
(
this
.
transientDisposables
);
this
.
transientDisposables
=
dispose
(
this
.
transientDisposables
);
addClass
(
this
.
body
,
'
loading
'
);
this
.
body
.
innerHTML
=
''
;
this
.
body
.
innerHTML
=
''
;
const
[
version
]
=
input
.
extension
.
versions
;
let
promise
=
TPromise
.
as
<
void
>
(
null
);
const
headers
=
version
.
downloadHeaders
;
const
extension
=
input
.
extension
;
const
local
=
extension
as
IExtension
;
const
promise
=
super
.
setInput
(
input
,
options
)
const
gallery
=
extension
as
IGalleryExtension
;
.
then
(()
=>
this
.
request
(
version
.
readmeUrl
))
.
then
(
opts
=>
assign
(
opts
,
{
headers
}))
if
(
local
.
path
)
{
.
then
(
opts
=>
downloadText
(
opts
))
.
then
(
marked
.
parse
)
.
then
(
html
=>
{
}
else
{
removeClass
(
this
.
body
,
'
loading
'
);
const
[
version
]
=
gallery
.
versions
;
this
.
body
.
innerHTML
=
html
;
const
headers
=
version
.
downloadHeaders
;
});
addClass
(
this
.
body
,
'
loading
'
);
promise
=
super
.
setInput
(
input
,
options
)
.
then
(()
=>
this
.
request
(
version
.
readmeUrl
))
.
then
(
opts
=>
assign
(
opts
,
{
headers
}))
.
then
(
opts
=>
downloadText
(
opts
))
.
then
(
marked
.
parse
)
.
then
(
html
=>
{
removeClass
(
this
.
body
,
'
loading
'
);
this
.
body
.
innerHTML
=
html
;
});
}
this
.
transientDisposables
.
push
(
toDisposable
(()
=>
promise
.
cancel
()));
this
.
transientDisposables
.
push
(
toDisposable
(()
=>
promise
.
cancel
()));
...
...
src/vs/workbench/parts/extensions/electron-browser/extensionsList.ts
浏览文件 @
746753fc
...
@@ -9,10 +9,10 @@ import { append, emmet as $, addClass, removeClass } from 'vs/base/browser/dom';
...
@@ -9,10 +9,10 @@ import { append, emmet as $, addClass, removeClass } from 'vs/base/browser/dom';
import
{
IInstantiationService
}
from
'
vs/platform/instantiation/common/instantiation
'
;
import
{
IInstantiationService
}
from
'
vs/platform/instantiation/common/instantiation
'
;
import
{
IDelegate
}
from
'
vs/base/browser/ui/list/list
'
;
import
{
IDelegate
}
from
'
vs/base/browser/ui/list/list
'
;
import
{
IPagedRenderer
}
from
'
vs/base/browser/ui/list/listPaging
'
;
import
{
IPagedRenderer
}
from
'
vs/base/browser/ui/list/listPaging
'
;
import
{
IGalleryExtension
}
from
'
vs/platform/extensionManagement/common/extensionManagement
'
;
import
{
I
Extension
,
I
GalleryExtension
}
from
'
vs/platform/extensionManagement/common/extensionManagement
'
;
export
interface
ITemplateData
{
export
interface
ITemplateData
{
extension
:
IGalleryExtension
;
extension
:
I
Extension
|
I
GalleryExtension
;
element
:
HTMLElement
;
element
:
HTMLElement
;
icon
:
HTMLImageElement
;
icon
:
HTMLImageElement
;
name
:
HTMLElement
;
name
:
HTMLElement
;
...
@@ -21,12 +21,12 @@ export interface ITemplateData {
...
@@ -21,12 +21,12 @@ export interface ITemplateData {
description
:
HTMLElement
;
description
:
HTMLElement
;
}
}
export
class
Delegate
implements
IDelegate
<
IGalleryExtension
>
{
export
class
Delegate
implements
IDelegate
<
I
Extension
|
I
GalleryExtension
>
{
getHeight
()
{
return
62
;
}
getHeight
()
{
return
62
;
}
getTemplateId
()
{
return
'
extension
'
;
}
getTemplateId
()
{
return
'
extension
'
;
}
}
}
export
class
Renderer
implements
IPagedRenderer
<
IGalleryExtension
,
ITemplateData
>
{
export
class
Renderer
implements
IPagedRenderer
<
I
Extension
|
I
GalleryExtension
,
ITemplateData
>
{
private
_templates
:
ITemplateData
[];
private
_templates
:
ITemplateData
[];
get
templates
():
ITemplateData
[]
{
return
this
.
_templates
;
}
get
templates
():
ITemplateData
[]
{
return
this
.
_templates
;
}
...
@@ -64,22 +64,42 @@ export class Renderer implements IPagedRenderer<IGalleryExtension, ITemplateData
...
@@ -64,22 +64,42 @@ export class Renderer implements IPagedRenderer<IGalleryExtension, ITemplateData
data
.
description
.
textContent
=
''
;
data
.
description
.
textContent
=
''
;
}
}
renderElement
(
extension
:
IGalleryExtension
,
index
:
number
,
data
:
ITemplateData
):
void
{
renderElement
(
extension
:
IExtension
|
IGalleryExtension
,
index
:
number
,
data
:
ITemplateData
):
void
{
// const local = extension as IExtension;
const
local
=
extension
as
IExtension
;
const
galleryExtension
=
extension
as
IGalleryExtension
;
if
(
local
.
path
)
{
return
this
.
renderExtension
(
local
,
data
);
}
else
{
return
this
.
renderGalleryExtension
(
galleryExtension
,
data
);
}
}
private
renderExtension
(
extension
:
IExtension
,
data
:
ITemplateData
):
void
{
let
iconUrl
:
string
;
let
iconUrl
:
string
;
let
publisher
:
string
=
extension
.
publisher
;
let
publisher
=
extension
.
manifest
.
publisher
;
// if (extension.path) {
if
(
extension
.
manifest
.
icon
)
{
// if (local.icon) {
iconUrl
=
`file://
${
extension
.
path
}
/
${
extension
.
manifest
.
icon
}
`
;
// iconUrl = `file://${ local.path }/${ local.icon }`;
}
// }
// }
if
(
extension
.
metadata
)
{
publisher
=
extension
.
metadata
.
publisherDisplayName
||
publisher
;
// if (extension.metadata) {
}
const
version
=
extension
.
versions
[
0
];
publisher
=
extension
.
publisherDisplayName
||
extension
.
publisher
||
publisher
;
data
.
extension
=
extension
;
iconUrl
=
iconUrl
||
version
.
iconUrl
;
removeClass
(
data
.
element
,
'
loading
'
);
// }
data
.
icon
.
src
=
iconUrl
||
require
.
toUrl
(
'
./media/defaultIcon.png
'
);
data
.
name
.
textContent
=
extension
.
manifest
.
displayName
||
extension
.
manifest
.
name
;
data
.
version
.
textContent
=
`
${
extension
.
manifest
.
version
}
`
;
data
.
author
.
textContent
=
`
${
publisher
}
`
;
data
.
description
.
textContent
=
extension
.
manifest
.
description
;
}
private
renderGalleryExtension
(
extension
:
IGalleryExtension
,
data
:
ITemplateData
):
void
{
const
version
=
extension
.
versions
[
0
];
const
publisher
=
extension
.
publisherDisplayName
||
extension
.
publisher
;
const
iconUrl
=
version
.
iconUrl
;
data
.
extension
=
extension
;
data
.
extension
=
extension
;
removeClass
(
data
.
element
,
'
loading
'
);
removeClass
(
data
.
element
,
'
loading
'
);
...
...
src/vs/workbench/parts/extensions/electron-browser/extensionsViewlet.ts
浏览文件 @
746753fc
...
@@ -18,7 +18,7 @@ import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
...
@@ -18,7 +18,7 @@ import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
import
{
PagedList
}
from
'
vs/base/browser/ui/list/listPaging
'
;
import
{
PagedList
}
from
'
vs/base/browser/ui/list/listPaging
'
;
import
{
IInstantiationService
}
from
'
vs/platform/instantiation/common/instantiation
'
;
import
{
IInstantiationService
}
from
'
vs/platform/instantiation/common/instantiation
'
;
import
{
Delegate
,
Renderer
}
from
'
./extensionsList
'
;
import
{
Delegate
,
Renderer
}
from
'
./extensionsList
'
;
import
{
IExtensionManagementService
,
IExtensionGalleryService
,
IGalleryExtension
}
from
'
vs/platform/extensionManagement/common/extensionManagement
'
;
import
{
IExtensionManagementService
,
IExtensionGalleryService
,
I
Extension
,
I
GalleryExtension
}
from
'
vs/platform/extensionManagement/common/extensionManagement
'
;
import
{
ExtensionsInput
}
from
'
../common/extensionsInput
'
;
import
{
ExtensionsInput
}
from
'
../common/extensionsInput
'
;
import
{
IProgressService
}
from
'
vs/platform/progress/common/progress
'
;
import
{
IProgressService
}
from
'
vs/platform/progress/common/progress
'
;
import
{
IWorkbenchEditorService
}
from
'
vs/workbench/services/editor/common/editorService
'
;
import
{
IWorkbenchEditorService
}
from
'
vs/workbench/services/editor/common/editorService
'
;
...
@@ -41,7 +41,7 @@ export class ExtensionsViewlet extends Viewlet {
...
@@ -41,7 +41,7 @@ export class ExtensionsViewlet extends Viewlet {
private
root
:
HTMLElement
;
private
root
:
HTMLElement
;
private
searchBox
:
HTMLInputElement
;
private
searchBox
:
HTMLInputElement
;
private
extensionsBox
:
HTMLElement
;
private
extensionsBox
:
HTMLElement
;
private
list
:
PagedList
<
IGalleryExtension
>
;
private
list
:
PagedList
<
I
Extension
|
I
GalleryExtension
>
;
constructor
(
constructor
(
@
ITelemetryService
telemetryService
:
ITelemetryService
,
@
ITelemetryService
telemetryService
:
ITelemetryService
,
...
@@ -112,10 +112,10 @@ export class ExtensionsViewlet extends Viewlet {
...
@@ -112,10 +112,10 @@ export class ExtensionsViewlet extends Viewlet {
}
}
private
doSearch
(
text
:
string
=
''
):
TPromise
<
any
>
{
private
doSearch
(
text
:
string
=
''
):
TPromise
<
any
>
{
//
return this.extensionService.getInstalled()
return
this
.
extensionService
.
getInstalled
()
//
.then(result => singlePageModel(result))
.
then
(
result
=>
singlePageModel
(
result
))
return
this
.
galleryService
.
query
({
text
})
//
return this.galleryService.query({ text })
.
then
(
result
=>
new
PagedModel
(
result
))
//
.then(result => new PagedModel(result))
.
then
(
model
=>
this
.
list
.
model
=
model
);
.
then
(
model
=>
this
.
list
.
model
=
model
);
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录