Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
0e4b1fec
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,发现更多精彩内容 >>
未验证
提交
0e4b1fec
编写于
11月 10, 2020
作者:
A
Alex Dima
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Render char diffs in the wrapped deleted or change lines in the inline diff
上级
a56c7406
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
24 addition
and
2 deletion
+24
-2
src/vs/editor/browser/widget/diffEditorWidget.ts
src/vs/editor/browser/widget/diffEditorWidget.ts
+6
-2
src/vs/editor/common/viewLayout/lineDecorations.ts
src/vs/editor/common/viewLayout/lineDecorations.ts
+18
-0
未找到文件。
src/vs/editor/browser/widget/diffEditorWidget.ts
浏览文件 @
0e4b1fec
...
...
@@ -2302,6 +2302,7 @@ class InlineViewZonesComputer extends ViewZonesComputer {
}
}
}
const
hasCharChanges
=
(
decorations
.
length
>
0
);
const
sb
=
createStringBuilder
(
10000
);
let
maxCharsPerLine
=
0
;
...
...
@@ -2321,7 +2322,8 @@ class InlineViewZonesComputer extends ViewZonesComputer {
renderedLineCount
++
,
viewLineContent
,
viewLineTokens
,
actualDecorations
,
LineDecoration
.
extractWrapped
(
actualDecorations
,
lastBreakOffset
,
breakOffset
),
hasCharChanges
,
mightContainNonBasicASCII
,
mightContainRTL
,
fontInfo
,
...
...
@@ -2354,6 +2356,7 @@ class InlineViewZonesComputer extends ViewZonesComputer {
lineContent
,
lineTokens
,
actualDecorations
,
hasCharChanges
,
mightContainNonBasicASCII
,
mightContainRTL
,
fontInfo
,
...
...
@@ -2386,6 +2389,7 @@ class InlineViewZonesComputer extends ViewZonesComputer {
lineContent
:
string
,
lineTokens
:
IViewLineTokens
,
decorations
:
LineDecoration
[],
hasCharChanges
:
boolean
,
mightContainNonBasicASCII
:
boolean
,
mightContainRTL
:
boolean
,
fontInfo
:
FontInfo
,
...
...
@@ -2402,7 +2406,7 @@ class InlineViewZonesComputer extends ViewZonesComputer {
):
number
{
sb
.
appendASCIIString
(
'
<div class="view-line
'
);
if
(
decorations
.
length
===
0
)
{
if
(
!
hasCharChanges
)
{
// No char changes
sb
.
appendASCIIString
(
'
char-delete
'
);
}
...
...
src/vs/editor/common/viewLayout/lineDecorations.ts
浏览文件 @
0e4b1fec
...
...
@@ -42,6 +42,24 @@ export class LineDecoration {
return
true
;
}
public
static
extractWrapped
(
arr
:
LineDecoration
[],
startOffset
:
number
,
endOffset
:
number
):
LineDecoration
[]
{
if
(
arr
.
length
===
0
)
{
return
arr
;
}
const
startColumn
=
startOffset
+
1
;
const
endColumn
=
endOffset
+
1
;
const
lineLength
=
endOffset
-
startOffset
;
const
r
=
[];
let
rLength
=
0
;
for
(
const
dec
of
arr
)
{
if
(
dec
.
endColumn
<=
startColumn
||
dec
.
startColumn
>=
endColumn
)
{
continue
;
}
r
[
rLength
++
]
=
new
LineDecoration
(
Math
.
max
(
1
,
dec
.
startColumn
-
startColumn
+
1
),
Math
.
min
(
lineLength
+
1
,
dec
.
endColumn
-
startColumn
+
1
),
dec
.
className
,
dec
.
type
);
}
return
r
;
}
public
static
filter
(
lineDecorations
:
InlineDecoration
[],
lineNumber
:
number
,
minLineColumn
:
number
,
maxLineColumn
:
number
):
LineDecoration
[]
{
if
(
lineDecorations
.
length
===
0
)
{
return
[];
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录