Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
9b228747
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,发现更多精彩内容 >>
提交
9b228747
编写于
7月 27, 2017
作者:
T
t-amqi
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add rename action for terminal quickpick
上级
5bc93487
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
101 addition
and
5 deletion
+101
-5
src/vs/workbench/parts/terminal/browser/terminalQuickOpen.ts
src/vs/workbench/parts/terminal/browser/terminalQuickOpen.ts
+2
-2
src/vs/workbench/parts/terminal/electron-browser/media/configure-inverse.svg
...rts/terminal/electron-browser/media/configure-inverse.svg
+1
-0
src/vs/workbench/parts/terminal/electron-browser/media/configure.svg
...bench/parts/terminal/electron-browser/media/configure.svg
+1
-0
src/vs/workbench/parts/terminal/electron-browser/media/terminal.css
...kbench/parts/terminal/electron-browser/media/terminal.css
+10
-1
src/vs/workbench/parts/terminal/electron-browser/terminal.contribution.ts
.../parts/terminal/electron-browser/terminal.contribution.ts
+7
-2
src/vs/workbench/parts/terminal/electron-browser/terminalActions.ts
...kbench/parts/terminal/electron-browser/terminalActions.ts
+80
-0
未找到文件。
src/vs/workbench/parts/terminal/browser/terminalQuickOpen.ts
浏览文件 @
9b228747
...
...
@@ -14,7 +14,7 @@ import { QuickOpenModel, QuickOpenEntryGroup, QuickOpenEntry } from 'vs/base/par
import
{
QuickOpenHandler
}
from
'
vs/workbench/browser/quickopen
'
;
import
{
ITerminalService
}
from
'
vs/workbench/parts/terminal/common/terminal
'
;
import
{
IPanelService
}
from
'
vs/workbench/services/panel/common/panelService
'
;
import
{
ContributableActionProvider
}
from
'
vs/workbench/browser/actions
'
;
export
class
TerminalEntry
extends
QuickOpenEntryGroup
{
constructor
(
...
...
@@ -79,7 +79,7 @@ export class TerminalPickerHandler extends QuickOpenHandler {
return
true
;
});
return
TPromise
.
as
(
new
QuickOpenModel
(
entries
));
return
TPromise
.
as
(
new
QuickOpenModel
(
entries
,
new
ContributableActionProvider
()
));
}
private
getTerminals
():
TerminalEntry
[]
{
...
...
src/vs/workbench/parts/terminal/electron-browser/media/configure-inverse.svg
0 → 100644
浏览文件 @
9b228747
<svg
xmlns=
"http://www.w3.org/2000/svg"
width=
"16"
height=
"16"
><g
fill=
"#C5C5C5"
><path
d=
"M12.714 9.603c-.07.207-.15.407-.246.601l1.017 2.139c-.335.424-.718.807-1.142 1.143l-2.14-1.018c-.193.097-.394.176-.601.247l-.795 2.235c-.265.03-.534.05-.807.05-.272 0-.541-.02-.806-.05l-.795-2.235c-.207-.071-.408-.15-.602-.247l-2.14 1.017c-.424-.336-.807-.719-1.143-1.143l1.017-2.139c-.094-.193-.175-.393-.245-.6l-2.236-.796c-.03-.265-.05-.534-.05-.807s.02-.542.05-.807l2.236-.795c.07-.207.15-.407.246-.601l-1.016-2.139c.336-.423.719-.807 1.143-1.142l2.14 1.017c.193-.096.394-.176.602-.247l.793-2.236c.265-.03.534-.05.806-.05.273 0 .542.02.808.05l.795 2.236c.207.07.407.15.601.246l2.14-1.017c.424.335.807.719 1.142 1.142l-1.017 2.139c.096.194.176.394.246.601l2.236.795c.029.266.049.535.049.808s-.02.542-.05.807l-2.236.796zm-4.714-4.603c-1.657 0-3 1.343-3 3s1.343 3 3 3 3-1.343 3-3-1.343-3-3-3z"
/><circle
cx=
"8"
cy=
"8"
r=
"1.5"
/></g></svg>
\ No newline at end of file
src/vs/workbench/parts/terminal/electron-browser/media/configure.svg
0 → 100644
浏览文件 @
9b228747
<svg
xmlns=
"http://www.w3.org/2000/svg"
width=
"16"
height=
"16"
><g
fill=
"#424242"
><path
d=
"M12.714 9.603c-.07.207-.15.407-.246.601l1.017 2.139c-.335.424-.718.807-1.142 1.143l-2.14-1.018c-.193.097-.394.176-.601.247l-.795 2.235c-.265.03-.534.05-.807.05-.272 0-.541-.02-.806-.05l-.795-2.235c-.207-.071-.408-.15-.602-.247l-2.14 1.017c-.424-.336-.807-.719-1.143-1.143l1.017-2.139c-.094-.193-.175-.393-.245-.6l-2.236-.796c-.03-.265-.05-.534-.05-.807s.02-.542.05-.807l2.236-.795c.07-.207.15-.407.246-.601l-1.016-2.139c.336-.423.719-.807 1.143-1.142l2.14 1.017c.193-.096.394-.176.602-.247l.793-2.236c.265-.03.534-.05.806-.05.273 0 .542.02.808.05l.795 2.236c.207.07.407.15.601.246l2.14-1.017c.424.335.807.719 1.142 1.142l-1.017 2.139c.096.194.176.394.246.601l2.236.795c.029.266.049.535.049.808s-.02.542-.05.807l-2.236.796zm-4.714-4.603c-1.657 0-3 1.343-3 3s1.343 3 3 3 3-1.343 3-3-1.343-3-3-3z"
/><circle
cx=
"8"
cy=
"8"
r=
"1.5"
/></g></svg>
\ No newline at end of file
src/vs/workbench/parts/terminal/electron-browser/media/terminal.css
浏览文件 @
9b228747
...
...
@@ -79,4 +79,13 @@
.vs-dark
.monaco-workbench.mac
.panel.integrated-terminal
.xterm-rows
,
.hc-black
.monaco-workbench.mac
.panel.integrated-terminal
.xterm-rows
{
cursor
:
-webkit-image-set
(
url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAAL0lEQVQoz2NgCD3x//9/BhBYBWdhgFVAiVW4JBFKGIa4AqD0//9D3pt4I4tAdAMAHTQ/j5Zom30AAAAASUVORK5CYII=')
1
x
,
url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAQAAADZc7J/AAAAz0lEQVRIx2NgYGBY/R8I/vx5eelX3n82IJ9FxGf6tksvf/8FiTMQAcAGQMDvSwu09abffY8QYSAScNk45G198eX//yev73/4///701eh//kZSARckrNBRvz//+8+6ZohwCzjGNjdgQxkAg7B9WADeBjIBqtJCbhRA0YNoIkBSNmaPEMoNmA0FkYNoFKhapJ6FGyAH3nauaSmPfwI0v/3OukVi0CIZ+F25KrtYcx/CTIy0e+rC7R1Z4KMICVTQQ14feVXIbR695u14+Ir4gwAAD49E54wc1kWAAAAAElFTkSuQmCC')
2
x
)
5
8
,
text
;
}
\ No newline at end of file
}
.monaco-workbench
.quick-open-terminal-configure
{
background-image
:
url('configure.svg')
;
}
.vs-dark
.monaco-workbench
.quick-open-terminal-configure
,
.hc-black
.monaco-workbench
.quick-open-terminal-configure
{
background-image
:
url('configure-inverse.svg')
;
}
src/vs/workbench/parts/terminal/electron-browser/terminal.contribution.ts
浏览文件 @
9b228747
...
...
@@ -17,7 +17,7 @@ import { TERMINAL_DEFAULT_SHELL_LINUX, TERMINAL_DEFAULT_SHELL_OSX, TERMINAL_DEFA
import
{
IWorkbenchActionRegistry
,
Extensions
as
ActionExtensions
}
from
'
vs/workbench/common/actionRegistry
'
;
import
{
KeyCode
,
KeyMod
}
from
'
vs/base/common/keyCodes
'
;
import
{
ContextKeyExpr
}
from
'
vs/platform/contextkey/common/contextkey
'
;
import
{
KillTerminalAction
,
CopyTerminalSelectionAction
,
CreateNewTerminalAction
,
FocusActiveTerminalAction
,
FocusNextTerminalAction
,
FocusPreviousTerminalAction
,
FocusTerminalAtIndexAction
,
SelectDefaultShellWindowsTerminalAction
,
RunSelectedTextInTerminalAction
,
RunActiveFileInTerminalAction
,
ScrollDownTerminalAction
,
ScrollDownPageTerminalAction
,
ScrollToBottomTerminalAction
,
ScrollUpTerminalAction
,
ScrollUpPageTerminalAction
,
ScrollToTopTerminalAction
,
TerminalPasteAction
,
ToggleTerminalAction
,
ClearTerminalAction
,
AllowWorkspaceShellTerminalCommand
,
DisallowWorkspaceShellTerminalCommand
,
RenameTerminalAction
,
SelectAllTerminalAction
,
FocusTerminalFindWidgetAction
,
HideTerminalFindWidgetAction
,
DeleteWordLeftTerminalAction
,
DeleteWordRightTerminalAction
}
from
'
vs/workbench/parts/terminal/electron-browser/terminalActions
'
;
import
{
KillTerminalAction
,
CopyTerminalSelectionAction
,
CreateNewTerminalAction
,
FocusActiveTerminalAction
,
FocusNextTerminalAction
,
FocusPreviousTerminalAction
,
FocusTerminalAtIndexAction
,
SelectDefaultShellWindowsTerminalAction
,
RunSelectedTextInTerminalAction
,
RunActiveFileInTerminalAction
,
ScrollDownTerminalAction
,
ScrollDownPageTerminalAction
,
ScrollToBottomTerminalAction
,
ScrollUpTerminalAction
,
ScrollUpPageTerminalAction
,
ScrollToTopTerminalAction
,
TerminalPasteAction
,
ToggleTerminalAction
,
ClearTerminalAction
,
AllowWorkspaceShellTerminalCommand
,
DisallowWorkspaceShellTerminalCommand
,
RenameTerminalAction
,
SelectAllTerminalAction
,
FocusTerminalFindWidgetAction
,
HideTerminalFindWidgetAction
,
DeleteWordLeftTerminalAction
,
DeleteWordRightTerminalAction
,
QuickOpenActionTermContributor
,
QuickOpenTermAction
,
TERMINAL_PICKER_PREFIX
}
from
'
vs/workbench/parts/terminal/electron-browser/terminalActions
'
;
import
{
Registry
}
from
'
vs/platform/registry/common/platform
'
;
import
{
ShowAllCommandsAction
}
from
'
vs/workbench/parts/quickopen/browser/commandsHandler
'
;
import
{
SyncActionDescriptor
}
from
'
vs/platform/actions/common/actions
'
;
...
...
@@ -31,8 +31,8 @@ import { registerColors } from './terminalColorRegistry';
import
{
NavigateUpAction
,
NavigateDownAction
,
NavigateLeftAction
,
NavigateRightAction
}
from
"
vs/workbench/electron-browser/actions
"
;
import
{
QUICKOPEN_ACTION_ID
}
from
"
vs/workbench/browser/parts/quickopen/quickopen
"
;
import
{
IQuickOpenRegistry
,
Extensions
as
QuickOpenExtensions
,
QuickOpenHandlerDescriptor
}
from
'
vs/workbench/browser/quickopen
'
;
import
{
Scope
,
IActionBarRegistry
,
Extensions
as
ActionBarExtensions
}
from
'
vs/workbench/browser/actions
'
;
export
const
TERMINAL_PICKER_PREFIX
=
'
term
'
;
const
quickOpenRegistry
=
(
<
IQuickOpenRegistry
>
Registry
.
as
(
QuickOpenExtensions
.
Quickopen
));
quickOpenRegistry
.
registerQuickOpenHandler
(
...
...
@@ -45,6 +45,11 @@ quickOpenRegistry.registerQuickOpenHandler(
)
);
const
registry
=
<
IWorkbenchActionRegistry
>
Registry
.
as
(
ActionExtensions
.
WorkbenchActions
);
registry
.
registerWorkbenchAction
(
new
SyncActionDescriptor
(
QuickOpenTermAction
,
QuickOpenTermAction
.
ID
,
QuickOpenTermAction
.
LABEL
),
'
Quick Open Terminal
'
);
const
actionBarRegistry
=
Registry
.
as
<
IActionBarRegistry
>
(
ActionBarExtensions
.
Actionbar
);
actionBarRegistry
.
registerActionBarContributor
(
Scope
.
VIEWER
,
QuickOpenActionTermContributor
);
let
configurationRegistry
=
<
IConfigurationRegistry
>
Registry
.
as
(
Extensions
.
Configuration
);
configurationRegistry
.
registerConfiguration
({
'
id
'
:
'
terminal
'
,
...
...
src/vs/workbench/parts/terminal/electron-browser/terminalActions.ts
浏览文件 @
9b228747
...
...
@@ -18,6 +18,12 @@ import { IMessageService, Severity } from 'vs/platform/message/common/message';
import
{
attachSelectBoxStyler
}
from
'
vs/platform/theme/common/styler
'
;
import
{
IThemeService
}
from
'
vs/platform/theme/common/themeService
'
;
import
{
IQuickOpenService
}
from
'
vs/platform/quickOpen/common/quickOpen
'
;
import
{
ActionBarContributor
}
from
'
vs/workbench/browser/actions
'
;
import
{
IKeybindingService
}
from
'
vs/platform/keybinding/common/keybinding
'
;
import
{
TerminalEntry
}
from
'
vs/workbench/parts/terminal/browser/terminalQuickOpen
'
;
import
{
IInstantiationService
}
from
'
vs/platform/instantiation/common/instantiation
'
;
export
const
TERMINAL_PICKER_PREFIX
=
'
term
'
;
export
class
ToggleTerminalAction
extends
TogglePanelAction
{
...
...
@@ -661,3 +667,77 @@ export class HideTerminalFindWidgetAction extends Action {
return
TPromise
.
as
(
this
.
terminalService
.
hideFindWidget
());
}
}
export
class
QuickOpenActionTermContributor
extends
ActionBarContributor
{
constructor
(
@
ITerminalService
private
terminalService
:
ITerminalService
,
@
IQuickOpenService
private
quickOpenService
:
IQuickOpenService
,
@
IInstantiationService
private
instantiationService
:
IInstantiationService
)
{
super
();
}
public
getActions
(
context
:
any
):
IAction
[]
{
let
actions
:
Action
[]
=
[];
if
(
context
.
element
instanceof
TerminalEntry
)
{
actions
.
push
(
new
RenameTerminalQuickOpenAction
(
RenameTerminalAction
.
ID
,
RenameTerminalAction
.
LABEL
,
this
.
quickOpenService
,
this
.
terminalService
,
this
.
instantiationService
,
context
.
element
));
}
return
actions
;
}
public
hasActions
(
context
:
any
):
boolean
{
return
true
;
}
}
export
class
QuickOpenTermAction
extends
Action
{
public
static
ID
=
'
workbench.action.quickOpenTerm
'
;
public
static
LABEL
=
nls
.
localize
(
'
quickOpenTerm
'
,
"
Quick Open Terminal
"
);
constructor
(
id
:
string
,
label
:
string
,
@
IQuickOpenService
private
quickOpenService
:
IQuickOpenService
,
@
IKeybindingService
private
keybindingService
:
IKeybindingService
)
{
super
(
id
,
label
);
}
public
run
():
TPromise
<
boolean
>
{
this
.
quickOpenService
.
show
(
TERMINAL_PICKER_PREFIX
,
null
);
return
TPromise
.
as
(
true
);
}
}
export
class
RenameTerminalQuickOpenAction
extends
Action
{
public
static
ID
=
'
workbench.action.terminal.renameQuickPick
'
;
public
static
LABEL
=
nls
.
localize
(
'
workbench.action.terminal.renameQuickPick
'
,
"
Rename Quick Pick
"
);
private
_terminal
:
TerminalEntry
;
constructor
(
id
:
string
,
label
:
string
,
@
IQuickOpenService
private
quickOpenService
:
IQuickOpenService
,
@
ITerminalService
private
terminalService
:
ITerminalService
,
@
IInstantiationService
private
instantiationService
:
IInstantiationService
,
private
terminal
:
TerminalEntry
)
{
super
(
id
,
label
);
this
.
_terminal
=
terminal
;
this
.
class
=
'
quick-open-terminal-configure
'
;
}
public
run
():
TPromise
<
any
>
{
const
currentTerminal
=
this
.
terminalService
.
getActiveInstance
();
this
.
terminalService
.
setActiveInstanceByIndex
(
parseInt
(
this
.
_terminal
.
getLabel
().
split
(
'
:
'
)[
0
],
10
)
-
1
);
this
.
instantiationService
.
createInstance
(
RenameTerminalAction
,
RenameTerminalAction
.
ID
,
RenameTerminalAction
.
LABEL
).
run
().
then
(
result
=>
{
this
.
quickOpenService
.
show
(
TERMINAL_PICKER_PREFIX
,
null
);
});
this
.
terminalService
.
setActiveInstance
(
currentTerminal
);
return
TPromise
.
as
(
null
);
}
}
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录