Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
1c8c9cf5
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,发现更多精彩内容 >>
提交
1c8c9cf5
编写于
5月 13, 2020
作者:
J
Johannes Rieken
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
differentiate between pick and preview,
https://github.com/microsoft/vscode/issues/96489
上级
c78b1d7c
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
21 addition
and
17 deletion
+21
-17
src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.ts
...b/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.ts
+12
-12
src/vs/workbench/contrib/notebook/browser/contrib/toc/tocProvider.ts
...bench/contrib/notebook/browser/contrib/toc/tocProvider.ts
+9
-5
未找到文件。
src/vs/workbench/contrib/codeEditor/browser/quickaccess/gotoSymbolQuickAccess.ts
浏览文件 @
1c8c9cf5
...
...
@@ -12,7 +12,7 @@ import { Registry } from 'vs/platform/registry/common/platform';
import
{
IQuickAccessRegistry
,
Extensions
as
QuickaccessExtensions
}
from
'
vs/platform/quickinput/common/quickAccess
'
;
import
{
AbstractGotoSymbolQuickAccessProvider
,
IGotoSymbolQuickPickItem
}
from
'
vs/editor/contrib/quickAccess/gotoSymbolQuickAccess
'
;
import
{
IConfigurationService
}
from
'
vs/platform/configuration/common/configuration
'
;
import
{
IWorkbenchEditorConfiguration
,
IEditorPane
}
from
'
vs/workbench/common/editor
'
;
import
{
IWorkbenchEditorConfiguration
,
IEditorPane
,
IVisibleEditorPane
}
from
'
vs/workbench/common/editor
'
;
import
{
ITextModel
}
from
'
vs/editor/common/model
'
;
import
{
DisposableStore
,
IDisposable
,
toDisposable
}
from
'
vs/base/common/lifecycle
'
;
import
{
timeout
}
from
'
vs/base/common/async
'
;
...
...
@@ -108,11 +108,13 @@ export class GotoSymbolQuickAccessProvider extends AbstractGotoSymbolQuickAccess
protected
provideWithoutTextEditor
(
picker
:
IQuickPick
<
IGotoSymbolQuickPickItem
>
):
IDisposable
{
const
pane
=
this
.
editorService
.
activeEditorPane
;
if
(
!
pane
||
!
TableOfContentsProviderRegistry
.
has
(
pane
.
getId
()))
{
//
if
(
pane
&&
TableOfContentsProviderRegistry
.
has
(
pane
.
getId
()))
{
return
this
.
doGetTableOfContentsPicks
(
picker
,
pane
);
}
return
super
.
provideWithoutTextEditor
(
picker
);
}
private
doGetTableOfContentsPicks
(
picker
:
IQuickPick
<
IGotoSymbolQuickPickItem
>
,
pane
:
IVisibleEditorPane
):
IDisposable
{
const
provider
=
TableOfContentsProviderRegistry
.
get
(
pane
.
getId
())
!
;
const
cts
=
new
CancellationTokenSource
();
...
...
@@ -144,7 +146,7 @@ export class GotoSymbolQuickAccessProvider extends AbstractGotoSymbolQuickAccess
disposables
.
add
(
picker
.
onDidAccept
(()
=>
{
picker
.
hide
();
const
[
entry
]
=
picker
.
selectedItems
;
entries
[
entry
.
index
]?.
reveal
();
entries
[
entry
.
index
]?.
pick
();
}));
const
updatePickerItems
=
()
=>
{
...
...
@@ -177,14 +179,11 @@ export class GotoSymbolQuickAccessProvider extends AbstractGotoSymbolQuickAccess
let
ignoreFirstActiveEvent
=
true
;
disposables
.
add
(
picker
.
onDidChangeActive
(()
=>
{
const
[
entry
]
=
picker
.
activeItems
;
if
(
entry
&&
entries
[
entry
.
index
])
{
if
(
ignoreFirstActiveEvent
)
{
ignoreFirstActiveEvent
=
false
;
return
;
if
(
!
ignoreFirstActiveEvent
)
{
entries
[
entry
.
index
]?.
preview
();
}
entries
[
entry
.
index
]?.
reveal
();
ignoreFirstActiveEvent
=
false
;
}
}));
...
...
@@ -238,7 +237,8 @@ export interface ITableOfContentsEntry {
label
:
string
;
detail
?:
string
;
description
?:
string
;
reveal
():
any
;
pick
():
any
;
preview
():
any
;
}
export
interface
ITableOfContentsProvider
<
T
extends
IEditorPane
=
IEditorPane
>
{
...
...
src/vs/workbench/contrib/notebook/browser/contrib/toc/tocProvider.ts
浏览文件 @
1c8c9cf5
...
...
@@ -14,7 +14,7 @@ TableOfContentsProviderRegistry.register(NotebookEditor.ID, new class implements
return
undefined
;
}
// return an entry per markdown header
const
editor
Widget
=
editor
.
getControl
();
const
notebook
Widget
=
editor
.
getControl
();
const
result
:
ITableOfContentsEntry
[]
=
[];
for
(
let
cell
of
editor
.
viewModel
.
viewCells
)
{
const
content
=
cell
.
getText
();
...
...
@@ -28,10 +28,14 @@ TableOfContentsProviderRegistry.register(NotebookEditor.ID, new class implements
result
.
push
({
icon
:
cell
.
cellKind
===
CellKind
.
Markdown
?
Codicon
.
markdown
:
Codicon
.
code
,
label
:
matches
[
j
].
replace
(
/^
[
\t]
*
(\#
+
)
/
,
''
),
reveal
:
()
=>
{
editorWidget
.
revealInCenterIfOutsideViewport
(
cell
);
editorWidget
.
selectElement
(
cell
);
// editor.focusNotebookCell(cell, 'container');
pick
()
{
notebookWidget
.
revealInCenterIfOutsideViewport
(
cell
);
notebookWidget
.
selectElement
(
cell
);
notebookWidget
.
focusNotebookCell
(
cell
,
'
container
'
);
},
preview
()
{
notebookWidget
.
revealInCenterIfOutsideViewport
(
cell
);
notebookWidget
.
selectElement
(
cell
);
}
});
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录