Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
8f0bfb69
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,发现更多精彩内容 >>
提交
8f0bfb69
编写于
5月 10, 2016
作者:
B
Benjamin Pasero
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
extract ISideBySideEditorControl
上级
82e9d704
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
34 addition
and
16 deletion
+34
-16
src/vs/workbench/browser/parts/editor/editorPart.ts
src/vs/workbench/browser/parts/editor/editorPart.ts
+2
-2
src/vs/workbench/browser/parts/editor/sideBySideEditorControl.ts
...workbench/browser/parts/editor/sideBySideEditorControl.ts
+32
-14
未找到文件。
src/vs/workbench/browser/parts/editor/editorPart.ts
浏览文件 @
8f0bfb69
...
...
@@ -26,7 +26,7 @@ import {EventType as WorkbenchEventType, EditorEvent} from 'vs/workbench/common/
import
{
IEditorRegistry
,
Extensions
as
EditorExtensions
,
BaseEditor
,
EditorDescriptor
}
from
'
vs/workbench/browser/parts/editor/baseEditor
'
;
import
{
EditorInput
,
EditorOptions
,
TextEditorOptions
}
from
'
vs/workbench/common/editor
'
;
import
{
BaseTextEditor
}
from
'
vs/workbench/browser/parts/editor/textEditor
'
;
import
{
SideBySideEditorControl
,
Rochade
}
from
'
vs/workbench/browser/parts/editor/sideBySideEditorControl
'
;
import
{
SideBySideEditorControl
,
Rochade
,
ISideBySideEditorControl
}
from
'
vs/workbench/browser/parts/editor/sideBySideEditorControl
'
;
import
{
WorkbenchProgressService
}
from
'
vs/workbench/services/progress/browser/progressService
'
;
import
{
EditorArrangement
}
from
'
vs/workbench/services/editor/common/editorService
'
;
import
{
IEditorPart
}
from
'
vs/workbench/services/editor/browser/editorService
'
;
...
...
@@ -60,7 +60,7 @@ interface IEditorState {
*/
export
class
EditorPart
extends
Part
implements
IEditorPart
{
private
dimension
:
Dimension
;
private
sideBySideControl
:
SideBySideEditorControl
;
private
sideBySideControl
:
I
SideBySideEditorControl
;
private
memento
:
any
;
private
stacksModel
:
EditorStacksModel
;
...
...
src/vs/workbench/browser/parts/editor/sideBySideEditorControl.ts
浏览文件 @
8f0bfb69
...
...
@@ -49,10 +49,39 @@ interface IEditorActions {
secondary
:
IAction
[];
}
export
interface
ISideBySideEditorControl
{
onEditorFocusChange
:
Event
<
void
>
;
show
(
editor
:
BaseEditor
,
container
:
Builder
,
position
:
Position
,
preserveActive
:
boolean
,
widthRatios
?:
number
[]):
void
;
hide
(
editor
:
BaseEditor
,
container
:
Builder
,
position
:
Position
,
layoutAndRochade
:
boolean
):
Rochade
;
setActive
(
editor
:
BaseEditor
):
void
;
getActiveEditor
():
BaseEditor
;
getActivePosition
():
Position
;
move
(
from
:
Position
,
to
:
Position
):
void
;
isDragging
():
boolean
;
setLoading
(
position
:
Position
,
input
:
EditorInput
):
void
;
getProgressBar
(
position
:
Position
):
ProgressBar
;
layout
(
dimension
:
Dimension
):
void
;
layout
(
position
:
Position
):
void
;
updateEditorTitleArea
():
void
;
clearTitle
(
position
:
Position
):
void
;
arrangeEditors
(
arrangement
:
EditorArrangement
):
void
;
getWidthRatios
():
number
[];
dispose
():
void
;
}
/**
* Helper class to manage multiple side by side editors for the editor part.
*/
export
class
SideBySideEditorControl
implements
IVerticalSashLayoutProvider
{
export
class
SideBySideEditorControl
implements
I
SideBySideEditorControl
,
I
VerticalSashLayoutProvider
{
private
static
MIN_EDITOR_WIDTH
=
170
;
private
static
EDITOR_TITLE_HEIGHT
=
35
;
...
...
@@ -265,18 +294,7 @@ export class SideBySideEditorControl implements IVerticalSashLayoutProvider {
}
private
getVisibleEditorCount
():
number
{
let
c
=
0
;
this
.
visibleEditors
.
forEach
((
editor
)
=>
{
if
(
editor
)
{
c
++
;
}
});
return
c
;
}
private
indexOf
(
editor
:
BaseEditor
):
number
{
return
this
.
visibleEditors
.
indexOf
(
editor
);
return
this
.
visibleEditors
.
filter
(
v
=>
!!
v
).
length
;
}
private
trackFocus
(
editor
:
BaseEditor
,
position
:
Position
):
void
{
...
...
@@ -301,7 +319,7 @@ export class SideBySideEditorControl implements IVerticalSashLayoutProvider {
// Update active editor and position
if
(
this
.
lastActiveEditor
!==
editor
)
{
this
.
doSetActive
(
editor
,
this
.
indexOf
(
editor
));
this
.
doSetActive
(
editor
,
this
.
visibleEditors
.
indexOf
(
editor
));
// Automatically maximize this position if it has min editor width
if
(
this
.
containerWidth
[
this
.
lastActivePosition
]
===
SideBySideEditorControl
.
MIN_EDITOR_WIDTH
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录