Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
1406eab8
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,发现更多精彩内容 >>
提交
1406eab8
编写于
9月 15, 2020
作者:
R
Rob Lourens
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Remove invokeWithinContext from notebook in favor of PR #104947
上级
545414b6
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
5 addition
and
28 deletion
+5
-28
src/vs/workbench/browser/parts/editor/editorPane.ts
src/vs/workbench/browser/parts/editor/editorPane.ts
+0
-19
src/vs/workbench/browser/parts/editor/titleControl.ts
src/vs/workbench/browser/parts/editor/titleControl.ts
+4
-4
src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.ts
...orkbench/contrib/notebook/browser/notebookEditorWidget.ts
+1
-5
未找到文件。
src/vs/workbench/browser/parts/editor/editorPane.ts
浏览文件 @
1406eab8
...
...
@@ -19,25 +19,6 @@ import { MementoObject } from 'vs/workbench/common/memento';
import
{
joinPath
,
IExtUri
}
from
'
vs/base/common/resources
'
;
import
{
indexOfPath
}
from
'
vs/base/common/extpath
'
;
import
{
IDisposable
}
from
'
vs/base/common/lifecycle
'
;
import
{
ServicesAccessor
}
from
'
vs/platform/instantiation/common/instantiation
'
;
/**
* Should be implemented by editors that have their own ScopedContextKeyService
*/
export
interface
IEditorWithContext
{
/**
* Execute `fn` with the editor's services.
*/
invokeWithinContext
<
T
>
(
fn
:
(
accessor
:
ServicesAccessor
)
=>
T
):
T
;
}
export
function
isEditorWithContext
(
editor
:
unknown
):
editor
is
IEditorWithContext
{
return
!!
(
editor
&&
!!
(
editor
as
IEditorWithContext
).
invokeWithinContext
);
}
export
function
getEditorWithContext
(
thing
:
unknown
):
IEditorWithContext
|
null
{
return
isEditorWithContext
(
thing
)
?
thing
:
null
;
}
/**
* The base class of editors in the workbench. Editors register themselves for specific editor inputs.
...
...
src/vs/workbench/browser/parts/editor/titleControl.ts
浏览文件 @
1406eab8
...
...
@@ -13,7 +13,7 @@ import { IAction, IRunEvent, WorkbenchActionExecutedEvent, WorkbenchActionExecut
import
*
as
arrays
from
'
vs/base/common/arrays
'
;
import
{
ResolvedKeybinding
}
from
'
vs/base/common/keyCodes
'
;
import
{
dispose
,
DisposableStore
}
from
'
vs/base/common/lifecycle
'
;
import
{
isCodeEditor
}
from
'
vs/editor/browser/editorBrowser
'
;
import
{
getCodeEditor
,
isCodeEditor
}
from
'
vs/editor/browser/editorBrowser
'
;
import
{
localize
}
from
'
vs/nls
'
;
import
{
createAndFillInActionBarActions
,
createAndFillInContextMenuActions
,
MenuEntryActionViewItem
,
SubmenuEntryActionViewItem
}
from
'
vs/platform/actions/browser/menuEntryActionViewItem
'
;
import
{
ExecuteCommandAction
,
IMenu
,
IMenuService
,
MenuId
,
MenuItemAction
,
SubmenuItemAction
}
from
'
vs/platform/actions/common/actions
'
;
...
...
@@ -28,7 +28,7 @@ import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry';
import
{
listActiveSelectionBackground
,
listActiveSelectionForeground
}
from
'
vs/platform/theme/common/colorRegistry
'
;
import
{
ICssStyleCollector
,
IColorTheme
,
IThemeService
,
registerThemingParticipant
,
Themable
}
from
'
vs/platform/theme/common/themeService
'
;
import
{
DraggedEditorGroupIdentifier
,
DraggedEditorIdentifier
,
fillResourceDataTransfers
,
LocalSelectionTransfer
}
from
'
vs/workbench/browser/dnd
'
;
import
{
EditorPane
,
getEditorWithContext
}
from
'
vs/workbench/browser/parts/editor/editorPane
'
;
import
{
EditorPane
}
from
'
vs/workbench/browser/parts/editor/editorPane
'
;
import
{
BreadcrumbsConfig
}
from
'
vs/workbench/browser/parts/editor/breadcrumbs
'
;
import
{
BreadcrumbsControl
,
IBreadcrumbsControlOptions
}
from
'
vs/workbench/browser/parts/editor/breadcrumbsControl
'
;
import
{
IEditorGroupsAccessor
,
IEditorGroupView
}
from
'
vs/workbench/browser/parts/editor/editor
'
;
...
...
@@ -237,8 +237,8 @@ export abstract class TitleControl extends Themable {
// Editor actions require the editor control to be there, so we retrieve it via service
const
activeEditorPane
=
this
.
group
.
activeEditorPane
;
if
(
activeEditorPane
instanceof
EditorPane
)
{
const
editorWithContext
=
getEditorWithContext
(
activeEditorPane
.
getControl
());
const
scopedContextKeyService
=
editorWithContext
?.
invokeWithinContext
(
accessor
=>
accessor
.
get
(
IContextKeyService
))
||
this
.
contextKeyService
;
const
codeEditor
=
getCodeEditor
(
activeEditorPane
.
getControl
());
const
scopedContextKeyService
=
codeEditor
?.
invokeWithinContext
(
accessor
=>
accessor
.
get
(
IContextKeyService
))
||
this
.
contextKeyService
;
const
titleBarMenu
=
this
.
menuService
.
createMenu
(
MenuId
.
EditorTitle
,
scopedContextKeyService
);
this
.
editorToolBarMenuDisposables
.
add
(
titleBarMenu
);
this
.
editorToolBarMenuDisposables
.
add
(
titleBarMenu
.
onDidChange
(()
=>
{
...
...
src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.ts
浏览文件 @
1406eab8
...
...
@@ -28,7 +28,7 @@ import { IMenuService, MenuId } from 'vs/platform/actions/common/actions';
import
{
IConfigurationService
}
from
'
vs/platform/configuration/common/configuration
'
;
import
{
IContextKey
,
IContextKeyService
}
from
'
vs/platform/contextkey/common/contextkey
'
;
import
{
IContextMenuService
}
from
'
vs/platform/contextview/browser/contextView
'
;
import
{
IInstantiationService
,
ServicesAccessor
}
from
'
vs/platform/instantiation/common/instantiation
'
;
import
{
IInstantiationService
}
from
'
vs/platform/instantiation/common/instantiation
'
;
import
{
ServiceCollection
}
from
'
vs/platform/instantiation/common/serviceCollection
'
;
import
{
ILayoutService
}
from
'
vs/platform/layout/browser/layoutService
'
;
import
{
IQuickInputService
,
IQuickPickItem
,
QuickPickInput
}
from
'
vs/platform/quickinput/common/quickInput
'
;
...
...
@@ -284,10 +284,6 @@ export class NotebookEditorWidget extends Disposable implements INotebookEditor
return
this
.
viewModel
?.
selectionHandles
||
[];
}
invokeWithinContext
<
T
>
(
fn
:
(
accessor
:
ServicesAccessor
)
=>
T
):
T
{
return
this
.
instantiationService
.
invokeFunction
(
fn
);
}
hasModel
()
{
return
!!
this
.
_notebookViewModel
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录