Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
5946a4f8
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,发现更多精彩内容 >>
提交
5946a4f8
编写于
6月 13, 2018
作者:
B
Benjamin Pasero
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix #50933 and #50677
上级
dfeef6fb
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
66 addition
and
18 deletion
+66
-18
src/vs/workbench/browser/parts/editor/editorGroupView.ts
src/vs/workbench/browser/parts/editor/editorGroupView.ts
+11
-4
src/vs/workbench/browser/parts/editor/media/editorgroupview.css
.../workbench/browser/parts/editor/media/editorgroupview.css
+13
-0
src/vs/workbench/browser/parts/editor/media/tabstitlecontrol.css
...workbench/browser/parts/editor/media/tabstitlecontrol.css
+27
-2
src/vs/workbench/browser/parts/editor/tabsTitleControl.ts
src/vs/workbench/browser/parts/editor/tabsTitleControl.ts
+15
-12
未找到文件。
src/vs/workbench/browser/parts/editor/editorGroupView.ts
浏览文件 @
5946a4f8
...
@@ -1297,9 +1297,10 @@ export class EditorGroupView extends Themable implements IEditorGroupView {
...
@@ -1297,9 +1297,10 @@ export class EditorGroupView extends Themable implements IEditorGroupView {
//#region Themable
//#region Themable
protected
updateStyles
():
void
{
protected
updateStyles
():
void
{
const
isEmpty
=
this
.
isEmpty
();
// Container
// Container
if
(
this
.
isEmpty
()
)
{
if
(
isEmpty
)
{
this
.
element
.
style
.
backgroundColor
=
this
.
getColor
(
EDITOR_GROUP_EMPTY_BACKGROUND
);
this
.
element
.
style
.
backgroundColor
=
this
.
getColor
(
EDITOR_GROUP_EMPTY_BACKGROUND
);
}
else
{
}
else
{
this
.
element
.
style
.
backgroundColor
=
null
;
this
.
element
.
style
.
backgroundColor
=
null
;
...
@@ -1308,10 +1309,16 @@ export class EditorGroupView extends Themable implements IEditorGroupView {
...
@@ -1308,10 +1309,16 @@ export class EditorGroupView extends Themable implements IEditorGroupView {
// Title control
// Title control
const
{
showTabs
}
=
this
.
accessor
.
partOptions
;
const
{
showTabs
}
=
this
.
accessor
.
partOptions
;
const
borderColor
=
this
.
getColor
(
EDITOR_GROUP_HEADER_TABS_BORDER
)
||
this
.
getColor
(
contrastBorder
);
const
borderColor
=
this
.
getColor
(
EDITOR_GROUP_HEADER_TABS_BORDER
)
||
this
.
getColor
(
contrastBorder
);
if
(
!
isEmpty
&&
showTabs
&&
borderColor
)
{
addClass
(
this
.
titleContainer
,
'
title-border-bottom
'
);
this
.
titleContainer
.
style
.
setProperty
(
'
--title-border-bottom-color
'
,
borderColor
.
toString
());
}
else
{
removeClass
(
this
.
titleContainer
,
'
title-border-bottom
'
);
this
.
titleContainer
.
style
.
removeProperty
(
'
--title-border-bottom-color
'
);
}
this
.
titleContainer
.
style
.
backgroundColor
=
this
.
getColor
(
showTabs
?
EDITOR_GROUP_HEADER_TABS_BACKGROUND
:
EDITOR_GROUP_HEADER_NO_TABS_BACKGROUND
);
this
.
titleContainer
.
style
.
backgroundColor
=
this
.
getColor
(
showTabs
?
EDITOR_GROUP_HEADER_TABS_BACKGROUND
:
EDITOR_GROUP_HEADER_NO_TABS_BACKGROUND
);
this
.
titleContainer
.
style
.
borderBottomWidth
=
(
borderColor
&&
showTabs
)
?
'
1px
'
:
null
;
this
.
titleContainer
.
style
.
borderBottomStyle
=
(
borderColor
&&
showTabs
)
?
'
solid
'
:
null
;
this
.
titleContainer
.
style
.
borderBottomColor
=
showTabs
?
borderColor
:
null
;
// Editor container
// Editor container
this
.
editorContainer
.
style
.
backgroundColor
=
this
.
getColor
(
editorBackground
);
this
.
editorContainer
.
style
.
backgroundColor
=
this
.
getColor
(
editorBackground
);
...
...
src/vs/workbench/browser/parts/editor/media/editorgroupview.css
浏览文件 @
5946a4f8
...
@@ -42,12 +42,25 @@
...
@@ -42,12 +42,25 @@
/* Title */
/* Title */
.monaco-workbench
>
.part.editor
>
.content
.editor-group-container
>
.title
{
.monaco-workbench
>
.part.editor
>
.content
.editor-group-container
>
.title
{
position
:
relative
;
height
:
35px
;
height
:
35px
;
display
:
flex
;
display
:
flex
;
box-sizing
:
border-box
;
box-sizing
:
border-box
;
overflow
:
hidden
;
overflow
:
hidden
;
}
}
.monaco-workbench
>
.part.editor
>
.content
.editor-group-container
>
.title.title-border-bottom
::after
{
content
:
''
;
position
:
absolute
;
bottom
:
0
;
left
:
0
;
z-index
:
5
;
pointer-events
:
none
;
background-color
:
var
(
--title-border-bottom-color
);
width
:
100%
;
height
:
1px
;
}
.monaco-workbench
>
.part.editor
>
.content
.editor-group-container.empty
>
.title
{
.monaco-workbench
>
.part.editor
>
.content
.editor-group-container.empty
>
.title
{
display
:
none
;
display
:
none
;
}
}
...
...
src/vs/workbench/browser/parts/editor/media/tabstitlecontrol.css
浏览文件 @
5946a4f8
...
@@ -32,6 +32,7 @@
...
@@ -32,6 +32,7 @@
/* Tab */
/* Tab */
.monaco-workbench
>
.part.editor
>
.content
.editor-group-container
>
.title
.tabs-container
>
.tab
{
.monaco-workbench
>
.part.editor
>
.content
.editor-group-container
>
.title
.tabs-container
>
.tab
{
position
:
relative
;
display
:
flex
;
display
:
flex
;
white-space
:
nowrap
;
white-space
:
nowrap
;
cursor
:
pointer
;
cursor
:
pointer
;
...
@@ -40,6 +41,30 @@
...
@@ -40,6 +41,30 @@
padding-left
:
10px
;
padding-left
:
10px
;
}
}
.monaco-workbench
>
.part.editor
>
.content
.editor-group-container
>
.title
.tabs-container
>
.tab.active.tab-border-top
::before
{
content
:
''
;
position
:
absolute
;
top
:
0
;
left
:
0
;
z-index
:
5
;
pointer-events
:
none
;
background-color
:
var
(
--tab-border-top-color
);
width
:
100%
;
height
:
1px
;
}
.monaco-workbench
>
.part.editor
>
.content
.editor-group-container
>
.title
.tabs-container
>
.tab.active.tab-border-bottom
::after
{
content
:
''
;
position
:
absolute
;
bottom
:
0
;
left
:
0
;
z-index
:
5
;
pointer-events
:
none
;
background-color
:
var
(
--tab-border-bottom-color
);
width
:
100%
;
height
:
1px
;
}
.monaco-workbench
>
.part.editor
>
.content
.editor-group-container
>
.title
.tabs-container
>
.tab.sizing-shrink.has-icon-theme.close-button-right
,
.monaco-workbench
>
.part.editor
>
.content
.editor-group-container
>
.title
.tabs-container
>
.tab.sizing-shrink.has-icon-theme.close-button-right
,
.monaco-workbench
>
.part.editor
>
.content
.editor-group-container
>
.title
.tabs-container
>
.tab.sizing-shrink.has-icon-theme.close-button-off
{
.monaco-workbench
>
.part.editor
>
.content
.editor-group-container
>
.title
.tabs-container
>
.tab.sizing-shrink.has-icon-theme.close-button-off
{
padding-left
:
5px
;
/* reduce padding when we show icons and are in shrinking mode and tab close button is not left */
padding-left
:
5px
;
/* reduce padding when we show icons and are in shrinking mode and tab close button is not left */
...
@@ -59,7 +84,7 @@
...
@@ -59,7 +84,7 @@
.monaco-workbench
>
.part.editor
>
.content
.editor-group-container
>
.title
.tabs-container
>
.tab.sizing-shrink.close-button-left
::after
,
.monaco-workbench
>
.part.editor
>
.content
.editor-group-container
>
.title
.tabs-container
>
.tab.sizing-shrink.close-button-left
::after
,
.monaco-workbench
>
.part.editor
>
.content
.editor-group-container
>
.title
.tabs-container
>
.tab.sizing-shrink.close-button-off
::after
{
.monaco-workbench
>
.part.editor
>
.content
.editor-group-container
>
.title
.tabs-container
>
.tab.sizing-shrink.close-button-off
::after
{
content
:
""
;
content
:
''
;
display
:
flex
;
display
:
flex
;
flex
:
0
;
flex
:
0
;
width
:
5px
;
/* Reserve space to hide tab fade when close button is left or off (fixes https://github.com/Microsoft/vscode/issues/45728) */
width
:
5px
;
/* Reserve space to hide tab fade when close button is left or off (fixes https://github.com/Microsoft/vscode/issues/45728) */
...
@@ -96,7 +121,7 @@
...
@@ -96,7 +121,7 @@
}
}
.monaco-workbench
>
.part.editor
>
.content
.editor-group-container
>
.title
.tabs-container
>
.tab.sizing-shrink
>
.tab-label
::after
{
.monaco-workbench
>
.part.editor
>
.content
.editor-group-container
>
.title
.tabs-container
>
.tab.sizing-shrink
>
.tab-label
::after
{
content
:
""
;
content
:
''
;
position
:
absolute
;
position
:
absolute
;
right
:
0
;
right
:
0
;
height
:
100%
;
height
:
100%
;
...
...
src/vs/workbench/browser/parts/editor/tabsTitleControl.ts
浏览文件 @
5946a4f8
...
@@ -27,7 +27,7 @@ import { ScrollableElement } from 'vs/base/browser/ui/scrollbar/scrollableElemen
...
@@ -27,7 +27,7 @@ import { ScrollableElement } from 'vs/base/browser/ui/scrollbar/scrollableElemen
import
{
ScrollbarVisibility
}
from
'
vs/base/common/scrollable
'
;
import
{
ScrollbarVisibility
}
from
'
vs/base/common/scrollable
'
;
import
{
getOrSet
}
from
'
vs/base/common/map
'
;
import
{
getOrSet
}
from
'
vs/base/common/map
'
;
import
{
IThemeService
,
registerThemingParticipant
,
ITheme
,
ICssStyleCollector
}
from
'
vs/platform/theme/common/themeService
'
;
import
{
IThemeService
,
registerThemingParticipant
,
ITheme
,
ICssStyleCollector
}
from
'
vs/platform/theme/common/themeService
'
;
import
{
TAB_INACTIVE_BACKGROUND
,
TAB_ACTIVE_BACKGROUND
,
TAB_ACTIVE_FOREGROUND
,
TAB_INACTIVE_FOREGROUND
,
TAB_BORDER
,
EDITOR_DRAG_AND_DROP_BACKGROUND
,
TAB_UNFOCUSED_ACTIVE_FOREGROUND
,
TAB_UNFOCUSED_INACTIVE_FOREGROUND
,
TAB_UNFOCUSED_ACTIVE_BORDER
,
TAB_ACTIVE_BORDER
,
TAB_HOVER_BACKGROUND
,
TAB_HOVER_BORDER
,
TAB_UNFOCUSED_HOVER_BACKGROUND
,
TAB_UNFOCUSED_HOVER_BORDER
,
EDITOR_GROUP_HEADER_TABS_BACKGROUND
,
WORKBENCH_BACKGROUND
,
TAB_ACTIVE_BORDER_TOP
,
TAB_UNFOCUSED_ACTIVE_BORDER_TOP
,
EDITOR_GROUP_HEADER_TABS_BORDER
}
from
'
vs/workbench/common/theme
'
;
import
{
TAB_INACTIVE_BACKGROUND
,
TAB_ACTIVE_BACKGROUND
,
TAB_ACTIVE_FOREGROUND
,
TAB_INACTIVE_FOREGROUND
,
TAB_BORDER
,
EDITOR_DRAG_AND_DROP_BACKGROUND
,
TAB_UNFOCUSED_ACTIVE_FOREGROUND
,
TAB_UNFOCUSED_INACTIVE_FOREGROUND
,
TAB_UNFOCUSED_ACTIVE_BORDER
,
TAB_ACTIVE_BORDER
,
TAB_HOVER_BACKGROUND
,
TAB_HOVER_BORDER
,
TAB_UNFOCUSED_HOVER_BACKGROUND
,
TAB_UNFOCUSED_HOVER_BORDER
,
EDITOR_GROUP_HEADER_TABS_BACKGROUND
,
WORKBENCH_BACKGROUND
,
TAB_ACTIVE_BORDER_TOP
,
TAB_UNFOCUSED_ACTIVE_BORDER_TOP
}
from
'
vs/workbench/common/theme
'
;
import
{
activeContrastBorder
,
contrastBorder
,
editorBackground
}
from
'
vs/platform/theme/common/colorRegistry
'
;
import
{
activeContrastBorder
,
contrastBorder
,
editorBackground
}
from
'
vs/platform/theme/common/colorRegistry
'
;
import
{
ResourcesDropHandler
,
fillResourceDataTransfers
,
DraggedEditorIdentifier
,
DraggedEditorGroupIdentifier
,
DragAndDropObserver
}
from
'
vs/workbench/browser/dnd
'
;
import
{
ResourcesDropHandler
,
fillResourceDataTransfers
,
DraggedEditorIdentifier
,
DraggedEditorGroupIdentifier
,
DragAndDropObserver
}
from
'
vs/workbench/browser/dnd
'
;
import
{
Color
}
from
'
vs/base/common/color
'
;
import
{
Color
}
from
'
vs/base/common/color
'
;
...
@@ -830,19 +830,22 @@ export class TabsTitleControl extends TitleControl {
...
@@ -830,19 +830,22 @@ export class TabsTitleControl extends TitleControl {
tabContainer
.
setAttribute
(
'
aria-selected
'
,
'
true
'
);
tabContainer
.
setAttribute
(
'
aria-selected
'
,
'
true
'
);
tabContainer
.
style
.
backgroundColor
=
this
.
getColor
(
TAB_ACTIVE_BACKGROUND
);
tabContainer
.
style
.
backgroundColor
=
this
.
getColor
(
TAB_ACTIVE_BACKGROUND
);
const
activeTabBorderColor
=
this
.
getColor
(
isGroupActive
?
TAB_ACTIVE_BORDER
:
TAB_UNFOCUSED_ACTIVE_BORDER
);
const
activeTabBorderColorBottom
=
this
.
getColor
(
isGroupActive
?
TAB_ACTIVE_BORDER
:
TAB_UNFOCUSED_ACTIVE_BORDER
);
if
(
activeTabBorderColorBottom
)
{
addClass
(
tabContainer
,
'
tab-border-bottom
'
);
tabContainer
.
style
.
setProperty
(
'
--tab-border-bottom-color
'
,
activeTabBorderColorBottom
.
toString
());
}
else
{
removeClass
(
tabContainer
,
'
tab-border-bottom
'
);
tabContainer
.
style
.
removeProperty
(
'
--tab-border-bottom-color
'
);
}
const
activeTabBorderColorTop
=
this
.
getColor
(
isGroupActive
?
TAB_ACTIVE_BORDER_TOP
:
TAB_UNFOCUSED_ACTIVE_BORDER_TOP
);
const
activeTabBorderColorTop
=
this
.
getColor
(
isGroupActive
?
TAB_ACTIVE_BORDER_TOP
:
TAB_UNFOCUSED_ACTIVE_BORDER_TOP
);
if
(
activeTabBorderColor
)
{
if
(
activeTabBorderColorTop
)
{
// Use boxShadow for the active tab border because if we also have a editor group header
addClass
(
tabContainer
,
'
tab-border-top
'
);
// color, the two colors would collide and the tab border never shows up.
tabContainer
.
style
.
setProperty
(
'
--tab-border-top-color
'
,
activeTabBorderColorTop
.
toString
());
// see https://github.com/Microsoft/vscode/issues/33111
// In case of tabs container having a border, we need to inset -2px for the border to show up.
const
hasTabsContainerBorder
=
!!
this
.
getColor
(
EDITOR_GROUP_HEADER_TABS_BORDER
);
tabContainer
.
style
.
boxShadow
=
`
${
activeTabBorderColor
}
0
${
hasTabsContainerBorder
?
-
2
:
-
1
}
px inset`
;
}
else
if
(
activeTabBorderColorTop
)
{
tabContainer
.
style
.
boxShadow
=
`
${
activeTabBorderColorTop
}
0 2px inset`
;
}
else
{
}
else
{
tabContainer
.
style
.
boxShadow
=
null
;
removeClass
(
tabContainer
,
'
tab-border-top
'
);
tabContainer
.
style
.
removeProperty
(
'
--tab-border-top-color
'
);
}
}
// Label
// Label
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录