Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xxadev
vscode
提交
d9e4100e
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,发现更多精彩内容 >>
提交
d9e4100e
编写于
1月 24, 2020
作者:
S
SteVen Batten
浏览文件
操作
浏览文件
下载
差异文件
Merge remote-tracking branch 'microsoft/master' into customViewUpdate
上级
268f0a22
61a928c8
变更
18
隐藏空白更改
内联
并排
Showing
18 changed file
with
69 addition
and
133 deletion
+69
-133
build/builtInExtensions.json
build/builtInExtensions.json
+2
-2
src/vs/editor/browser/config/configuration.ts
src/vs/editor/browser/config/configuration.ts
+3
-3
src/vs/editor/standalone/browser/standaloneServices.ts
src/vs/editor/standalone/browser/standaloneServices.ts
+2
-2
src/vs/platform/accessibility/common/abstractAccessibilityService.ts
...form/accessibility/common/abstractAccessibilityService.ts
+0
-43
src/vs/platform/accessibility/common/accessibility.ts
src/vs/platform/accessibility/common/accessibility.ts
+2
-2
src/vs/platform/accessibility/common/accessibilityService.ts
src/vs/platform/accessibility/common/accessibilityService.ts
+32
-15
src/vs/platform/list/browser/listService.ts
src/vs/platform/list/browser/listService.ts
+4
-4
src/vs/workbench/browser/parts/editor/editorStatus.ts
src/vs/workbench/browser/parts/editor/editorStatus.ts
+1
-1
src/vs/workbench/browser/parts/quickinput/quickInput.ts
src/vs/workbench/browser/parts/quickinput/quickInput.ts
+2
-9
src/vs/workbench/browser/parts/titlebar/menubarControl.ts
src/vs/workbench/browser/parts/titlebar/menubarControl.ts
+2
-4
src/vs/workbench/contrib/search/browser/searchView.ts
src/vs/workbench/contrib/search/browser/searchView.ts
+2
-8
src/vs/workbench/contrib/search/browser/searchWidget.ts
src/vs/workbench/contrib/search/browser/searchWidget.ts
+3
-10
src/vs/workbench/contrib/terminal/browser/terminalInstance.ts
...vs/workbench/contrib/terminal/browser/terminalInstance.ts
+3
-9
src/vs/workbench/electron-browser/window.ts
src/vs/workbench/electron-browser/window.ts
+1
-1
src/vs/workbench/services/accessibility/node/accessibilityService.ts
...bench/services/accessibility/node/accessibilityService.ts
+4
-14
src/vs/workbench/services/timer/electron-browser/timerService.ts
...workbench/services/timer/electron-browser/timerService.ts
+2
-2
src/vs/workbench/test/workbenchTestServices.ts
src/vs/workbench/test/workbenchTestServices.ts
+2
-2
src/vs/workbench/workbench.web.main.ts
src/vs/workbench/workbench.web.main.ts
+2
-2
未找到文件。
build/builtInExtensions.json
浏览文件 @
d9e4100e
...
...
@@ -16,7 +16,7 @@
},
{
"name"
:
"ms-vscode.node-debug2"
,
"version"
:
"1.42.
0
"
,
"version"
:
"1.42.
1
"
,
"repo"
:
"https://github.com/Microsoft/vscode-node-debug2"
,
"metadata"
:
{
"id"
:
"36d19e17-7569-4841-a001-947eb18602b2"
,
...
...
@@ -46,7 +46,7 @@
},
{
"name"
:
"ms-vscode.js-debug-nightly"
,
"version"
:
"
latest
"
,
"version"
:
"
2020.1.33183
"
,
"forQualities"
:
[
"insider"
],
"repo"
:
"https://github.com/Microsoft/vscode-js-debug"
,
"metadata"
:
{
...
...
src/vs/editor/browser/config/configuration.ts
浏览文件 @
d9e4100e
...
...
@@ -14,7 +14,7 @@ import { CommonEditorConfiguration, IEnvConfiguration } from 'vs/editor/common/c
import
{
EditorOption
,
IEditorConstructionOptions
,
EditorFontLigatures
}
from
'
vs/editor/common/config/editorOptions
'
;
import
{
BareFontInfo
,
FontInfo
}
from
'
vs/editor/common/config/fontInfo
'
;
import
{
IDimension
}
from
'
vs/editor/common/editorCommon
'
;
import
{
IAccessibilityService
}
from
'
vs/platform/accessibility/common/accessibility
'
;
import
{
IAccessibilityService
,
AccessibilitySupport
}
from
'
vs/platform/accessibility/common/accessibility
'
;
class
CSSBasedConfigurationCache
{
...
...
@@ -338,7 +338,7 @@ export class Configuration extends CommonEditorConfiguration {
}
this
.
_register
(
browser
.
onDidChangeZoomLevel
(
_
=>
this
.
_recomputeOptions
()));
this
.
_register
(
this
.
accessibilityService
.
onDidChange
AccessibilitySupport
(()
=>
this
.
_recomputeOptions
()));
this
.
_register
(
this
.
accessibilityService
.
onDidChange
ScreenReaderOptimized
(()
=>
this
.
_recomputeOptions
()));
this
.
_recomputeOptions
();
}
...
...
@@ -379,7 +379,7 @@ export class Configuration extends CommonEditorConfiguration {
emptySelectionClipboard
:
browser
.
isWebKit
||
browser
.
isFirefox
,
pixelRatio
:
browser
.
getPixelRatio
(),
zoomLevel
:
browser
.
getZoomLevel
(),
accessibilitySupport
:
this
.
accessibilityService
.
getAccessibilitySupport
()
accessibilitySupport
:
this
.
accessibilityService
.
isScreenReaderOptimized
()
?
AccessibilitySupport
.
Enabled
:
AccessibilitySupport
.
Disabled
};
}
...
...
src/vs/editor/standalone/browser/standaloneServices.ts
浏览文件 @
d9e4100e
...
...
@@ -45,9 +45,9 @@ import { MenuService } from 'vs/platform/actions/common/menuService';
import
{
IMarkerDecorationsService
}
from
'
vs/editor/common/services/markersDecorationService
'
;
import
{
MarkerDecorationsService
}
from
'
vs/editor/common/services/markerDecorationsServiceImpl
'
;
import
{
IAccessibilityService
}
from
'
vs/platform/accessibility/common/accessibility
'
;
import
{
BrowserAccessibilityService
}
from
'
vs/platform/accessibility/common/accessibilityService
'
;
import
{
ILayoutService
}
from
'
vs/platform/layout/browser/layoutService
'
;
import
{
getSingletonServiceDescriptors
}
from
'
vs/platform/instantiation/common/extensions
'
;
import
{
AccessibilityService
}
from
'
vs/platform/accessibility/common/accessibilityService
'
;
export
interface
IEditorOverrideServices
{
[
index
:
string
]:
any
;
...
...
@@ -192,7 +192,7 @@ export class DynamicStandaloneServices extends Disposable {
let
contextKeyService
=
ensure
(
IContextKeyService
,
()
=>
this
.
_register
(
new
ContextKeyService
(
configurationService
)));
ensure
(
IAccessibilityService
,
()
=>
new
Browser
AccessibilityService
(
contextKeyService
,
configurationService
));
ensure
(
IAccessibilityService
,
()
=>
new
AccessibilityService
(
contextKeyService
,
configurationService
));
ensure
(
IListService
,
()
=>
new
ListService
(
themeService
));
...
...
src/vs/platform/accessibility/common/abstractAccessibilityService.ts
已删除
100644 → 0
浏览文件 @
268f0a22
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import
{
Disposable
}
from
'
vs/base/common/lifecycle
'
;
import
{
IAccessibilityService
,
AccessibilitySupport
,
CONTEXT_ACCESSIBILITY_MODE_ENABLED
}
from
'
vs/platform/accessibility/common/accessibility
'
;
import
{
Event
,
Emitter
}
from
'
vs/base/common/event
'
;
import
{
IContextKey
,
IContextKeyService
}
from
'
vs/platform/contextkey/common/contextkey
'
;
import
{
IConfigurationService
}
from
'
vs/platform/configuration/common/configuration
'
;
export
abstract
class
AbstractAccessibilityService
extends
Disposable
implements
IAccessibilityService
{
_serviceBrand
:
undefined
;
private
_accessibilityModeEnabledContext
:
IContextKey
<
boolean
>
;
protected
readonly
_onDidChangeAccessibilitySupport
=
new
Emitter
<
void
>
();
readonly
onDidChangeAccessibilitySupport
:
Event
<
void
>
=
this
.
_onDidChangeAccessibilitySupport
.
event
;
constructor
(
@
IContextKeyService
private
readonly
_contextKeyService
:
IContextKeyService
,
@
IConfigurationService
private
readonly
_configurationService
:
IConfigurationService
,
)
{
super
();
this
.
_accessibilityModeEnabledContext
=
CONTEXT_ACCESSIBILITY_MODE_ENABLED
.
bindTo
(
this
.
_contextKeyService
);
this
.
_register
(
this
.
_configurationService
.
onDidChangeConfiguration
(
e
=>
{
if
(
e
.
affectsConfiguration
(
'
editor.accessibilitySupport
'
))
{
this
.
_updateContextKey
();
}
}));
this
.
_updateContextKey
();
this
.
onDidChangeAccessibilitySupport
(()
=>
this
.
_updateContextKey
());
}
abstract
alwaysUnderlineAccessKeys
():
Promise
<
boolean
>
;
abstract
getAccessibilitySupport
():
AccessibilitySupport
;
abstract
setAccessibilitySupport
(
accessibilitySupport
:
AccessibilitySupport
):
void
;
private
_updateContextKey
():
void
{
const
detected
=
this
.
getAccessibilitySupport
()
===
AccessibilitySupport
.
Enabled
;
const
config
=
this
.
_configurationService
.
getValue
(
'
editor.accessibilitySupport
'
);
this
.
_accessibilityModeEnabledContext
.
set
(
config
===
'
on
'
||
(
config
===
'
auto
'
&&
detected
));
}
}
\ No newline at end of file
src/vs/platform/accessibility/common/accessibility.ts
浏览文件 @
d9e4100e
...
...
@@ -12,10 +12,10 @@ export const IAccessibilityService = createDecorator<IAccessibilityService>('acc
export
interface
IAccessibilityService
{
_serviceBrand
:
undefined
;
readonly
onDidChange
AccessibilitySupport
:
Event
<
void
>
;
readonly
onDidChange
ScreenReaderOptimized
:
Event
<
void
>
;
alwaysUnderlineAccessKeys
():
Promise
<
boolean
>
;
getAccessibilitySupport
():
AccessibilitySupport
;
isScreenReaderOptimized
():
boolean
;
setAccessibilitySupport
(
accessibilitySupport
:
AccessibilitySupport
):
void
;
}
...
...
src/vs/platform/accessibility/common/accessibilityService.ts
浏览文件 @
d9e4100e
...
...
@@ -3,22 +3,43 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import
{
IAccessibilityService
,
AccessibilitySupport
}
from
'
vs/platform/accessibility/common/accessibility
'
;
import
{
IContextKeyService
}
from
'
vs/platform/contextkey/common/contextkey
'
;
import
{
Disposable
}
from
'
vs/base/common/lifecycle
'
;
import
{
IAccessibilityService
,
AccessibilitySupport
,
CONTEXT_ACCESSIBILITY_MODE_ENABLED
}
from
'
vs/platform/accessibility/common/accessibility
'
;
import
{
Event
,
Emitter
}
from
'
vs/base/common/event
'
;
import
{
IContextKey
,
IContextKeyService
}
from
'
vs/platform/contextkey/common/contextkey
'
;
import
{
IConfigurationService
}
from
'
vs/platform/configuration/common/configuration
'
;
import
{
AbstractAccessibilityService
}
from
'
vs/platform/accessibility/common/abstractAccessibilityService
'
;
export
class
BrowserAccessibilityService
extends
AbstractAccessibilityService
implements
IAccessibilityService
{
export
class
AccessibilityService
extends
Disposable
implements
IAccessibilityService
{
_serviceBrand
:
undefined
;
private
_accessibilitySupport
=
AccessibilitySupport
.
Unknown
;
private
_accessibilityModeEnabledContext
:
IContextKey
<
boolean
>
;
protected
_accessibilitySupport
=
AccessibilitySupport
.
Unknown
;
protected
readonly
_onDidChangeScreenReaderOptimized
=
new
Emitter
<
void
>
();
constructor
(
@
IContextKeyService
readonly
contextKeyService
:
IContextKeyService
,
@
IConfigurationService
readonly
configurationService
:
IConfigurationService
,
@
IContextKeyService
private
readonly
_
contextKeyService
:
IContextKeyService
,
@
IConfigurationService
protected
readonly
_
configurationService
:
IConfigurationService
,
)
{
super
(
contextKeyService
,
configurationService
);
super
();
this
.
_accessibilityModeEnabledContext
=
CONTEXT_ACCESSIBILITY_MODE_ENABLED
.
bindTo
(
this
.
_contextKeyService
);
const
updateContextKey
=
()
=>
this
.
_accessibilityModeEnabledContext
.
set
(
this
.
isScreenReaderOptimized
());
this
.
_register
(
this
.
_configurationService
.
onDidChangeConfiguration
(
e
=>
{
if
(
e
.
affectsConfiguration
(
'
editor.accessibilitySupport
'
))
{
updateContextKey
();
this
.
_onDidChangeScreenReaderOptimized
.
fire
();
}
}));
updateContextKey
();
this
.
onDidChangeScreenReaderOptimized
(()
=>
updateContextKey
());
}
get
onDidChangeScreenReaderOptimized
():
Event
<
void
>
{
return
this
.
_onDidChangeScreenReaderOptimized
.
event
;
}
isScreenReaderOptimized
():
boolean
{
const
config
=
this
.
_configurationService
.
getValue
(
'
editor.accessibilitySupport
'
);
return
config
===
'
on
'
||
(
config
===
'
auto
'
&&
this
.
_accessibilitySupport
===
AccessibilitySupport
.
Enabled
);
}
alwaysUnderlineAccessKeys
():
Promise
<
boolean
>
{
...
...
@@ -31,10 +52,6 @@ export class BrowserAccessibilityService extends AbstractAccessibilityService im
}
this
.
_accessibilitySupport
=
accessibilitySupport
;
this
.
_onDidChangeAccessibilitySupport
.
fire
();
}
getAccessibilitySupport
():
AccessibilitySupport
{
return
this
.
_accessibilitySupport
;
this
.
_onDidChangeScreenReaderOptimized
.
fire
();
}
}
\ No newline at end of file
}
src/vs/platform/list/browser/listService.ts
浏览文件 @
d9e4100e
...
...
@@ -30,7 +30,7 @@ import { ITreeEvent, ITreeRenderer, IAsyncDataSource, IDataSource, ITreeMouseEve
import
{
AsyncDataTree
,
IAsyncDataTreeOptions
,
CompressibleAsyncDataTree
,
ITreeCompressionDelegate
,
ICompressibleAsyncDataTreeOptions
}
from
'
vs/base/browser/ui/tree/asyncDataTree
'
;
import
{
DataTree
,
IDataTreeOptions
}
from
'
vs/base/browser/ui/tree/dataTree
'
;
import
{
IKeyboardNavigationEventFilter
,
IAbstractTreeOptions
,
RenderIndentGuides
}
from
'
vs/base/browser/ui/tree/abstractTree
'
;
import
{
IAccessibilityService
,
AccessibilitySupport
}
from
'
vs/platform/accessibility/common/accessibility
'
;
import
{
IAccessibilityService
}
from
'
vs/platform/accessibility/common/accessibility
'
;
export
type
ListWidget
=
List
<
any
>
|
PagedList
<
any
>
|
ITree
|
ObjectTree
<
any
,
any
>
|
DataTree
<
any
,
any
,
any
>
|
AsyncDataTree
<
any
,
any
,
any
>
;
...
...
@@ -905,7 +905,7 @@ function workbenchTreeDataPreamble<T, TFilterData, TOptions extends IAbstractTre
return
automaticKeyboardNavigation
;
};
const
accessibilityOn
=
accessibilityService
.
getAccessibilitySupport
()
===
AccessibilitySupport
.
Enabled
;
const
accessibilityOn
=
accessibilityService
.
isScreenReaderOptimized
()
;
const
keyboardNavigation
=
accessibilityOn
?
'
simple
'
:
configurationService
.
getValue
<
string
>
(
keyboardNavigationSettingKey
);
const
horizontalScrolling
=
typeof
options
.
horizontalScrolling
!==
'
undefined
'
?
options
.
horizontalScrolling
:
getHorizontalScrollingSetting
(
configurationService
);
const
openOnSingleClick
=
useSingleClickToOpen
(
configurationService
);
...
...
@@ -968,7 +968,7 @@ class WorkbenchTreeInternals<TInput, T, TFilterData> {
const
interestingContextKeys
=
new
Set
();
interestingContextKeys
.
add
(
WorkbenchListAutomaticKeyboardNavigationKey
);
const
updateKeyboardNavigation
=
()
=>
{
const
accessibilityOn
=
accessibilityService
.
getAccessibilitySupport
()
===
AccessibilitySupport
.
Enabled
;
const
accessibilityOn
=
accessibilityService
.
isScreenReaderOptimized
()
;
const
keyboardNavigation
=
accessibilityOn
?
'
simple
'
:
configurationService
.
getValue
<
string
>
(
keyboardNavigationSettingKey
);
tree
.
updateOptions
({
simpleKeyboardNavigation
:
keyboardNavigation
===
'
simple
'
,
...
...
@@ -1022,7 +1022,7 @@ class WorkbenchTreeInternals<TInput, T, TFilterData> {
tree
.
updateOptions
({
automaticKeyboardNavigation
:
getAutomaticKeyboardNavigation
()
});
}
}),
accessibilityService
.
onDidChange
AccessibilitySupport
(()
=>
updateKeyboardNavigation
())
accessibilityService
.
onDidChange
ScreenReaderOptimized
(()
=>
updateKeyboardNavigation
())
);
}
...
...
src/vs/workbench/browser/parts/editor/editorStatus.ts
浏览文件 @
d9e4100e
...
...
@@ -709,7 +709,7 @@ export class EditorStatus extends Disposable implements IWorkbenchContribution {
// We only support text based editors
if
(
editorWidget
)
{
const
screenReaderDetected
=
(
this
.
accessibilityService
.
getAccessibilitySupport
()
===
AccessibilitySupport
.
Enabled
);
const
screenReaderDetected
=
this
.
accessibilityService
.
isScreenReaderOptimized
(
);
if
(
screenReaderDetected
)
{
const
screenReaderConfiguration
=
this
.
configurationService
.
getValue
<
IEditorOptions
>
(
'
editor
'
).
accessibilitySupport
;
if
(
screenReaderConfiguration
===
'
auto
'
)
{
...
...
src/vs/workbench/browser/parts/quickinput/quickInput.ts
浏览文件 @
d9e4100e
...
...
@@ -40,9 +40,8 @@ import { IKeybindingService } from 'vs/platform/keybinding/common/keybinding';
import
{
equals
}
from
'
vs/base/common/arrays
'
;
import
{
TimeoutTimer
}
from
'
vs/base/common/async
'
;
import
{
getIconClass
}
from
'
vs/workbench/browser/parts/quickinput/quickInputUtils
'
;
import
{
IEditorOptions
}
from
'
vs/editor/common/config/editorOptions
'
;
import
{
IStorageService
}
from
'
vs/platform/storage/common/storage
'
;
import
{
IAccessibilityService
,
AccessibilitySupport
}
from
'
vs/platform/accessibility/common/accessibility
'
;
import
{
IAccessibilityService
}
from
'
vs/platform/accessibility/common/accessibility
'
;
import
{
registerSingleton
}
from
'
vs/platform/instantiation/common/extensions
'
;
import
{
registerAndGetAmdImageURL
}
from
'
vs/base/common/amd
'
;
...
...
@@ -1209,7 +1208,7 @@ export class QuickInputService extends Component implements IQuickInputService {
onDidTriggerButton
:
this
.
onDidTriggerButtonEmitter
.
event
,
ignoreFocusOut
:
false
,
keyMods
:
this
.
keyMods
,
isScreenReaderOptimized
:
()
=>
this
.
isScreenReaderOptimized
(),
isScreenReaderOptimized
:
()
=>
this
.
accessibilityService
.
isScreenReaderOptimized
(),
show
:
controller
=>
this
.
show
(
controller
),
hide
:
()
=>
this
.
hide
(),
setVisibilities
:
visibilities
=>
this
.
setVisibilities
(
visibilities
),
...
...
@@ -1465,12 +1464,6 @@ export class QuickInputService extends Component implements IQuickInputService {
}
}
private
isScreenReaderOptimized
()
{
const
detected
=
this
.
accessibilityService
.
getAccessibilitySupport
()
===
AccessibilitySupport
.
Enabled
;
const
config
=
this
.
configurationService
.
getValue
<
IEditorOptions
>
(
'
editor
'
).
accessibilitySupport
;
return
config
===
'
on
'
||
(
config
===
'
auto
'
&&
detected
);
}
private
setEnabled
(
enabled
:
boolean
)
{
if
(
enabled
!==
this
.
enabled
)
{
this
.
enabled
=
enabled
;
...
...
src/vs/workbench/browser/parts/titlebar/menubarControl.ts
浏览文件 @
d9e4100e
...
...
@@ -31,7 +31,7 @@ import { SubmenuAction, Direction } from 'vs/base/browser/ui/menu/menu';
import
{
attachMenuStyler
}
from
'
vs/platform/theme/common/styler
'
;
import
{
assign
}
from
'
vs/base/common/objects
'
;
import
{
mnemonicMenuLabel
,
unmnemonicLabel
}
from
'
vs/base/common/labels
'
;
import
{
IAccessibilityService
,
AccessibilitySupport
}
from
'
vs/platform/accessibility/common/accessibility
'
;
import
{
IAccessibilityService
}
from
'
vs/platform/accessibility/common/accessibility
'
;
import
{
IWorkbenchLayoutService
}
from
'
vs/workbench/services/layout/browser/layoutService
'
;
import
{
isFullscreen
}
from
'
vs/base/browser/browser
'
;
import
{
IHostService
}
from
'
vs/workbench/services/host/browser/host
'
;
...
...
@@ -249,10 +249,8 @@ export abstract class MenubarControl extends Disposable {
const
hasBeenNotified
=
this
.
storageService
.
getBoolean
(
'
menubar/accessibleMenubarNotified
'
,
StorageScope
.
GLOBAL
,
false
);
const
usingCustomMenubar
=
getTitleBarStyle
(
this
.
configurationService
,
this
.
environmentService
)
===
'
custom
'
;
const
detected
=
this
.
accessibilityService
.
getAccessibilitySupport
()
===
AccessibilitySupport
.
Enabled
;
const
config
=
this
.
configurationService
.
getValue
(
'
editor.accessibilitySupport
'
);
if
(
hasBeenNotified
||
usingCustomMenubar
||
!
(
config
===
'
on
'
||
(
config
===
'
auto
'
&&
detected
)
))
{
if
(
hasBeenNotified
||
usingCustomMenubar
||
!
this
.
accessibilityService
.
isScreenReaderOptimized
(
))
{
return
;
}
...
...
src/vs/workbench/contrib/search/browser/searchView.ts
浏览文件 @
d9e4100e
...
...
@@ -55,7 +55,7 @@ import { ACTIVE_GROUP, IEditorService, SIDE_GROUP } from 'vs/workbench/services/
import
{
IPreferencesService
,
ISettingsEditorOptions
}
from
'
vs/workbench/services/preferences/common/preferences
'
;
import
{
ITextFileService
}
from
'
vs/workbench/services/textfile/common/textfiles
'
;
import
{
relativePath
}
from
'
vs/base/common/resources
'
;
import
{
IAccessibilityService
,
AccessibilitySupport
}
from
'
vs/platform/accessibility/common/accessibility
'
;
import
{
IAccessibilityService
}
from
'
vs/platform/accessibility/common/accessibility
'
;
import
{
ViewPane
,
IViewPaneOptions
}
from
'
vs/workbench/browser/parts/views/viewPaneContainer
'
;
import
{
IKeybindingService
}
from
'
vs/platform/keybinding/common/keybinding
'
;
import
{
Memento
,
MementoObject
}
from
'
vs/workbench/common/memento
'
;
...
...
@@ -277,7 +277,7 @@ export class SearchView extends ViewPane {
this
.
_register
(
dom
.
addDisposableListener
(
this
.
toggleQueryDetailsButton
,
dom
.
EventType
.
CLICK
,
e
=>
{
dom
.
EventHelper
.
stop
(
e
);
this
.
toggleQueryDetails
(
!
this
.
isScreenReaderOptimized
());
this
.
toggleQueryDetails
(
!
this
.
accessibilityService
.
isScreenReaderOptimized
());
}));
this
.
_register
(
dom
.
addDisposableListener
(
this
.
toggleQueryDetailsButton
,
dom
.
EventType
.
KEY_UP
,
(
e
:
KeyboardEvent
)
=>
{
const
event
=
new
StandardKeyboardEvent
(
e
);
...
...
@@ -410,12 +410,6 @@ export class SearchView extends ViewPane {
super
.
updateActions
();
}
private
isScreenReaderOptimized
()
{
const
detected
=
this
.
accessibilityService
.
getAccessibilitySupport
()
===
AccessibilitySupport
.
Enabled
;
const
config
=
this
.
configurationService
.
getValue
<
IEditorOptions
>
(
'
editor
'
).
accessibilitySupport
;
return
config
===
'
on
'
||
(
config
===
'
auto
'
&&
detected
);
}
private
createSearchWidget
(
container
:
HTMLElement
):
void
{
const
contentPattern
=
this
.
viewletState
[
'
query.contentPattern
'
]
||
''
;
const
replaceText
=
this
.
viewletState
[
'
query.replaceText
'
]
||
''
;
...
...
src/vs/workbench/contrib/search/browser/searchWidget.ts
浏览文件 @
d9e4100e
...
...
@@ -29,8 +29,7 @@ import { IThemeService } from 'vs/platform/theme/common/themeService';
import
{
ContextScopedFindInput
,
ContextScopedReplaceInput
}
from
'
vs/platform/browser/contextScopedHistoryWidget
'
;
import
{
appendKeyBindingLabel
,
isSearchViewFocused
}
from
'
vs/workbench/contrib/search/browser/searchActions
'
;
import
*
as
Constants
from
'
vs/workbench/contrib/search/common/constants
'
;
import
{
IEditorOptions
}
from
'
vs/editor/common/config/editorOptions
'
;
import
{
IAccessibilityService
,
AccessibilitySupport
}
from
'
vs/platform/accessibility/common/accessibility
'
;
import
{
IAccessibilityService
}
from
'
vs/platform/accessibility/common/accessibility
'
;
import
{
isMacintosh
}
from
'
vs/base/common/platform
'
;
import
{
Checkbox
}
from
'
vs/base/browser/ui/checkbox/checkbox
'
;
import
{
IViewsService
}
from
'
vs/workbench/common/views
'
;
...
...
@@ -186,7 +185,7 @@ export class SearchWidget extends Widget {
this
.
updateAccessibilitySupport
();
}
});
this
.
accessibilityService
.
onDidChange
AccessibilitySupport
(()
=>
this
.
updateAccessibilitySupport
());
this
.
accessibilityService
.
onDidChange
ScreenReaderOptimized
(()
=>
this
.
updateAccessibilitySupport
());
this
.
updateAccessibilitySupport
();
}
...
...
@@ -292,14 +291,8 @@ export class SearchWidget extends Widget {
this
.
renderReplaceInput
(
this
.
domNode
,
options
);
}
private
isScreenReaderOptimized
()
{
const
detected
=
this
.
accessibilityService
.
getAccessibilitySupport
()
===
AccessibilitySupport
.
Enabled
;
const
config
=
this
.
configurationService
.
getValue
<
IEditorOptions
>
(
'
editor
'
).
accessibilitySupport
;
return
config
===
'
on
'
||
(
config
===
'
auto
'
&&
detected
);
}
private
updateAccessibilitySupport
():
void
{
this
.
searchInput
.
setFocusInputOnOptionClick
(
!
this
.
isScreenReaderOptimized
());
this
.
searchInput
.
setFocusInputOnOptionClick
(
!
this
.
accessibilityService
.
isScreenReaderOptimized
());
}
private
renderToggleReplaceButton
(
parent
:
HTMLElement
):
void
{
...
...
src/vs/workbench/contrib/terminal/browser/terminalInstance.ts
浏览文件 @
d9e4100e
...
...
@@ -30,7 +30,7 @@ import { ansiColorIdentifiers, TERMINAL_BACKGROUND_COLOR, TERMINAL_CURSOR_BACKGR
import
{
TerminalConfigHelper
}
from
'
vs/workbench/contrib/terminal/browser/terminalConfigHelper
'
;
import
{
TerminalLinkHandler
}
from
'
vs/workbench/contrib/terminal/browser/terminalLinkHandler
'
;
import
{
IPanelService
}
from
'
vs/workbench/services/panel/common/panelService
'
;
import
{
IAccessibilityService
,
AccessibilitySupport
}
from
'
vs/platform/accessibility/common/accessibility
'
;
import
{
IAccessibilityService
}
from
'
vs/platform/accessibility/common/accessibility
'
;
import
{
ITerminalInstanceService
,
ITerminalInstance
,
TerminalShellType
}
from
'
vs/workbench/contrib/terminal/browser/terminal
'
;
import
{
TerminalProcessManager
}
from
'
vs/workbench/contrib/terminal/browser/terminalProcessManager
'
;
import
{
Terminal
as
XTermTerminal
,
IBuffer
,
ITerminalAddon
}
from
'
xterm
'
;
...
...
@@ -526,12 +526,6 @@ export class TerminalInstance extends Disposable implements ITerminalInstance {
return
xterm
;
}
private
_isScreenReaderOptimized
():
boolean
{
const
detected
=
this
.
_accessibilityService
.
getAccessibilitySupport
()
===
AccessibilitySupport
.
Enabled
;
const
config
=
this
.
_configurationService
.
getValue
(
'
editor.accessibilitySupport
'
);
return
config
===
'
on
'
||
(
config
===
'
auto
'
&&
detected
);
}
public
reattachToElement
(
container
:
HTMLElement
):
void
{
if
(
!
this
.
_wrapperElement
)
{
throw
new
Error
(
'
The terminal instance has not been attached to a container yet
'
);
...
...
@@ -1008,7 +1002,7 @@ export class TerminalInstance extends Disposable implements ITerminalInstance {
// Create the process asynchronously to allow the terminal's container
// to be created so dimensions are accurate
setTimeout
(()
=>
{
this
.
_processManager
.
createProcess
(
this
.
_shellLaunchConfig
,
this
.
_cols
,
this
.
_rows
,
this
.
_isScreenReaderOptimized
());
this
.
_processManager
.
createProcess
(
this
.
_shellLaunchConfig
,
this
.
_cols
,
this
.
_rows
,
this
.
_
accessibilityService
.
isScreenReaderOptimized
());
},
0
);
}
...
...
@@ -1246,7 +1240,7 @@ export class TerminalInstance extends Disposable implements ITerminalInstance {
}
public
updateAccessibilitySupport
():
void
{
const
isEnabled
=
this
.
_isScreenReaderOptimized
();
const
isEnabled
=
this
.
_
accessibilityService
.
isScreenReaderOptimized
();
if
(
isEnabled
)
{
this
.
_navigationModeAddon
=
new
NavigationModeAddon
(
this
.
_terminalA11yTreeFocusContextKey
);
this
.
_xterm
!
.
loadAddon
(
this
.
_navigationModeAddon
);
...
...
src/vs/workbench/electron-browser/window.ts
浏览文件 @
d9e4100e
...
...
@@ -213,7 +213,7 @@ export class ElectronWindow extends Disposable {
KeyboardMapperFactory
.
INSTANCE
.
_onKeyboardLayoutChanged
();
});
//
keyboard layou
t changed event
//
accessibility suppor
t changed event
ipc
.
on
(
'
vscode:accessibilitySupportChanged
'
,
(
event
:
IpcEvent
,
accessibilitySupportEnabled
:
boolean
)
=>
{
this
.
accessibilityService
.
setAccessibilitySupport
(
accessibilitySupportEnabled
?
AccessibilitySupport
.
Enabled
:
AccessibilitySupport
.
Disabled
);
});
...
...
src/vs/workbench/services/accessibility/node/accessibilityService.ts
浏览文件 @
d9e4100e
...
...
@@ -8,7 +8,7 @@ import { isWindows } from 'vs/base/common/platform';
import
{
IWorkbenchEnvironmentService
}
from
'
vs/workbench/services/environment/common/environmentService
'
;
import
{
IContextKeyService
}
from
'
vs/platform/contextkey/common/contextkey
'
;
import
{
IConfigurationService
}
from
'
vs/platform/configuration/common/configuration
'
;
import
{
A
bstractAccessibilityService
}
from
'
vs/platform/accessibility/common/abstractA
ccessibilityService
'
;
import
{
A
ccessibilityService
}
from
'
vs/platform/accessibility/common/a
ccessibilityService
'
;
import
{
registerSingleton
}
from
'
vs/platform/instantiation/common/extensions
'
;
import
{
ITelemetryService
}
from
'
vs/platform/telemetry/common/telemetry
'
;
...
...
@@ -19,11 +19,10 @@ type AccessibilityMetricsClassification = {
enabled
:
{
classification
:
'
SystemMetaData
'
,
purpose
:
'
FeatureInsight
'
};
};
export
class
AccessibilityService
extends
Abstract
AccessibilityService
implements
IAccessibilityService
{
export
class
NodeAccessibilityService
extends
AccessibilityService
implements
IAccessibilityService
{
_serviceBrand
:
undefined
;
private
_accessibilitySupport
=
AccessibilitySupport
.
Unknown
;
private
didSendTelemetry
=
false
;
constructor
(
...
...
@@ -56,22 +55,13 @@ export class AccessibilityService extends AbstractAccessibilityService implement
}
setAccessibilitySupport
(
accessibilitySupport
:
AccessibilitySupport
):
void
{
if
(
this
.
_accessibilitySupport
===
accessibilitySupport
)
{
return
;
}
this
.
_accessibilitySupport
=
accessibilitySupport
;
this
.
_onDidChangeAccessibilitySupport
.
fire
();
super
.
setAccessibilitySupport
(
accessibilitySupport
);
if
(
!
this
.
didSendTelemetry
&&
accessibilitySupport
===
AccessibilitySupport
.
Enabled
)
{
this
.
_telemetryService
.
publicLog2
<
AccessibilityMetrics
,
AccessibilityMetricsClassification
>
(
'
accessibility
'
,
{
enabled
:
true
});
this
.
didSendTelemetry
=
true
;
}
}
getAccessibilitySupport
():
AccessibilitySupport
{
return
this
.
_accessibilitySupport
;
}
}
registerSingleton
(
IAccessibilityService
,
AccessibilityService
,
true
);
registerSingleton
(
IAccessibilityService
,
Node
AccessibilityService
,
true
);
src/vs/workbench/services/timer/electron-browser/timerService.ts
浏览文件 @
d9e4100e
...
...
@@ -17,7 +17,7 @@ import { ILifecycleService } from 'vs/platform/lifecycle/common/lifecycle';
import
{
IViewletService
}
from
'
vs/workbench/services/viewlet/browser/viewlet
'
;
import
{
IPanelService
}
from
'
vs/workbench/services/panel/common/panelService
'
;
import
{
IEditorService
}
from
'
vs/workbench/services/editor/common/editorService
'
;
import
{
IAccessibilityService
,
AccessibilitySupport
}
from
'
vs/platform/accessibility/common/accessibility
'
;
import
{
IAccessibilityService
}
from
'
vs/platform/accessibility/common/accessibility
'
;
/* __GDPR__FRAGMENT__
"IMemoryInfo" : {
...
...
@@ -414,7 +414,7 @@ class TimerService implements ITimerService {
loadavg
,
initialStartup
,
isVMLikelyhood
,
hasAccessibilitySupport
:
this
.
_accessibilityService
.
getAccessibilitySupport
()
===
AccessibilitySupport
.
Enabled
,
hasAccessibilitySupport
:
this
.
_accessibilityService
.
isScreenReaderOptimized
()
,
emptyWorkbench
:
this
.
_contextService
.
getWorkbenchState
()
===
WorkbenchState
.
EMPTY
};
}
...
...
src/vs/workbench/test/workbenchTestServices.ts
浏览文件 @
d9e4100e
...
...
@@ -331,10 +331,10 @@ export class TestAccessibilityService implements IAccessibilityService {
_serviceBrand
:
undefined
;
onDidChange
AccessibilitySupport
=
Event
.
None
;
onDidChange
ScreenReaderOptimized
=
Event
.
None
;
isScreenReaderOptimized
():
boolean
{
return
false
;
}
alwaysUnderlineAccessKeys
():
Promise
<
boolean
>
{
return
Promise
.
resolve
(
false
);
}
getAccessibilitySupport
():
AccessibilitySupport
{
return
AccessibilitySupport
.
Unknown
;
}
setAccessibilitySupport
(
accessibilitySupport
:
AccessibilitySupport
):
void
{
}
}
...
...
src/vs/workbench/workbench.web.main.ts
浏览文件 @
d9e4100e
...
...
@@ -52,7 +52,6 @@ import 'vs/workbench/services/extensionResourceLoader/browser/extensionResourceL
import
{
registerSingleton
}
from
'
vs/platform/instantiation/common/extensions
'
;
import
{
IAccessibilityService
}
from
'
vs/platform/accessibility/common/accessibility
'
;
import
{
BrowserAccessibilityService
}
from
'
vs/platform/accessibility/common/accessibilityService
'
;
import
{
IContextMenuService
}
from
'
vs/platform/contextview/browser/contextView
'
;
import
{
ContextMenuService
}
from
'
vs/platform/contextview/browser/contextMenuService
'
;
import
{
IBackupFileService
}
from
'
vs/workbench/services/backup/common/backup
'
;
...
...
@@ -71,10 +70,11 @@ import { UserDataSyncService } from 'vs/platform/userDataSync/common/userDataSyn
import
{
SettingsSynchroniser
}
from
'
vs/platform/userDataSync/common/settingsSync
'
;
import
{
UserDataAuthTokenService
}
from
'
vs/platform/userDataSync/common/userDataAuthTokenService
'
;
import
{
UserDataAutoSync
}
from
'
vs/platform/userDataSync/common/userDataAutoSync
'
;
import
{
AccessibilityService
}
from
'
vs/platform/accessibility/common/accessibilityService
'
;
registerSingleton
(
IExtensionManagementService
,
ExtensionManagementService
);
registerSingleton
(
IBackupFileService
,
BackupFileService
);
registerSingleton
(
IAccessibilityService
,
Browser
AccessibilityService
,
true
);
registerSingleton
(
IAccessibilityService
,
AccessibilityService
,
true
);
registerSingleton
(
IContextMenuService
,
ContextMenuService
);
registerSingleton
(
ITunnelService
,
TunnelService
,
true
);
registerSingleton
(
ILoggerService
,
FileLoggerService
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录