Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
8e28611a
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,发现更多精彩内容 >>
提交
8e28611a
编写于
8月 13, 2019
作者:
S
Sandeep Somavarapu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
#78168 strict init
上级
c08cfdf1
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
58 addition
and
47 deletion
+58
-47
src/vs/workbench/contrib/extensions/browser/extensionsViewer.ts
.../workbench/contrib/extensions/browser/extensionsViewer.ts
+6
-7
src/vs/workbench/contrib/extensions/browser/extensionsViews.ts
...s/workbench/contrib/extensions/browser/extensionsViews.ts
+44
-32
src/vs/workbench/contrib/extensions/browser/extensionsWidgets.ts
...workbench/contrib/extensions/browser/extensionsWidgets.ts
+5
-5
src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts
.../contrib/extensions/browser/extensionsWorkbenchService.ts
+3
-3
未找到文件。
src/vs/workbench/contrib/extensions/browser/extensionsViewer.ts
浏览文件 @
8e28611a
...
...
@@ -156,7 +156,7 @@ export class UnknownExtensionRenderer implements IListRenderer<ITreeNode<IExtens
class
OpenExtensionAction
extends
Action
{
private
_extensionData
:
IExtensionData
;
private
_extensionData
:
IExtensionData
|
undefined
;
constructor
(@
IExtensionsWorkbenchService
private
readonly
extensionsWorkdbenchService
:
IExtensionsWorkbenchService
)
{
super
(
'
extensions.action.openExtension
'
,
''
);
...
...
@@ -166,12 +166,11 @@ class OpenExtensionAction extends Action {
this
.
_extensionData
=
extension
;
}
public
get
extensionData
():
IExtensionData
{
return
this
.
_extensionData
;
}
run
(
sideByside
:
boolean
):
Promise
<
any
>
{
return
this
.
extensionsWorkdbenchService
.
open
(
this
.
extensionData
.
extension
,
sideByside
);
if
(
this
.
_extensionData
)
{
return
this
.
extensionsWorkdbenchService
.
open
(
this
.
_extensionData
.
extension
,
sideByside
);
}
return
Promise
.
resolve
();
}
}
...
...
@@ -263,4 +262,4 @@ export class ExtensionData implements IExtensionData {
}
return
null
;
}
}
\ No newline at end of file
}
src/vs/workbench/contrib/extensions/browser/extensionsViews.ts
浏览文件 @
8e28611a
...
...
@@ -74,14 +74,15 @@ class ExtensionListViewWarning extends Error { }
export
class
ExtensionsListView
extends
ViewletPanel
{
protected
readonly
server
:
IExtensionManagementServer
|
undefined
;
private
messageContainer
:
HTMLElement
;
private
messageSeverityIcon
:
HTMLElement
;
private
messageBox
:
HTMLElement
;
private
extensionsList
:
HTMLElement
;
private
badge
:
CountBadge
;
protected
badgeContainer
:
HTMLElement
;
private
list
:
WorkbenchPagedList
<
IExtension
>
|
null
;
private
queryRequest
:
{
query
:
string
,
request
:
CancelablePromise
<
IPagedModel
<
IExtension
>>
}
|
null
;
private
bodyTemplate
:
{
messageContainer
:
HTMLElement
;
messageSeverityIcon
:
HTMLElement
;
messageBox
:
HTMLElement
;
extensionsList
:
HTMLElement
;
}
|
undefined
;
private
badge
:
CountBadge
|
undefined
;
private
list
:
WorkbenchPagedList
<
IExtension
>
|
null
=
null
;
private
queryRequest
:
{
query
:
string
,
request
:
CancelablePromise
<
IPagedModel
<
IExtension
>>
}
|
null
=
null
;
constructor
(
options
:
ExtensionsListViewOptions
,
...
...
@@ -111,20 +112,19 @@ export class ExtensionsListView extends ViewletPanel {
addClass
(
container
,
'
extension-view-header
'
);
super
.
renderHeader
(
container
);
this
.
badgeContainer
=
append
(
container
,
$
(
'
.count-badge-wrapper
'
));
this
.
badge
=
new
CountBadge
(
this
.
badgeContainer
);
this
.
badge
=
new
CountBadge
(
append
(
container
,
$
(
'
.count-badge-wrapper
'
)));
this
.
_register
(
attachBadgeStyler
(
this
.
badge
,
this
.
themeService
));
}
renderBody
(
container
:
HTMLElement
):
void
{
this
.
extensionsList
=
append
(
container
,
$
(
'
.extensions-list
'
));
this
.
messageContainer
=
append
(
container
,
$
(
'
.message-container
'
));
this
.
messageSeverityIcon
=
append
(
this
.
messageContainer
,
$
(
''
));
this
.
messageBox
=
append
(
this
.
messageContainer
,
$
(
'
.message
'
));
const
extensionsList
=
append
(
container
,
$
(
'
.extensions-list
'
));
const
messageContainer
=
append
(
container
,
$
(
'
.message-container
'
));
const
messageSeverityIcon
=
append
(
messageContainer
,
$
(
''
));
const
messageBox
=
append
(
messageContainer
,
$
(
'
.message
'
));
const
delegate
=
new
Delegate
();
const
extensionsViewState
=
new
ExtensionsViewState
();
const
renderer
=
this
.
instantiationService
.
createInstance
(
Renderer
,
extensionsViewState
);
this
.
list
=
this
.
instantiationService
.
createInstance
(
WorkbenchPagedList
,
this
.
extensionsList
,
delegate
,
[
renderer
],
{
this
.
list
=
this
.
instantiationService
.
createInstance
(
WorkbenchPagedList
,
extensionsList
,
delegate
,
[
renderer
],
{
ariaLabel
:
localize
(
'
extensions
'
,
"
Extensions
"
),
multipleSelectionSupport
:
false
,
setRowLineHeight
:
false
,
...
...
@@ -144,10 +144,19 @@ export class ExtensionsListView extends ViewletPanel {
.
map
(
e
=>
e
.
elements
[
0
])
.
filter
(
e
=>
!!
e
)
.
on
(
this
.
pin
,
this
));
this
.
bodyTemplate
=
{
extensionsList
,
messageBox
,
messageContainer
,
messageSeverityIcon
};
}
protected
layoutBody
(
height
:
number
,
width
:
number
):
void
{
this
.
extensionsList
.
style
.
height
=
height
+
'
px
'
;
if
(
this
.
bodyTemplate
)
{
this
.
bodyTemplate
.
extensionsList
.
style
.
height
=
height
+
'
px
'
;
}
if
(
this
.
list
)
{
this
.
list
.
layout
(
height
,
width
);
}
...
...
@@ -479,7 +488,7 @@ export class ExtensionsListView extends ViewletPanel {
}
private
_searchExperiments
:
Promise
<
IExperiment
[]
>
;
private
_searchExperiments
:
Promise
<
IExperiment
[]
>
|
undefined
;
private
getSearchExperiments
():
Promise
<
IExperiment
[]
>
{
if
(
!
this
.
_searchExperiments
)
{
this
.
_searchExperiments
=
this
.
experimentService
.
getExperimentsByType
(
ExperimentActionType
.
ExtensionSearchResults
);
...
...
@@ -690,24 +699,27 @@ export class ExtensionsListView extends ViewletPanel {
this
.
list
.
scrollTop
=
0
;
const
count
=
this
.
count
();
toggleClass
(
this
.
extensionsList
,
'
hidden
'
,
count
===
0
);
toggleClass
(
this
.
messageContainer
,
'
hidden
'
,
count
>
0
);
this
.
badge
.
setCount
(
count
);
if
(
this
.
bodyTemplate
&&
this
.
badge
)
{
if
(
count
===
0
&&
this
.
isBodyVisible
())
{
if
(
error
)
{
if
(
error
instanceof
ExtensionListViewWarning
)
{
this
.
messageSeverityIcon
.
className
=
SeverityIcon
.
className
(
Severity
.
Warning
);
this
.
messageBox
.
textContent
=
getErrorMessage
(
error
);
toggleClass
(
this
.
bodyTemplate
.
extensionsList
,
'
hidden
'
,
count
===
0
);
toggleClass
(
this
.
bodyTemplate
.
messageContainer
,
'
hidden
'
,
count
>
0
);
this
.
badge
.
setCount
(
count
);
if
(
count
===
0
&&
this
.
isBodyVisible
())
{
if
(
error
)
{
if
(
error
instanceof
ExtensionListViewWarning
)
{
this
.
bodyTemplate
.
messageSeverityIcon
.
className
=
SeverityIcon
.
className
(
Severity
.
Warning
);
this
.
bodyTemplate
.
messageBox
.
textContent
=
getErrorMessage
(
error
);
}
else
{
this
.
bodyTemplate
.
messageSeverityIcon
.
className
=
SeverityIcon
.
className
(
Severity
.
Error
);
this
.
bodyTemplate
.
messageBox
.
textContent
=
localize
(
'
error
'
,
"
Error while loading extensions. {0}
"
,
getErrorMessage
(
error
));
}
}
else
{
this
.
messageSeverityIcon
.
className
=
SeverityIcon
.
className
(
Severity
.
Error
)
;
this
.
messageBox
.
textContent
=
localize
(
'
error
'
,
"
Error while loading extensions. {0}
"
,
getErrorMessage
(
error
)
);
this
.
bodyTemplate
.
messageSeverityIcon
.
className
=
''
;
this
.
bodyTemplate
.
messageBox
.
textContent
=
localize
(
'
no extensions found
'
,
"
No extensions found.
"
);
}
}
else
{
this
.
messageSeverityIcon
.
className
=
''
;
this
.
messageBox
.
textContent
=
localize
(
'
no extensions found
'
,
"
No extensions found.
"
);
alert
(
this
.
bodyTemplate
.
messageBox
.
textContent
);
}
alert
(
this
.
messageBox
.
textContent
);
}
}
}
...
...
@@ -949,7 +961,7 @@ export class RecommendedExtensionsView extends ExtensionsListView {
export
class
WorkspaceRecommendedExtensionsView
extends
ExtensionsListView
{
private
readonly
recommendedExtensionsQuery
=
'
@recommended:workspace
'
;
private
installAllAction
:
InstallWorkspaceRecommendedExtensionsAction
;
private
installAllAction
:
InstallWorkspaceRecommendedExtensionsAction
|
undefined
;
renderBody
(
container
:
HTMLElement
):
void
{
super
.
renderBody
(
container
);
...
...
src/vs/workbench/contrib/extensions/browser/extensionsWidgets.ts
浏览文件 @
8e28611a
...
...
@@ -18,9 +18,9 @@ import { Emitter, Event } from 'vs/base/common/event';
import
{
IInstantiationService
}
from
'
vs/platform/instantiation/common/instantiation
'
;
export
abstract
class
ExtensionWidget
extends
Disposable
implements
IExtensionContainer
{
private
_extension
:
IExtension
;
get
extension
():
IExtension
{
return
this
.
_extension
;
}
set
extension
(
extension
:
IExtension
)
{
this
.
_extension
=
extension
;
this
.
update
();
}
private
_extension
:
IExtension
|
null
=
null
;
get
extension
():
IExtension
|
null
{
return
this
.
_extension
;
}
set
extension
(
extension
:
IExtension
|
null
)
{
this
.
_extension
=
extension
;
this
.
update
();
}
update
():
void
{
this
.
render
();
}
abstract
render
():
void
;
}
...
...
@@ -183,7 +183,7 @@ export class RecommendationWidget extends ExtensionWidget {
private
element
?:
HTMLElement
;
private
readonly
disposables
=
this
.
_register
(
new
DisposableStore
());
private
_tooltip
:
string
;
private
_tooltip
:
string
=
''
;
get
tooltip
():
string
{
return
this
.
_tooltip
;
}
set
tooltip
(
tooltip
:
string
)
{
if
(
this
.
_tooltip
!==
tooltip
)
{
...
...
@@ -314,4 +314,4 @@ class RemoteBadge extends Disposable {
updateTitle
();
}
}
}
\ No newline at end of file
}
src/vs/workbench/contrib/extensions/browser/extensionsWorkbenchService.ts
浏览文件 @
8e28611a
...
...
@@ -484,7 +484,7 @@ export class ExtensionsWorkbenchService extends Disposable implements IExtension
private
readonly
_onChange
:
Emitter
<
IExtension
|
undefined
>
=
new
Emitter
<
IExtension
|
undefined
>
();
get
onChange
():
Event
<
IExtension
|
undefined
>
{
return
this
.
_onChange
.
event
;
}
private
_extensionAllowedBadgeProviders
:
string
[];
private
_extensionAllowedBadgeProviders
:
string
[]
|
undefined
;
private
installing
:
IExtension
[]
=
[];
constructor
(
...
...
@@ -1096,12 +1096,12 @@ export class ExtensionsWorkbenchService extends Disposable implements IExtension
}
private
_ignoredAutoUpdateExtensions
:
string
[];
private
_ignoredAutoUpdateExtensions
:
string
[]
|
undefined
;
private
get
ignoredAutoUpdateExtensions
():
string
[]
{
if
(
!
this
.
_ignoredAutoUpdateExtensions
)
{
this
.
_ignoredAutoUpdateExtensions
=
JSON
.
parse
(
this
.
storageService
.
get
(
'
extensions.ignoredAutoUpdateExtension
'
,
StorageScope
.
GLOBAL
,
'
[]
'
)
||
'
[]
'
);
}
return
this
.
_ignoredAutoUpdateExtensions
;
return
this
.
_ignoredAutoUpdateExtensions
!
;
}
private
set
ignoredAutoUpdateExtensions
(
extensionIds
:
string
[])
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录