Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
c7eff5b7
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,发现更多精彩内容 >>
提交
c7eff5b7
编写于
3月 16, 2020
作者:
R
rebornix
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
progress bar for find and replace
上级
5f4f23f8
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
42 addition
and
5 deletion
+42
-5
src/vs/workbench/contrib/codeEditor/browser/find/simpleFindReplaceWidget.css
...ntrib/codeEditor/browser/find/simpleFindReplaceWidget.css
+16
-0
src/vs/workbench/contrib/codeEditor/browser/find/simpleFindReplaceWidget.ts
...ontrib/codeEditor/browser/find/simpleFindReplaceWidget.ts
+12
-1
src/vs/workbench/contrib/notebook/browser/contrib/notebookFindWidget.ts
...ch/contrib/notebook/browser/contrib/notebookFindWidget.ts
+14
-4
未找到文件。
src/vs/workbench/contrib/codeEditor/browser/find/simpleFindReplaceWidget.css
浏览文件 @
c7eff5b7
...
...
@@ -40,6 +40,22 @@
margin
:
0
0
0
17px
;
}
.monaco-workbench
.simple-fr-find-part-wrapper
.find-replace-progress
{
width
:
100%
;
height
:
2px
;
position
:
absolute
;
}
.monaco-workbench
.simple-fr-find-part-wrapper
.find-replace-progress
.monaco-progress-container
{
height
:
2px
;
top
:
0px
!important
;
z-index
:
100
!important
;
}
.monaco-workbench
.simple-fr-find-part-wrapper
.find-replace-progress
.monaco-progress-container
.progress-bit
{
height
:
2px
;
}
.monaco-workbench
.simple-fr-find-part-wrapper
.monaco-findInput
{
width
:
224px
;
}
...
...
src/vs/workbench/contrib/codeEditor/browser/find/simpleFindReplaceWidget.ts
浏览文件 @
c7eff5b7
...
...
@@ -16,9 +16,11 @@ import { SimpleButton } from 'vs/editor/contrib/find/findWidget';
import
{
IContextKeyService
}
from
'
vs/platform/contextkey/common/contextkey
'
;
import
{
IContextViewService
}
from
'
vs/platform/contextview/browser/contextView
'
;
import
{
editorWidgetBackground
,
inputActiveOptionBorder
,
inputActiveOptionBackground
,
inputBackground
,
inputBorder
,
inputForeground
,
inputValidationErrorBackground
,
inputValidationErrorBorder
,
inputValidationErrorForeground
,
inputValidationInfoBackground
,
inputValidationInfoBorder
,
inputValidationInfoForeground
,
inputValidationWarningBackground
,
inputValidationWarningBorder
,
inputValidationWarningForeground
,
widgetShadow
,
editorWidgetForeground
}
from
'
vs/platform/theme/common/colorRegistry
'
;
import
{
IColorTheme
,
registerThemingParticipant
}
from
'
vs/platform/theme/common/themeService
'
;
import
{
IColorTheme
,
registerThemingParticipant
,
IThemeService
}
from
'
vs/platform/theme/common/themeService
'
;
import
{
ContextScopedFindInput
,
ContextScopedReplaceInput
}
from
'
vs/platform/browser/contextScopedHistoryWidget
'
;
import
{
ReplaceInput
,
IReplaceInputStyles
}
from
'
vs/base/browser/ui/findinput/replaceInput
'
;
import
{
ProgressBar
}
from
'
vs/base/browser/ui/progressbar/progressbar
'
;
import
{
attachProgressBarStyler
}
from
'
vs/platform/theme/common/styler
'
;
const
NLS_FIND_INPUT_LABEL
=
nls
.
localize
(
'
label.find
'
,
"
Find
"
);
const
NLS_FIND_INPUT_PLACEHOLDER
=
nls
.
localize
(
'
placeholder.find
'
,
"
Find
"
);
...
...
@@ -53,9 +55,13 @@ export abstract class SimpleFindReplaceWidget extends Widget {
private
_isReplaceVisible
:
boolean
=
false
;
private
foundMatch
:
boolean
=
false
;
protected
_progressBar
!
:
ProgressBar
;
constructor
(
@
IContextViewService
private
readonly
_contextViewService
:
IContextViewService
,
@
IContextKeyService
contextKeyService
:
IContextKeyService
,
@
IThemeService
private
readonly
_themeService
:
IThemeService
,
private
readonly
_state
:
FindReplaceState
=
new
FindReplaceState
(),
showOptionButtons
?:
boolean
)
{
...
...
@@ -65,6 +71,11 @@ export abstract class SimpleFindReplaceWidget extends Widget {
this
.
_domNode
.
classList
.
add
(
'
simple-fr-find-part-wrapper
'
);
this
.
_register
(
this
.
_state
.
onFindReplaceStateChange
((
e
)
=>
this
.
_onStateChanged
(
e
)));
let
progressContainer
=
dom
.
$
(
'
.find-replace-progress
'
);
this
.
_progressBar
=
new
ProgressBar
(
progressContainer
);
this
.
_register
(
attachProgressBarStyler
(
this
.
_progressBar
,
this
.
_themeService
));
this
.
_domNode
.
appendChild
(
progressContainer
);
// Toggle replace button
this
.
_toggleReplaceBtn
=
this
.
_register
(
new
SimpleButton
({
label
:
NLS_TOGGLE_REPLACE_MODE_BTN_LABEL
,
...
...
src/vs/workbench/contrib/notebook/browser/contrib/notebookFindWidget.ts
浏览文件 @
c7eff5b7
...
...
@@ -14,6 +14,7 @@ import { PrefixSumComputer } from 'vs/editor/common/viewModel/prefixSumComputer'
import
{
IKeyboardEvent
}
from
'
vs/base/browser/keyboardEvent
'
;
import
{
KeyCode
}
from
'
vs/base/common/keyCodes
'
;
import
{
SimpleFindReplaceWidget
}
from
'
vs/workbench/contrib/codeEditor/browser/find/simpleFindReplaceWidget
'
;
import
{
IThemeService
}
from
'
vs/platform/theme/common/themeService
'
;
export
class
NotebookFindWidget
extends
SimpleFindReplaceWidget
{
protected
_findWidgetFocused
:
IContextKey
<
boolean
>
;
...
...
@@ -26,9 +27,11 @@ export class NotebookFindWidget extends SimpleFindReplaceWidget {
constructor
(
private
readonly
_notebookEditor
:
INotebookEditor
,
@
IContextViewService
contextViewService
:
IContextViewService
,
@
IContextKeyService
contextKeyService
:
IContextKeyService
@
IContextKeyService
contextKeyService
:
IContextKeyService
,
@
IThemeService
themeService
:
IThemeService
,
)
{
super
(
contextViewService
,
contextKeyService
);
super
(
contextViewService
,
contextKeyService
,
themeService
);
this
.
_findWidgetFocused
=
KEYBINDING_CONTEXT_NOTEBOOK_FIND_WIDGET_FOCUSED
.
bindTo
(
contextKeyService
);
this
.
_register
(
this
.
_findInput
.
onKeyDown
((
e
)
=>
this
.
_onFindInputKeyDown
(
e
)));
}
...
...
@@ -95,12 +98,19 @@ export class NotebookFindWidget extends SimpleFindReplaceWidget {
const
cell
=
this
.
_findMatches
[
nextIndex
.
index
].
cell
;
const
match
=
this
.
_findMatches
[
nextIndex
.
index
].
matches
[
nextIndex
.
remainder
];
return
this
.
_notebookEditor
.
viewModel
!
.
replaceOne
(
cell
,
match
.
range
,
this
.
replaceValue
);
this
.
_progressBar
.
infinite
().
show
(
);
this
.
_notebookEditor
.
viewModel
!
.
replaceOne
(
cell
,
match
.
range
,
this
.
replaceValue
).
then
(()
=>
{
this
.
_progressBar
.
stop
();
});
}
protected
replaceAll
()
{
return
this
.
_notebookEditor
.
viewModel
!
.
replaceAll
(
this
.
_findMatches
,
this
.
replaceValue
);
this
.
_progressBar
.
infinite
().
show
();
this
.
_notebookEditor
.
viewModel
!
.
replaceAll
(
this
.
_findMatches
,
this
.
replaceValue
).
then
(()
=>
{
this
.
_progressBar
.
stop
();
});
}
private
revealCellRange
(
cellIndex
:
number
,
matchIndex
:
number
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录