Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
370e10eb
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,发现更多精彩内容 >>
提交
370e10eb
编写于
2月 07, 2018
作者:
I
isidor
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
debug debt: cleanup column breakpoint actions -> commands
上级
ee9f1e7e
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
40 addition
and
53 deletion
+40
-53
src/vs/workbench/parts/debug/browser/debugEditorActions.ts
src/vs/workbench/parts/debug/browser/debugEditorActions.ts
+40
-53
未找到文件。
src/vs/workbench/parts/debug/browser/debugEditorActions.ts
浏览文件 @
370e10eb
...
...
@@ -15,6 +15,9 @@ import { IPanelService } from 'vs/workbench/services/panel/common/panelService';
import
{
IViewletService
}
from
'
vs/workbench/services/viewlet/browser/viewlet
'
;
import
{
KeybindingsRegistry
}
from
'
vs/platform/keybinding/common/keybindingsRegistry
'
;
import
{
ICodeEditor
}
from
'
vs/editor/browser/editorBrowser
'
;
import
{
CommandsRegistry
}
from
'
vs/platform/commands/common/commands
'
;
import
{
MenuRegistry
,
MenuId
}
from
'
vs/platform/actions/common/actions
'
;
import
{
IWorkbenchEditorService
}
from
'
vs/workbench/services/editor/common/editorService
'
;
class
ToggleBreakpointAction
extends
EditorAction
{
constructor
()
{
...
...
@@ -49,62 +52,48 @@ class ToggleBreakpointAction extends EditorAction {
}
}
function
addColumnBreakpoint
(
accessor
:
ServicesAccessor
,
editor
:
ICodeEditor
,
remove
:
boolean
):
TPromise
<
any
>
{
const
debugService
=
accessor
.
get
(
IDebugService
);
const
position
=
editor
.
getPosition
();
const
modelUri
=
editor
.
getModel
().
uri
;
const
bp
=
debugService
.
getModel
().
getBreakpoints
()
.
filter
(
bp
=>
bp
.
lineNumber
===
position
.
lineNumber
&&
bp
.
column
===
position
.
column
&&
bp
.
uri
.
toString
()
===
modelUri
.
toString
()).
pop
();
if
(
bp
)
{
return
remove
?
debugService
.
removeBreakpoints
(
bp
.
getId
())
:
TPromise
.
as
(
null
);
}
if
(
debugService
.
getConfigurationManager
().
canSetBreakpointsIn
(
editor
.
getModel
()))
{
return
debugService
.
addBreakpoints
(
modelUri
,
[{
lineNumber
:
position
.
lineNumber
,
column
:
position
.
column
}]);
}
return
TPromise
.
as
(
null
);
}
class
ToggleColumnBreakpointAction
extends
EditorAction
{
constructor
()
{
super
({
id
:
'
editor.debug.action.toggleColumnBreakpoint
'
,
label
:
nls
.
localize
(
'
columnBreakpointAction
'
,
"
Debug: Column Breakpoint
"
),
alias
:
'
Debug: Column Breakpoint
'
,
precondition
:
null
,
kbOpts
:
{
kbExpr
:
EditorContextKeys
.
textFocus
,
primary
:
KeyMod
.
Shift
|
KeyCode
.
F9
const
COLUMN_BREAKPOINT_COMMAND_ID
=
'
editor.debug.action.toggleColumnBreakpoint
'
;
CommandsRegistry
.
registerCommand
({
id
:
COLUMN_BREAKPOINT_COMMAND_ID
,
handler
:
(
accessor
)
=>
{
const
debugService
=
accessor
.
get
(
IDebugService
);
const
editorService
=
accessor
.
get
(
IWorkbenchEditorService
);
const
editor
=
editorService
.
getActiveEditor
();
const
control
=
editor
&&
<
ICodeEditor
>
editor
.
getControl
();
if
(
control
)
{
const
position
=
control
.
getPosition
();
const
modelUri
=
control
.
getModel
().
uri
;
const
bp
=
debugService
.
getModel
().
getBreakpoints
()
.
filter
(
bp
=>
bp
.
lineNumber
===
position
.
lineNumber
&&
bp
.
column
===
position
.
column
&&
bp
.
uri
.
toString
()
===
modelUri
.
toString
()).
pop
();
if
(
bp
)
{
return
TPromise
.
as
(
null
);
}
});
}
public
run
(
accessor
:
ServicesAccessor
,
editor
:
ICodeEditor
):
TPromise
<
any
>
{
return
addColumnBreakpoint
(
accessor
,
editor
,
true
);
}
}
// TODO@Isidor merge two column breakpoints actions together
class
ToggleColumnBreakpointContextMenuAction
extends
EditorAction
{
constructor
()
{
super
({
id
:
'
editor.debug.action.toggleColumnBreakpointContextMenu
'
,
label
:
nls
.
localize
(
'
columnBreakpoint
'
,
"
Add Column Breakpoint
"
),
alias
:
'
Toggle Column Breakpoint
'
,
precondition
:
ContextKeyExpr
.
and
(
CONTEXT_IN_DEBUG_MODE
,
CONTEXT_NOT_IN_DEBUG_REPL
,
EditorContextKeys
.
writable
),
menuOpts
:
{
group
:
'
debug
'
,
order
:
1
if
(
debugService
.
getConfigurationManager
().
canSetBreakpointsIn
(
control
.
getModel
()))
{
return
debugService
.
addBreakpoints
(
modelUri
,
[{
lineNumber
:
position
.
lineNumber
,
column
:
position
.
column
}]);
}
});
}
return
TPromise
.
as
(
null
);
}
});
public
run
(
accessor
:
ServicesAccessor
,
editor
:
ICodeEditor
):
TPromise
<
any
>
{
return
addColumnBreakpoint
(
accessor
,
editor
,
false
);
MenuRegistry
.
appendMenuItem
(
MenuId
.
CommandPalette
,
{
command
:
{
id
:
COLUMN_BREAKPOINT_COMMAND_ID
,
title
:
nls
.
localize
(
'
columnBreakpoint
'
,
"
Column Breakpoint
"
),
category
:
nls
.
localize
(
'
debug
'
,
"
Debug
"
)
}
}
});
MenuRegistry
.
appendMenuItem
(
MenuId
.
EditorContext
,
{
command
:
{
id
:
COLUMN_BREAKPOINT_COMMAND_ID
,
title
:
nls
.
localize
(
'
addColumnBreakpoint
'
,
"
Add Column Breakpoint
"
)
},
when
:
ContextKeyExpr
.
and
(
CONTEXT_IN_DEBUG_MODE
,
CONTEXT_NOT_IN_DEBUG_REPL
,
EditorContextKeys
.
writable
),
group
:
'
debug
'
,
order
:
1
});
class
ConditionalBreakpointAction
extends
EditorAction
{
...
...
@@ -268,8 +257,6 @@ class CloseBreakpointWidgetCommand extends EditorCommand {
}
registerEditorAction
(
ToggleBreakpointAction
);
registerEditorAction
(
ToggleColumnBreakpointAction
);
registerEditorAction
(
ToggleColumnBreakpointContextMenuAction
);
registerEditorAction
(
ConditionalBreakpointAction
);
registerEditorAction
(
RunToCursorAction
);
registerEditorAction
(
SelectionToReplAction
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录