Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
791f59fb
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,体验更适合开发者的 AI 搜索 >>
提交
791f59fb
编写于
8月 19, 2017
作者:
R
rebornix
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix #32508. Tokenize tokens when cheap
上级
f90f8aea
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
7 addition
and
4 deletion
+7
-4
src/vs/editor/contrib/linesOperations/common/moveLinesCommand.ts
...editor/contrib/linesOperations/common/moveLinesCommand.ts
+7
-4
未找到文件。
src/vs/editor/contrib/linesOperations/common/moveLinesCommand.ts
浏览文件 @
791f59fb
...
...
@@ -98,7 +98,7 @@ export class MoveLinesCommand implements ICommand {
let
insertingText
=
movingLineText
;
if
(
this
.
is
AutoIndent
(
model
,
s
))
{
if
(
this
.
should
AutoIndent
(
model
,
s
))
{
let
movingLineMatchResult
=
this
.
matchEnterRule
(
model
,
indentConverter
,
tabSize
,
movingLineNumber
,
s
.
startLineNumber
-
1
);
// if s.startLineNumber - 1 matches onEnter rule, we still honor that.
if
(
movingLineMatchResult
!==
null
)
{
...
...
@@ -178,7 +178,7 @@ export class MoveLinesCommand implements ICommand {
// Insert line that needs to be moved after
builder
.
addEditOperation
(
new
Range
(
s
.
endLineNumber
,
model
.
getLineMaxColumn
(
s
.
endLineNumber
),
s
.
endLineNumber
,
model
.
getLineMaxColumn
(
s
.
endLineNumber
)),
'
\n
'
+
movingLineText
);
if
(
this
.
is
AutoIndent
(
model
,
s
))
{
if
(
this
.
should
AutoIndent
(
model
,
s
))
{
virtualModel
.
getLineContent
=
(
lineNumber
:
number
)
=>
{
if
(
lineNumber
===
movingLineNumber
)
{
return
model
.
getLineContent
(
s
.
startLineNumber
);
...
...
@@ -261,7 +261,6 @@ export class MoveLinesCommand implements ICommand {
}
let
maxColumn
=
model
.
getLineMaxColumn
(
validPrecedingLine
);
// TODO@Peng TODO@forceTokenization: getEnterAction forces tokenization
let
enter
=
LanguageConfigurationRegistry
.
getEnterAction
(
model
,
new
Range
(
validPrecedingLine
,
maxColumn
,
validPrecedingLine
,
maxColumn
));
if
(
enter
)
{
...
...
@@ -298,10 +297,14 @@ export class MoveLinesCommand implements ICommand {
return
str
.
replace
(
/^
\s
+/
,
''
);
}
private
is
AutoIndent
(
model
:
ITokenizedModel
,
selection
:
Selection
)
{
private
should
AutoIndent
(
model
:
ITokenizedModel
,
selection
:
Selection
)
{
if
(
!
this
.
_autoIndent
)
{
return
false
;
}
// if it's not easy to tokenize, we stop auto indent.
if
(
!
model
.
isCheapToTokenize
(
selection
.
startLineNumber
))
{
return
false
;
}
let
languageAtSelectionStart
=
model
.
getLanguageIdAtPosition
(
selection
.
startLineNumber
,
1
);
let
languageAtSelectionEnd
=
model
.
getLanguageIdAtPosition
(
selection
.
endLineNumber
,
1
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录