Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
420aa329
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,发现更多精彩内容 >>
提交
420aa329
编写于
9月 09, 2020
作者:
J
Johannes Rieken
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add `replaceNotebookMetadata`,
https://github.com/microsoft/vscode/issues/105283
上级
951dd140
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
33 addition
and
12 deletion
+33
-12
src/vs/vscode.proposed.d.ts
src/vs/vscode.proposed.d.ts
+1
-0
src/vs/workbench/api/browser/mainThreadEditors.ts
src/vs/workbench/api/browser/mainThreadEditors.ts
+1
-1
src/vs/workbench/api/common/extHost.protocol.ts
src/vs/workbench/api/common/extHost.protocol.ts
+3
-2
src/vs/workbench/api/common/extHostTypeConverters.ts
src/vs/workbench/api/common/extHostTypeConverters.ts
+3
-2
src/vs/workbench/api/common/extHostTypes.ts
src/vs/workbench/api/common/extHostTypes.ts
+7
-2
src/vs/workbench/contrib/bulkEdit/browser/bulkCellEdits.ts
src/vs/workbench/contrib/bulkEdit/browser/bulkCellEdits.ts
+18
-5
未找到文件。
src/vs/vscode.proposed.d.ts
浏览文件 @
420aa329
...
...
@@ -1350,6 +1350,7 @@ declare module 'vscode' {
}
export
interface
WorkspaceEdit
{
replaceNotebookMetadata
(
uri
:
Uri
,
value
:
NotebookDocumentMetadata
):
void
;
replaceCells
(
uri
:
Uri
,
start
:
number
,
end
:
number
,
cells
:
NotebookCellData
[],
metadata
?:
WorkspaceEditEntryMetadata
):
void
;
replaceCellOutput
(
uri
:
Uri
,
index
:
number
,
outputs
:
CellOutput
[],
metadata
?:
WorkspaceEditEntryMetadata
):
void
;
replaceCellMetadata
(
uri
:
Uri
,
index
:
number
,
cellMetadata
:
NotebookCellMetadata
,
metadata
?:
WorkspaceEditEntryMetadata
):
void
;
...
...
src/vs/workbench/api/browser/mainThreadEditors.ts
浏览文件 @
420aa329
...
...
@@ -44,7 +44,7 @@ function reviveWorkspaceEditDto2(data: IWorkspaceEditDto | undefined): ResourceE
}
else
if
(
edit
.
_type
===
WorkspaceEditType
.
Text
)
{
result
.
push
(
new
ResourceTextEdit
(
edit
.
resource
,
edit
.
edit
,
edit
.
modelVersionId
,
edit
.
metadata
));
}
else
if
(
edit
.
_type
===
WorkspaceEditType
.
Cell
)
{
result
.
push
(
new
ResourceNotebookCellEdit
(
edit
.
resource
,
edit
.
edit
,
edit
.
model
VersionId
,
edit
.
metadata
));
result
.
push
(
new
ResourceNotebookCellEdit
(
edit
.
resource
,
edit
.
edit
,
edit
.
notebookMetadata
,
edit
.
notebook
VersionId
,
edit
.
metadata
));
}
}
return
result
;
...
...
src/vs/workbench/api/common/extHost.protocol.ts
浏览文件 @
420aa329
...
...
@@ -1274,8 +1274,9 @@ export interface IWorkspaceTextEditDto {
export
interface
IWorkspaceCellEditDto
{
_type
:
WorkspaceEditType
.
Cell
;
resource
:
UriComponents
;
edit
:
ICellEditOperation
;
modelVersionId
?:
number
;
edit
?:
ICellEditOperation
;
notebookMetadata
?:
NotebookDocumentMetadata
;
notebookVersionId
?:
number
;
metadata
?:
IWorkspaceEditEntryMetadataDto
;
}
...
...
src/vs/workbench/api/common/extHostTypeConverters.ts
浏览文件 @
420aa329
...
...
@@ -537,10 +537,11 @@ export namespace WorkspaceEdit {
}
else
if
(
entry
.
_type
===
types
.
FileEditType
.
Cell
)
{
result
.
edits
.
push
(
<
extHostProtocol
.
IWorkspaceCellEditDto
>
{
_type
:
extHostProtocol
.
WorkspaceEditType
.
Cell
,
metadata
:
entry
.
metadata
,
resource
:
entry
.
uri
,
edit
:
entry
.
edit
,
metadata
:
entry
.
m
etadata
,
model
VersionId
:
notebooks
?.
lookupNotebookDocument
(
entry
.
uri
)?.
notebookDocument
.
version
notebookMetadata
:
entry
.
notebookM
etadata
,
notebook
VersionId
:
notebooks
?.
lookupNotebookDocument
(
entry
.
uri
)?.
notebookDocument
.
version
});
}
}
...
...
src/vs/workbench/api/common/extHostTypes.ts
浏览文件 @
420aa329
...
...
@@ -601,7 +601,8 @@ export interface IFileTextEdit {
export
interface
IFileCellEdit
{
_type
:
FileEditType
.
Cell
;
uri
:
URI
;
edit
:
ICellEditOperation
;
edit
?:
ICellEditOperation
;
notebookMetadata
?:
vscode
.
NotebookDocumentMetadata
;
metadata
?:
vscode
.
WorkspaceEditEntryMetadata
;
}
...
...
@@ -629,7 +630,11 @@ export class WorkspaceEdit implements vscode.WorkspaceEdit {
this
.
_edits
.
push
({
_type
:
FileEditType
.
File
,
from
:
uri
,
to
:
undefined
,
options
,
metadata
});
}
// --- cell
// --- notebook
replaceNotebookMetadata
(
uri
:
URI
,
value
:
vscode
.
NotebookDocumentMetadata
,
metadata
?:
vscode
.
WorkspaceEditEntryMetadata
):
void
{
this
.
_edits
.
push
({
_type
:
FileEditType
.
Cell
,
metadata
,
uri
,
notebookMetadata
:
value
});
}
replaceCells
(
uri
:
URI
,
start
:
number
,
end
:
number
,
cells
:
vscode
.
NotebookCellData
[],
metadata
?:
vscode
.
WorkspaceEditEntryMetadata
):
void
{
this
.
_edits
.
push
({
_type
:
FileEditType
.
Cell
,
metadata
,
uri
,
edit
:
{
editType
:
CellEditType
.
Replace
,
index
:
start
,
count
:
end
-
start
,
cells
:
cells
.
map
(
cell
=>
({
...
cell
,
outputs
:
cell
.
outputs
.
map
(
output
=>
addIdToOutput
(
output
))
}))
}
});
...
...
src/vs/workbench/contrib/bulkEdit/browser/bulkCellEdits.ts
浏览文件 @
420aa329
...
...
@@ -9,7 +9,7 @@ import { URI } from 'vs/base/common/uri';
import
{
ResourceEdit
}
from
'
vs/editor/browser/services/bulkEditService
'
;
import
{
WorkspaceEditMetadata
}
from
'
vs/editor/common/modes
'
;
import
{
IProgress
}
from
'
vs/platform/progress/common/progress
'
;
import
{
ICellEditOperation
}
from
'
vs/workbench/contrib/notebook/common/notebookCommon
'
;
import
{
ICellEditOperation
,
NotebookDocumentMetadata
}
from
'
vs/workbench/contrib/notebook/common/notebookCommon
'
;
import
{
INotebookEditorModelResolverService
}
from
'
vs/workbench/contrib/notebook/common/notebookEditorModelResolverService
'
;
import
{
INotebookService
}
from
'
vs/workbench/contrib/notebook/common/notebookService
'
;
...
...
@@ -17,7 +17,8 @@ export class ResourceNotebookCellEdit extends ResourceEdit {
constructor
(
readonly
resource
:
URI
,
readonly
cellEdit
:
ICellEditOperation
,
readonly
cellEdit
?:
ICellEditOperation
,
readonly
notebookMetadata
?:
NotebookDocumentMetadata
,
readonly
versionId
?:
number
,
readonly
metadata
?:
WorkspaceEditMetadata
)
{
...
...
@@ -48,10 +49,22 @@ export class BulkCellEdits {
// throw new Error(`Notebook '${first.resource}' has changed in the meantime`);
// }
const
edits
:
ICellEditOperation
[]
=
[];
let
newMetadata
:
NotebookDocumentMetadata
|
undefined
;
for
(
let
edit
of
group
)
{
if
(
edit
.
cellEdit
)
{
edits
.
push
(
edit
.
cellEdit
);
}
newMetadata
=
edit
.
notebookMetadata
??
newMetadata
;
}
// set metadata
if
(
newMetadata
)
{
ref
.
object
.
notebook
.
updateNotebookMetadata
(
newMetadata
);
}
// apply edits
const
cellEdits
=
group
.
map
(
edit
=>
edit
.
cellEdit
);
this
.
_notebookService
.
transformEditsOutputs
(
ref
.
object
.
notebook
,
cellEdits
);
ref
.
object
.
notebook
.
applyEdit
(
ref
.
object
.
notebook
.
versionId
,
cellEdits
,
true
);
this
.
_notebookService
.
transformEditsOutputs
(
ref
.
object
.
notebook
,
edits
);
ref
.
object
.
notebook
.
applyEdit
(
ref
.
object
.
notebook
.
versionId
,
edits
,
true
);
ref
.
dispose
();
this
.
_progress
.
report
(
undefined
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录