Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
c7b6da1c
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,发现更多精彩内容 >>
提交
c7b6da1c
编写于
5月 17, 2018
作者:
I
Isidor Nikolic
提交者:
Benjamin Pasero
5月 17, 2018
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
clipboardService: handle resources (#49964)
上级
0fb96047
变更
5
显示空白变更内容
内联
并排
Showing
5 changed file
with
26 addition
and
29 deletion
+26
-29
src/vs/editor/contrib/snippet/test/snippetVariables.test.ts
src/vs/editor/contrib/snippet/test/snippetVariables.test.ts
+6
-6
src/vs/platform/clipboard/common/clipboardService.ts
src/vs/platform/clipboard/common/clipboardService.ts
+6
-6
src/vs/platform/clipboard/electron-browser/clipboardService.ts
...s/platform/clipboard/electron-browser/clipboardService.ts
+11
-14
src/vs/workbench/parts/files/electron-browser/fileActions.ts
src/vs/workbench/parts/files/electron-browser/fileActions.ts
+2
-2
src/vs/workbench/parts/files/electron-browser/views/explorerViewer.ts
...ench/parts/files/electron-browser/views/explorerViewer.ts
+1
-1
未找到文件。
src/vs/editor/contrib/snippet/test/snippetVariables.test.ts
浏览文件 @
c7b6da1c
...
...
@@ -217,9 +217,9 @@ suite('Snippet Variables Resolver', function () {
writeText
=
this
.
_throw
;
readFindText
=
this
.
_throw
;
writeFindText
=
this
.
_throw
;
write
Fil
es
=
this
.
_throw
;
read
Fil
es
=
this
.
_throw
;
has
Fil
es
=
this
.
_throw
;
write
Resourc
es
=
this
.
_throw
;
read
Resourc
es
=
this
.
_throw
;
has
Resourc
es
=
this
.
_throw
;
};
let
resolver
=
new
ClipboardBasedVariableResolver
(
clipboardService
,
1
,
0
);
...
...
@@ -250,9 +250,9 @@ suite('Snippet Variables Resolver', function () {
writeText
=
this
.
_throw
;
readFindText
=
this
.
_throw
;
writeFindText
=
this
.
_throw
;
write
Fil
es
=
this
.
_throw
;
read
Fil
es
=
this
.
_throw
;
has
Fil
es
=
this
.
_throw
;
write
Resourc
es
=
this
.
_throw
;
read
Resourc
es
=
this
.
_throw
;
has
Resourc
es
=
this
.
_throw
;
};
resolver
=
new
ClipboardBasedVariableResolver
(
clipboardService
,
1
,
2
);
...
...
src/vs/platform/clipboard/common/clipboardService.ts
浏览文件 @
c7b6da1c
...
...
@@ -35,17 +35,17 @@ export interface IClipboardService {
writeFindText
(
text
:
string
):
void
;
/**
* Writes
fil
es to the system clipboard.
* Writes
resourc
es to the system clipboard.
*/
write
Files
(
fil
es
:
URI
[]):
void
;
write
Resources
(
resourc
es
:
URI
[]):
void
;
/**
* Reads
fil
es from the system clipboard.
* Reads
resourc
es from the system clipboard.
*/
read
Fil
es
():
URI
[];
read
Resourc
es
():
URI
[];
/**
* Find out if
fil
es are copied to the clipboard.
* Find out if
resourc
es are copied to the clipboard.
*/
has
Fil
es
():
boolean
;
has
Resourc
es
():
boolean
;
}
src/vs/platform/clipboard/electron-browser/clipboardService.ts
浏览文件 @
c7b6da1c
...
...
@@ -9,7 +9,6 @@ import { IClipboardService } from 'vs/platform/clipboard/common/clipboardService
import
{
clipboard
}
from
'
electron
'
;
import
URI
from
'
vs/base/common/uri
'
;
import
{
isMacintosh
}
from
'
vs/base/common/platform
'
;
import
{
Schemas
}
from
'
vs/base/common/network
'
;
export
class
ClipboardService
implements
IClipboardService
{
...
...
@@ -40,27 +39,25 @@ export class ClipboardService implements IClipboardService {
}
}
public
writeFiles
(
resources
:
URI
[]):
void
{
const
files
=
resources
.
filter
(
f
=>
f
.
scheme
===
Schemas
.
file
);
if
(
files
.
length
)
{
clipboard
.
writeBuffer
(
ClipboardService
.
FILE_FORMAT
,
this
.
filesToBuffer
(
files
));
public
writeResources
(
resources
:
URI
[]):
void
{
if
(
resources
.
length
)
{
clipboard
.
writeBuffer
(
ClipboardService
.
FILE_FORMAT
,
this
.
resourcesToBuffer
(
resources
));
}
}
public
read
Fil
es
():
URI
[]
{
return
this
.
bufferTo
Fil
es
(
clipboard
.
readBuffer
(
ClipboardService
.
FILE_FORMAT
));
public
read
Resourc
es
():
URI
[]
{
return
this
.
bufferTo
Resourc
es
(
clipboard
.
readBuffer
(
ClipboardService
.
FILE_FORMAT
));
}
public
has
Fil
es
():
boolean
{
public
has
Resourc
es
():
boolean
{
return
clipboard
.
has
(
ClipboardService
.
FILE_FORMAT
);
}
private
fil
esToBuffer
(
resources
:
URI
[]):
Buffer
{
return
Buffer
.
from
(
resources
.
map
(
r
=>
r
.
fsPath
).
join
(
'
\n
'
));
private
resourc
esToBuffer
(
resources
:
URI
[]):
Buffer
{
return
Buffer
.
from
(
resources
.
map
(
r
=>
r
.
toString
()
).
join
(
'
\n
'
));
}
private
bufferTo
Fil
es
(
buffer
:
Buffer
):
URI
[]
{
private
bufferTo
Resourc
es
(
buffer
:
Buffer
):
URI
[]
{
if
(
!
buffer
)
{
return
[];
}
...
...
@@ -71,7 +68,7 @@ export class ClipboardService implements IClipboardService {
}
try
{
return
bufferValue
.
split
(
'
\n
'
).
map
(
f
=>
URI
.
fil
e
(
f
));
return
bufferValue
.
split
(
'
\n
'
).
map
(
f
=>
URI
.
pars
e
(
f
));
}
catch
(
error
)
{
return
[];
// do not trust clipboard data
}
...
...
src/vs/workbench/parts/files/electron-browser/fileActions.ts
浏览文件 @
c7b6da1c
...
...
@@ -921,7 +921,7 @@ class CopyFileAction extends BaseFileAction {
public
run
():
TPromise
<
any
>
{
// Write to clipboard as file/folder to copy
this
.
clipboardService
.
write
Fil
es
(
this
.
elements
.
map
(
e
=>
e
.
resource
));
this
.
clipboardService
.
write
Resourc
es
(
this
.
elements
.
map
(
e
=>
e
.
resource
));
// Remove highlight
if
(
this
.
tree
)
{
...
...
@@ -1636,7 +1636,7 @@ export const pasteFileHandler = (accessor: ServicesAccessor) => {
const
clipboardService
=
accessor
.
get
(
IClipboardService
);
const
explorerContext
=
getContext
(
listService
.
lastFocusedList
,
accessor
.
get
(
IViewletService
));
return
TPromise
.
join
(
resources
.
distinctParents
(
clipboardService
.
read
Fil
es
(),
r
=>
r
).
map
(
toCopy
=>
{
return
TPromise
.
join
(
resources
.
distinctParents
(
clipboardService
.
read
Resourc
es
(),
r
=>
r
).
map
(
toCopy
=>
{
const
pasteFileAction
=
instantationService
.
createInstance
(
PasteFileAction
,
listService
.
lastFocusedList
,
explorerContext
.
stat
);
return
pasteFileAction
.
run
(
toCopy
);
}));
...
...
src/vs/workbench/parts/files/electron-browser/views/explorerViewer.ts
浏览文件 @
c7b6da1c
...
...
@@ -512,7 +512,7 @@ export class FileController extends WorkbenchTreeController implements IDisposab
tree
.
setFocus
(
stat
);
// update dynamic contexts
this
.
fileCopiedContextKey
.
set
(
this
.
clipboardService
.
has
Fil
es
());
this
.
fileCopiedContextKey
.
set
(
this
.
clipboardService
.
has
Resourc
es
());
if
(
!
this
.
contributedContextMenu
)
{
this
.
contributedContextMenu
=
this
.
menuService
.
createMenu
(
MenuId
.
ExplorerContext
,
tree
.
contextKeyService
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录