Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
b5473f5a
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,发现更多精彩内容 >>
提交
b5473f5a
编写于
3月 06, 2020
作者:
R
rebornix
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
reveal cell into view.
上级
4de61f3d
变更
5
显示空白变更内容
内联
并排
Showing
5 changed file
with
63 addition
and
5 deletion
+63
-5
src/vs/workbench/contrib/notebook/browser/contrib/notebookFindWidget.ts
...ch/contrib/notebook/browser/contrib/notebookFindWidget.ts
+1
-1
src/vs/workbench/contrib/notebook/browser/notebook.css
src/vs/workbench/contrib/notebook/browser/notebook.css
+0
-0
src/vs/workbench/contrib/notebook/browser/notebookBrowser.ts
src/vs/workbench/contrib/notebook/browser/notebookBrowser.ts
+3
-0
src/vs/workbench/contrib/notebook/browser/notebookEditor.ts
src/vs/workbench/contrib/notebook/browser/notebookEditor.ts
+28
-4
src/vs/workbench/contrib/notebook/browser/view/notebookCellList.ts
...rkbench/contrib/notebook/browser/view/notebookCellList.ts
+31
-0
未找到文件。
src/vs/workbench/contrib/notebook/browser/contrib/notebookFindWidget.ts
浏览文件 @
b5473f5a
...
...
@@ -30,7 +30,7 @@ export class NotebookFindWidget extends SimpleFindWidget {
protected
onInputChanged
():
boolean
{
const
val
=
this
.
inputValue
;
if
(
val
)
{
this
.
_findMatches
=
this
.
_notebookEditor
.
startFind
(
val
);
this
.
_findMatches
=
this
.
_notebookEditor
.
startFind
(
val
)
.
filter
(
match
=>
match
.
matches
.
length
>
0
)
;
if
(
this
.
_findMatches
.
length
)
{
this
.
_currentMatch
=
this
.
_findMatches
[
0
];
this
.
set
(
this
.
_findMatches
);
...
...
src/vs/workbench/contrib/notebook/browser/
view/
notebook.css
→
src/vs/workbench/contrib/notebook/browser/notebook.css
浏览文件 @
b5473f5a
文件已移动
src/vs/workbench/contrib/notebook/browser/notebookBrowser.ts
浏览文件 @
b5473f5a
...
...
@@ -32,6 +32,9 @@ export interface INotebookEditor {
getFontInfo
():
BareFontInfo
|
undefined
;
getListDimension
():
DOM
.
Dimension
|
null
;
getOutputRenderer
():
OutputRenderer
;
revealInView
(
cell
:
CellViewModel
,
offset
?:
number
):
void
;
revealInCenter
(
cell
:
CellViewModel
,
offset
?:
number
):
void
;
revealInCenterIfOutsideViewport
(
cell
:
CellViewModel
,
offset
?:
number
):
void
;
changeDecorations
(
callback
:
(
changeAccessor
:
IModelDecorationsChangeAccessor
)
=>
any
):
any
;
}
...
...
src/vs/workbench/contrib/notebook/browser/notebookEditor.ts
浏览文件 @
b5473f5a
...
...
@@ -158,7 +158,7 @@ export class NotebookEditor extends BaseEditor implements INotebookEditor, Noteb
get
viewType
()
{
return
this
.
notebookViewModel
?.
viewType
;
}
//#region Editor
//#region Editor
Core
public
get
isNotebookEditor
()
{
...
...
@@ -407,7 +407,31 @@ export class NotebookEditor extends BaseEditor implements INotebookEditor, Noteb
//#endregion
//#region Decorations
//#region Editor Features
revealInView
(
cell
:
CellViewModel
,
offset
?:
number
)
{
const
index
=
this
.
notebookViewModel
?.
getViewCellIndex
(
cell
);
if
(
index
!==
undefined
)
{
this
.
list
?.
revealInView
(
index
,
offset
);
}
}
revealInCenterIfOutsideViewport
(
cell
:
CellViewModel
,
offset
?:
number
)
{
const
index
=
this
.
notebookViewModel
?.
getViewCellIndex
(
cell
);
if
(
index
!==
undefined
)
{
this
.
list
?.
revealInCenterIfOutsideViewport
(
index
,
offset
);
}
}
revealInCenter
(
cell
:
CellViewModel
,
offset
?:
number
)
{
const
index
=
this
.
notebookViewModel
?.
getViewCellIndex
(
cell
);
if
(
index
!==
undefined
)
{
this
.
list
?.
revealInCenter
(
index
,
offset
);
}
}
changeDecorations
(
callback
:
(
changeAccessor
:
IModelDecorationsChangeAccessor
)
=>
any
):
any
{
return
this
.
notebookViewModel
?.
changeDecorations
(
callback
);
...
...
@@ -435,7 +459,7 @@ export class NotebookEditor extends BaseEditor implements INotebookEditor, Noteb
let
cell
=
match
.
cell
;
let
index
=
this
.
notebookViewModel
!
.
viewCells
.
indexOf
(
cell
);
this
.
list
?.
reveal
(
index
);
this
.
list
?.
reveal
InView
(
index
);
}
public
showFind
()
{
...
...
@@ -489,7 +513,7 @@ export class NotebookEditor extends BaseEditor implements INotebookEditor, Noteb
}
DOM
.
scheduleAtNextAnimationFrame
(()
=>
{
this
.
list
?.
reveal
(
insertIndex
,
0.33
);
this
.
list
?.
reveal
InCenterIfOutsideViewport
(
insertIndex
);
});
}
...
...
src/vs/workbench/contrib/notebook/browser/view/notebookCellList.ts
浏览文件 @
b5473f5a
...
...
@@ -14,6 +14,7 @@ import { IListService, IWorkbenchListOptions, WorkbenchList } from 'vs/platform/
import
{
IThemeService
}
from
'
vs/platform/theme/common/themeService
'
;
import
{
IMouseWheelEvent
}
from
'
vs/base/browser/mouseEvent
'
;
import
{
isMacintosh
}
from
'
vs/base/common/platform
'
;
import
{
isNumber
}
from
'
vs/base/common/types
'
;
export
class
NotebookCellList
<
T
>
extends
WorkbenchList
<
T
>
{
get
onWillScroll
():
Event
<
ScrollEvent
>
{
return
this
.
view
.
onWillScroll
;
}
...
...
@@ -76,6 +77,36 @@ export class NotebookCellList<T> extends WorkbenchList<T> {
super
.
domFocus
();
}
revealInView
(
index
:
number
,
offset
?:
number
)
{
const
scrollTop
=
this
.
view
.
getScrollTop
();
const
wrapperBottom
=
scrollTop
+
this
.
view
.
renderHeight
;
const
elementTop
=
this
.
view
.
elementTop
(
index
);
const
viewItemOffset
=
elementTop
+
(
isNumber
(
offset
)
?
offset
:
0
);
if
(
viewItemOffset
<
scrollTop
||
viewItemOffset
>
wrapperBottom
)
{
this
.
view
.
setScrollTop
(
viewItemOffset
);
}
}
revealInCenterIfOutsideViewport
(
index
:
number
,
offset
?:
number
)
{
const
scrollTop
=
this
.
view
.
getScrollTop
();
const
wrapperBottom
=
scrollTop
+
this
.
view
.
renderHeight
;
const
elementTop
=
this
.
view
.
elementTop
(
index
);
const
viewItemOffset
=
elementTop
+
(
isNumber
(
offset
)
?
offset
:
0
);
if
(
viewItemOffset
<
scrollTop
||
viewItemOffset
>
wrapperBottom
)
{
this
.
view
.
setScrollTop
(
viewItemOffset
-
this
.
view
.
renderHeight
/
2
);
}
}
revealInCenter
(
index
:
number
,
offset
?:
number
)
{
const
elementTop
=
this
.
view
.
elementTop
(
index
);
const
viewItemOffset
=
elementTop
+
(
isNumber
(
offset
)
?
offset
:
0
);
this
.
view
.
setScrollTop
(
viewItemOffset
-
this
.
view
.
renderHeight
/
2
);
}
}
function
isContextMenuFocused
()
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录