Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
67d3a691
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,发现更多精彩内容 >>
提交
67d3a691
编写于
6月 09, 2016
作者:
J
Joao Moreno
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'UnstageRanges' of
https://github.com/rebornix/vscode
into rebornix-UnstageRanges
上级
9d6a8347
972355bc
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
46 addition
and
5 deletion
+46
-5
src/vs/workbench/parts/git/browser/gitActions.contribution.ts
...vs/workbench/parts/git/browser/gitActions.contribution.ts
+35
-5
src/vs/workbench/parts/git/common/stageRanges.ts
src/vs/workbench/parts/git/common/stageRanges.ts
+11
-0
未找到文件。
src/vs/workbench/parts/git/browser/gitActions.contribution.ts
浏览文件 @
67d3a691
...
...
@@ -360,13 +360,13 @@ export class WorkbenchUnstageAction extends BaseUnstageAction {
}
}
export
class
StageRangesAction
extends
baseeditor
.
EditorInputAction
{
export
abstract
class
Base
StageRangesAction
extends
baseeditor
.
EditorInputAction
{
private
gitService
:
IGitService
;
private
editorService
:
IWorkbenchEditorService
;
private
editor
:
editorbrowser
.
IDiffEditor
;
constructor
(
editor
:
tdeditor
.
TextDiffEditor
,
@
IGitService
gitService
:
IGitService
,
@
IWorkbenchEditorService
editorService
:
IWorkbenchEditorService
)
{
super
(
'
workbench.action.git.stageRanges
'
,
nls
.
localize
(
'
stageSelectedLines
'
,
"
Stage Selected Lines
"
)
);
constructor
(
id
:
string
,
label
:
string
,
editor
:
tdeditor
.
TextDiffEditor
,
@
IGitService
gitService
:
IGitService
,
@
IWorkbenchEditorService
editorService
:
IWorkbenchEditorService
)
{
super
(
id
,
label
);
this
.
editorService
=
editorService
;
this
.
gitService
=
gitService
;
...
...
@@ -395,8 +395,12 @@ export class StageRangesAction extends baseeditor.EditorInputAction {
return
stageranges
.
getSelectedChanges
(
changes
,
selections
).
length
>
0
;
}
protected
getRangesAppliedResult
(
editor
:
editorbrowser
.
IDiffEditor
)
{
return
stageranges
.
stageRanges
(
editor
);
}
public
run
():
TPromise
<
any
>
{
var
result
=
stageranges
.
stageRanges
(
this
.
editor
);
var
result
=
this
.
getRangesAppliedResult
(
this
.
editor
);
var
status
=
(
<
gitei
.
GitWorkingTreeDiffEditorInput
>
this
.
input
).
getFileStatus
();
var
path
=
status
.
getPath
();
...
...
@@ -426,6 +430,28 @@ export class StageRangesAction extends baseeditor.EditorInputAction {
}
}
export
class
StageRangesAction
extends
BaseStageRangesAction
{
static
ID
=
'
workbench.action.git.stageRanges
'
;
static
LABEL
=
nls
.
localize
(
'
stageSelectedLines
'
,
"
Stage Selected Lines
"
);
constructor
(
editor
:
tdeditor
.
TextDiffEditor
,
@
IGitService
gitService
:
IGitService
,
@
IWorkbenchEditorService
editorService
:
IWorkbenchEditorService
)
{
super
(
StageRangesAction
.
ID
,
StageRangesAction
.
LABEL
,
editor
,
gitService
,
editorService
);
}
}
export
class
UnstageRangesAction
extends
BaseStageRangesAction
{
static
ID
=
'
workbench.action.git.unstageRanges
'
;
static
LABEL
=
nls
.
localize
(
'
unstageSelectedLines
'
,
"
Unstage Selected Lines
"
);
constructor
(
editor
:
tdeditor
.
TextDiffEditor
,
@
IGitService
gitService
:
IGitService
,
@
IWorkbenchEditorService
editorService
:
IWorkbenchEditorService
)
{
super
(
UnstageRangesAction
.
ID
,
UnstageRangesAction
.
LABEL
,
editor
,
gitService
,
editorService
);
}
protected
getRangesAppliedResult
(
editor
:
editorbrowser
.
IDiffEditor
)
{
return
stageranges
.
unstageRanges
(
editor
);
}
}
class
FileEditorActionContributor
extends
baseeditor
.
EditorInputActionContributor
{
private
instantiationService
:
IInstantiationService
;
...
...
@@ -472,10 +498,14 @@ class GitWorkingTreeDiffEditorActionContributor extends baseeditor.EditorInputAc
}
public
hasSecondaryActionsForEditorInput
(
context
:
baseeditor
.
IEditorInputActionContext
):
boolean
{
return
(
context
.
input
instanceof
gitei
.
Git
WorkingTree
DiffEditorInput
&&
context
.
editor
instanceof
tdeditor
.
TextDiffEditor
);
return
(
context
.
input
instanceof
gitei
.
GitDiffEditorInput
&&
context
.
editor
instanceof
tdeditor
.
TextDiffEditor
);
}
public
getSecondaryActionsForEditorInput
(
context
:
baseeditor
.
IEditorInputActionContext
):
baseeditor
.
IEditorInputAction
[]
{
if
(
context
.
input
instanceof
gitei
.
GitIndexDiffEditorInput
)
{
return
[
this
.
instantiationService
.
createInstance
(
UnstageRangesAction
,
<
tdeditor
.
TextDiffEditor
>
context
.
editor
)
];
}
return
[
this
.
instantiationService
.
createInstance
(
StageRangesAction
,
<
tdeditor
.
TextDiffEditor
>
context
.
editor
)
];
}
}
...
...
src/vs/workbench/parts/git/common/stageRanges.ts
浏览文件 @
67d3a691
...
...
@@ -48,6 +48,17 @@ export function stageRanges(diff:editorbrowser.IDiffEditor): string {
return
applyChangesToModel
(
diff
.
getModel
().
original
,
diff
.
getModel
().
modified
,
changes
);
}
export
function
unstageRanges
(
diff
:
editorbrowser
.
IDiffEditor
):
string
{
var
selections
=
diff
.
getSelections
();
var
changes
=
getSelectedChanges
(
diff
.
getLineChanges
(),
selections
);
changes
.
forEach
((
change
)
=>
{
[
change
.
originalStartLineNumber
,
change
.
originalEndLineNumber
,
change
.
modifiedStartLineNumber
,
change
.
modifiedEndLineNumber
]
=
[
change
.
modifiedStartLineNumber
,
change
.
modifiedEndLineNumber
,
change
.
originalStartLineNumber
,
change
.
originalEndLineNumber
];
});
return
applyChangesToModel
(
diff
.
getModel
().
modified
,
diff
.
getModel
().
original
,
changes
);
}
/**
* Returns an intersection between a change and a selection.
* Returns null if intersection does not exist.
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录