Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
76575d37
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,发现更多精彩内容 >>
提交
76575d37
编写于
8月 30, 2017
作者:
J
Joao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fixes #33383
上级
84d92cd7
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
27 addition
and
4 deletion
+27
-4
src/vs/workbench/parts/scm/electron-browser/scmViewlet.ts
src/vs/workbench/parts/scm/electron-browser/scmViewlet.ts
+27
-4
未找到文件。
src/vs/workbench/parts/scm/electron-browser/scmViewlet.ts
浏览文件 @
76575d37
...
...
@@ -235,13 +235,29 @@ function resourceSorter(a: ISCMResource, b: ISCMResource): number {
class
SourceControlViewDescriptor
implements
IViewDescriptor
{
// This ID magic needs to happen in order to preserve
// good splitview state when reloading the workbench
static
idCount
=
0
;
static
freeIds
:
string
[]
=
[];
readonly
id
:
string
;
get
repository
():
ISCMRepository
{
return
this
.
_repository
;
}
get
id
():
string
{
return
this
.
_repository
.
provider
.
id
;
}
get
name
():
string
{
return
this
.
_repository
.
provider
.
label
;
}
get
ctor
():
any
{
return
null
;
}
get
location
():
ViewLocation
{
return
ViewLocation
.
SCM
;
}
constructor
(
private
_repository
:
ISCMRepository
)
{
}
constructor
(
private
_repository
:
ISCMRepository
)
{
if
(
SourceControlViewDescriptor
.
freeIds
.
length
>
0
)
{
this
.
id
=
SourceControlViewDescriptor
.
freeIds
.
shift
();
}
else
{
this
.
id
=
`scm
${
SourceControlViewDescriptor
.
idCount
++
}
`
;
}
}
dispose
():
void
{
SourceControlViewDescriptor
.
freeIds
.
push
(
this
.
id
);
}
}
class
SourceControlView
extends
CollapsibleView
{
...
...
@@ -482,6 +498,7 @@ class InstallAdditionalSCMProvidersAction extends Action {
export
class
SCMViewlet
extends
PersistentViewsViewlet
{
private
menus
:
SCMMenus
;
private
repositoryToViewDescriptor
=
new
Map
<
string
,
SourceControlViewDescriptor
>
();
private
disposables
:
IDisposable
[]
=
[];
constructor
(
...
...
@@ -510,13 +527,19 @@ export class SCMViewlet extends PersistentViewsViewlet {
}
private
onDidAddRepository
(
repository
:
ISCMRepository
):
void
{
const
view
=
new
SourceControlViewDescriptor
(
repository
);
ViewsRegistry
.
registerViews
([
view
]);
const
viewDescriptor
=
new
SourceControlViewDescriptor
(
repository
);
this
.
repositoryToViewDescriptor
.
set
(
repository
.
provider
.
id
,
viewDescriptor
);
ViewsRegistry
.
registerViews
([
viewDescriptor
]);
toggleClass
(
this
.
getContainer
().
getHTMLElement
(),
'
empty
'
,
this
.
views
.
length
===
0
);
this
.
updateTitleArea
();
}
private
onDidRemoveRepository
(
repository
:
ISCMRepository
):
void
{
const
viewDescriptor
=
this
.
repositoryToViewDescriptor
.
get
(
repository
.
provider
.
id
);
this
.
repositoryToViewDescriptor
.
delete
(
repository
.
provider
.
id
);
viewDescriptor
.
dispose
();
ViewsRegistry
.
deregisterViews
([
repository
.
provider
.
id
],
ViewLocation
.
SCM
);
toggleClass
(
this
.
getContainer
().
getHTMLElement
(),
'
empty
'
,
this
.
views
.
length
===
0
);
this
.
updateTitleArea
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录