Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
186f21da
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,发现更多精彩内容 >>
提交
186f21da
编写于
1月 27, 2019
作者:
R
Rob Lourens
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix #67113 - missing context in search copy results
上级
9301aefe
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
8 addition
and
45 deletion
+8
-45
src/vs/workbench/parts/search/browser/searchActions.ts
src/vs/workbench/parts/search/browser/searchActions.ts
+1
-1
src/vs/workbench/parts/search/common/searchModel.ts
src/vs/workbench/parts/search/common/searchModel.ts
+4
-0
src/vs/workbench/parts/search/test/common/searchResult.test.ts
...s/workbench/parts/search/test/common/searchResult.test.ts
+3
-44
未找到文件。
src/vs/workbench/parts/search/browser/searchActions.ts
浏览文件 @
186f21da
...
...
@@ -653,7 +653,7 @@ function matchToString(match: Match, indent = 0): string {
const
getFirstLinePrefix
=
()
=>
`
${
match
.
range
().
startLineNumber
}
,
${
match
.
range
().
startColumn
}
`
;
const
getOtherLinePrefix
=
(
i
:
number
)
=>
match
.
range
().
startLineNumber
+
i
+
''
;
const
fullMatchLines
=
match
.
full
MatchText
().
split
(
/
\r?\n
/g
);
const
fullMatchLines
=
match
.
full
PreviewLines
(
);
const
largestPrefixSize
=
fullMatchLines
.
reduce
((
largest
,
_
,
i
)
=>
{
const
thisSize
=
i
===
0
?
getFirstLinePrefix
().
length
:
...
...
src/vs/workbench/parts/search/common/searchModel.ts
浏览文件 @
186f21da
...
...
@@ -135,6 +135,10 @@ export class Match {
return
thisMatchPreviewLines
.
join
(
'
\n
'
);
}
fullPreviewLines
():
string
[]
{
return
this
.
_fullPreviewLines
.
slice
(
this
.
_fullPreviewRange
.
startLineNumber
,
this
.
_fullPreviewRange
.
endLineNumber
+
1
);
}
getMatchString
():
string
{
return
this
.
_oneLinePreviewText
.
substring
(
this
.
_rangeInPreviewText
.
startColumn
-
1
,
this
.
_rangeInPreviewText
.
endColumn
-
1
);
}
...
...
src/vs/workbench/parts/search/test/common/searchResult.test.ts
浏览文件 @
186f21da
...
...
@@ -40,6 +40,9 @@ suite('SearchResult', () => {
assert
.
equal
(
lineMatch
.
range
().
startColumn
,
1
);
assert
.
equal
(
lineMatch
.
range
().
endColumn
,
4
);
assert
.
equal
(
'
file:///folder/file.txt>[2,1 -> 2,4]foo
'
,
lineMatch
.
id
());
assert
.
equal
(
lineMatch
.
fullMatchText
(),
'
foo
'
);
assert
.
equal
(
lineMatch
.
fullMatchText
(
true
),
'
foo bar
'
);
});
test
(
'
Line Match - Remove
'
,
function
()
{
...
...
@@ -312,50 +315,6 @@ suite('SearchResult', () => {
return
voidPromise
.
then
(()
=>
assert
.
ok
(
testObject
.
isEmpty
()));
});
//// ----- utils
//function lineHasDecorations(model: editor.IModel, lineNumber: number, decorations: { start: number; end: number; }[]): void {
// let lineDecorations:typeof decorations = [];
// let decs = model.getLineDecorations(lineNumber);
// for (let i = 0, len = decs.length; i < len; i++) {
// lineDecorations.push({
// start: decs[i].range.startColumn,
// end: decs[i].range.endColumn
// });
// }
// assert.deepEqual(lineDecorations, decorations);
//}
//
//function lineHasNoDecoration(model: editor.IModel, lineNumber: number): void {
// lineHasDecorations(model, lineNumber, []);
//}
//
//function lineHasDecoration(model: editor.IModel, lineNumber: number, start: number, end: number): void {
// lineHasDecorations(model, lineNumber, [{
// start: start,
// end: end
// }]);
//}
//// ----- end utils
//
//test('Model Highlights', function () {
//
// let fileMatch = instantiation.createInstance(FileMatch, null, toUri('folder\\file.txt'));
// fileMatch.add(new Match(fileMatch, 'line2', 1, 0, 2));
// fileMatch.connect();
// lineHasDecoration(oneModel, 2, 1, 3);
//});
//
//test('Dispose', () => {
//
// let fileMatch = instantiation.createInstance(FileMatch, null, toUri('folder\\file.txt'));
// fileMatch.add(new Match(fileMatch, 'line2', 1, 0, 2));
// fileMatch.connect();
// lineHasDecoration(oneModel, 2, 1, 3);
//
// fileMatch.dispose();
// lineHasNoDecoration(oneModel, 2);
//});
function
aFileMatch
(
path
:
string
,
searchResult
?:
SearchResult
,
...
lineMatches
:
ITextSearchMatch
[]):
FileMatch
{
const
rawMatch
:
IFileMatch
=
{
resource
:
URI
.
file
(
'
/
'
+
path
),
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录