Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
c74bc68f
V
vscode
项目概览
掘金者说
/
vscode
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vscode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
c74bc68f
编写于
2月 19, 2021
作者:
M
Matt Bierner
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Hide markdown preview cells when they are folded
Fixes #116918
上级
6e08e452
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
56 addition
and
5 deletion
+56
-5
src/vs/workbench/contrib/notebook/browser/notebookBrowser.ts
src/vs/workbench/contrib/notebook/browser/notebookBrowser.ts
+1
-0
src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.ts
...orkbench/contrib/notebook/browser/notebookEditorWidget.ts
+10
-0
src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.ts
...ntrib/notebook/browser/view/renderers/backLayerWebView.ts
+18
-2
src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.ts
...h/contrib/notebook/browser/view/renderers/cellRenderer.ts
+12
-0
src/vs/workbench/contrib/notebook/browser/view/renderers/webviewPreloads.ts
...ontrib/notebook/browser/view/renderers/webviewPreloads.ts
+10
-1
src/vs/workbench/contrib/notebook/test/testNotebookEditor.ts
src/vs/workbench/contrib/notebook/test/testNotebookEditor.ts
+5
-2
未找到文件。
src/vs/workbench/contrib/notebook/browser/notebookBrowser.ts
浏览文件 @
c74bc68f
...
...
@@ -467,6 +467,7 @@ export interface INotebookEditor extends IEditor, ICommonNotebookEditor {
layoutNotebookCell
(
cell
:
ICellViewModel
,
height
:
number
):
Promise
<
void
>
;
createMarkdownPreview
(
cell
:
ICellViewModel
):
Promise
<
void
>
;
unhideMarkdownPreview
(
cell
:
ICellViewModel
):
Promise
<
void
>
;
hideMarkdownPreview
(
cell
:
ICellViewModel
):
Promise
<
void
>
;
removeMarkdownPreview
(
cell
:
ICellViewModel
):
Promise
<
void
>
;
...
...
src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.ts
浏览文件 @
c74bc68f
...
...
@@ -1990,6 +1990,16 @@ export class NotebookEditorWidget extends Disposable implements INotebookEditor
}
}
async
unhideMarkdownPreview
(
cell
:
MarkdownCellViewModel
)
{
if
(
!
this
.
_webview
)
{
return
;
}
await
this
.
_resolveWebview
();
await
this
.
_webview
?.
unhideMarkdownPreview
(
cell
.
id
);
}
async
hideMarkdownPreview
(
cell
:
MarkdownCellViewModel
)
{
if
(
!
this
.
_webview
)
{
return
;
...
...
src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.ts
浏览文件 @
c74bc68f
...
...
@@ -258,9 +258,13 @@ export interface IRemoveMarkdownMessage {
id
:
string
;
}
export
interface
IHideMarkdownMessage
{
type
:
'
hideMarkdownPreview
'
,
type
:
'
hideMarkdownPreview
'
;
id
:
string
;
}
export
interface
IUnhideMarkdownMessage
{
type
:
'
unhideMarkdownPreview
'
;
id
:
string
;
}
...
...
@@ -311,6 +315,7 @@ export type ToWebviewMessage =
|
IRemoveMarkdownMessage
|
IShowMarkdownMessage
|
IHideMarkdownMessage
|
IUnhideMarkdownMessage
|
IInitializeMarkdownMessage
|
IViewScrollMarkdownRequestMessage
;
...
...
@@ -1020,6 +1025,17 @@ var requirejs = (function() {
});
}
async
unhideMarkdownPreview
(
cellId
:
string
,)
{
if
(
this
.
_disposed
)
{
return
;
}
this
.
_sendMessageToWebview
({
type
:
'
unhideMarkdownPreview
'
,
id
:
cellId
});
}
async
removeMarkdownPreview
(
cellId
:
string
,)
{
if
(
this
.
_disposed
)
{
return
;
...
...
src/vs/workbench/contrib/notebook/browser/view/renderers/cellRenderer.ts
浏览文件 @
c74bc68f
...
...
@@ -52,6 +52,7 @@ import { CodiconActionViewItem, createAndFillInActionBarActionsWithVerticalSepar
import
{
ThemeIcon
}
from
'
vs/platform/theme/common/themeService
'
;
import
{
errorStateIcon
,
successStateIcon
,
unfoldIcon
}
from
'
vs/workbench/contrib/notebook/browser/notebookIcons
'
;
import
{
syncing
}
from
'
vs/platform/theme/common/iconRegistry
'
;
import
{
CellFoldingState
}
from
'
vs/workbench/contrib/notebook/browser/contrib/fold/foldingModel
'
;
const
$
=
DOM
.
$
;
...
...
@@ -539,6 +540,9 @@ export class MarkdownCellRenderer extends AbstractCellRenderer implements IListR
if
(
e
.
cellIsHoveredChanged
)
{
this
.
updateForHover
(
element
,
templateData
);
}
if
(
e
.
foldingStateChanged
)
{
this
.
updateForFolding
(
element
);
}
}));
// render toolbar first
...
...
@@ -575,6 +579,14 @@ export class MarkdownCellRenderer extends AbstractCellRenderer implements IListR
templateData
.
container
.
classList
.
toggle
(
'
markdown-cell-hover
'
,
element
.
cellIsHovered
);
}
private
updateForFolding
(
element
:
MarkdownCellViewModel
)
{
if
(
element
.
foldingState
===
CellFoldingState
.
Collapsed
)
{
this
.
notebookEditor
.
hideMarkdownPreview
(
element
);
}
else
{
this
.
notebookEditor
.
unhideMarkdownPreview
(
element
);
}
}
disposeTemplate
(
templateData
:
MarkdownCellRenderTemplate
):
void
{
templateData
.
disposables
.
clear
();
}
...
...
src/vs/workbench/contrib/notebook/browser/view/renderers/webviewPreloads.ts
浏览文件 @
c74bc68f
...
...
@@ -421,12 +421,21 @@ function webviewPreloads() {
case
'
hideMarkdownPreview
'
:
{
const
data
=
event
.
data
;
le
t
cellContainer
=
document
.
getElementById
(
data
.
id
);
cons
t
cellContainer
=
document
.
getElementById
(
data
.
id
);
if
(
cellContainer
)
{
cellContainer
.
style
.
display
=
'
none
'
;
}
}
break
;
case
'
unhideMarkdownPreview
'
:
{
const
data
=
event
.
data
;
const
cellContainer
=
document
.
getElementById
(
data
.
id
);
if
(
cellContainer
)
{
cellContainer
.
style
.
display
=
''
;
}
}
break
;
case
'
removeMarkdownPreview
'
:
{
const
data
=
event
.
data
;
...
...
src/vs/workbench/contrib/notebook/test/testNotebookEditor.ts
浏览文件 @
c74bc68f
...
...
@@ -321,8 +321,11 @@ export class TestNotebookEditor implements INotebookEditor {
createMarkdownPreview
(
cell
:
ICellViewModel
):
Promise
<
void
>
{
return
Promise
.
resolve
();
}
hideMarkdownPreview
(
cell
:
ICellViewModel
):
Promise
<
void
>
{
return
Promise
.
resolve
();
async
unhideMarkdownPreview
(
cell
:
ICellViewModel
):
Promise
<
void
>
{
// noop
}
async
hideMarkdownPreview
(
cell
:
ICellViewModel
):
Promise
<
void
>
{
// noop
}
removeMarkdownPreview
(
cell
:
ICellViewModel
):
Promise
<
void
>
{
return
Promise
.
resolve
();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录