Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
掘金者说
vscode
提交
8ad01f20
V
vscode
项目概览
掘金者说
/
vscode
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vscode
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
8ad01f20
编写于
8月 28, 2018
作者:
R
Rob Lourens
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix #57359 - remote "Report Issue" button in prefs search
上级
8be59ce6
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
0 addition
and
91 deletion
+0
-91
src/vs/workbench/parts/preferences/browser/preferencesRenderers.ts
...rkbench/parts/preferences/browser/preferencesRenderers.ts
+0
-91
未找到文件。
src/vs/workbench/parts/preferences/browser/preferencesRenderers.ts
浏览文件 @
8ad01f20
...
...
@@ -6,7 +6,6 @@
import
{
ContextSubMenu
}
from
'
vs/base/browser/contextmenu
'
;
import
{
getDomNodePagePosition
}
from
'
vs/base/browser/dom
'
;
import
{
IAction
}
from
'
vs/base/common/actions
'
;
import
*
as
arrays
from
'
vs/base/common/arrays
'
;
import
{
Delayer
}
from
'
vs/base/common/async
'
;
import
{
Emitter
,
Event
}
from
'
vs/base/common/event
'
;
import
{
IJSONSchema
}
from
'
vs/base/common/jsonSchema
'
;
...
...
@@ -24,9 +23,7 @@ import { ConfigurationTarget, IConfigurationService, overrideIdentifierFromKey }
import
{
ConfigurationScope
,
Extensions
as
ConfigurationExtensions
,
IConfigurationPropertySchema
,
IConfigurationRegistry
}
from
'
vs/platform/configuration/common/configurationRegistry
'
;
import
{
IContextMenuService
}
from
'
vs/platform/contextview/browser/contextView
'
;
import
{
IEnvironmentService
}
from
'
vs/platform/environment/common/environment
'
;
import
{
ILocalExtension
}
from
'
vs/platform/extensionManagement/common/extensionManagement
'
;
import
{
IInstantiationService
}
from
'
vs/platform/instantiation/common/instantiation
'
;
import
{
ISettingSearchResult
,
ISettingsSearchIssueReporterData
,
IssueType
}
from
'
vs/platform/issue/common/issue
'
;
import
{
INotificationService
}
from
'
vs/platform/notification/common/notification
'
;
import
{
Registry
}
from
'
vs/platform/registry/common/platform
'
;
import
{
ITelemetryService
}
from
'
vs/platform/telemetry/common/telemetry
'
;
...
...
@@ -35,7 +32,6 @@ import { RangeHighlightDecorations } from 'vs/workbench/browser/parts/editor/ran
import
{
DefaultSettingsHeaderWidget
,
EditPreferenceWidget
,
FloatingClickWidget
,
SettingsGroupTitleWidget
,
SettingsHeaderWidget
}
from
'
vs/workbench/parts/preferences/browser/preferencesWidgets
'
;
import
{
IWorkbenchSettingsConfiguration
}
from
'
vs/workbench/parts/preferences/common/preferences
'
;
import
{
IEditorService
,
SIDE_GROUP
}
from
'
vs/workbench/services/editor/common/editorService
'
;
import
{
IWorkbenchIssueService
}
from
'
vs/workbench/services/issue/common/issue
'
;
import
{
IFilterResult
,
IPreferencesEditorModel
,
IPreferencesService
,
IScoredResults
,
ISetting
,
ISettingsEditorModel
,
ISettingsGroup
}
from
'
vs/workbench/services/preferences/common/preferences
'
;
import
{
DefaultSettingsEditorModel
,
SettingsEditorModel
,
WorkspaceConfigurationEditorModel
}
from
'
vs/workbench/services/preferences/common/preferencesModels
'
;
...
...
@@ -239,7 +235,6 @@ export class DefaultSettingsRenderer extends Disposable implements IPreferencesR
private
filteredMatchesRenderer
:
FilteredMatchesRenderer
;
private
hiddenAreasRenderer
:
HiddenAreasRenderer
;
private
editSettingActionRenderer
:
EditSettingRenderer
;
private
issueWidgetRenderer
:
IssueWidgetRenderer
;
private
feedbackWidgetRenderer
:
FeedbackWidgetRenderer
;
private
bracesHidingRenderer
:
BracesHidingRenderer
;
private
filterResult
:
IFilterResult
;
...
...
@@ -264,7 +259,6 @@ export class DefaultSettingsRenderer extends Disposable implements IPreferencesR
this
.
settingsGroupTitleRenderer
=
this
.
_register
(
instantiationService
.
createInstance
(
SettingsGroupTitleRenderer
,
editor
));
this
.
filteredMatchesRenderer
=
this
.
_register
(
instantiationService
.
createInstance
(
FilteredMatchesRenderer
,
editor
));
this
.
editSettingActionRenderer
=
this
.
_register
(
instantiationService
.
createInstance
(
EditSettingRenderer
,
editor
,
preferencesModel
,
this
.
settingHighlighter
));
this
.
issueWidgetRenderer
=
this
.
_register
(
instantiationService
.
createInstance
(
IssueWidgetRenderer
,
editor
));
this
.
feedbackWidgetRenderer
=
this
.
_register
(
instantiationService
.
createInstance
(
FeedbackWidgetRenderer
,
editor
));
this
.
bracesHidingRenderer
=
this
.
_register
(
instantiationService
.
createInstance
(
BracesHidingRenderer
,
editor
,
preferencesModel
));
this
.
hiddenAreasRenderer
=
this
.
_register
(
instantiationService
.
createInstance
(
HiddenAreasRenderer
,
editor
,
[
this
.
settingsGroupTitleRenderer
,
this
.
filteredMatchesRenderer
,
this
.
bracesHidingRenderer
]));
...
...
@@ -286,7 +280,6 @@ export class DefaultSettingsRenderer extends Disposable implements IPreferencesR
public
render
()
{
this
.
settingsGroupTitleRenderer
.
render
(
this
.
preferencesModel
.
settingsGroups
);
this
.
editSettingActionRenderer
.
render
(
this
.
preferencesModel
.
settingsGroups
,
this
.
_associatedPreferencesModel
);
this
.
issueWidgetRenderer
.
render
(
null
);
this
.
feedbackWidgetRenderer
.
render
(
null
);
this
.
settingHighlighter
.
clear
(
true
);
this
.
bracesHidingRenderer
.
render
(
null
,
this
.
preferencesModel
.
settingsGroups
);
...
...
@@ -322,11 +315,9 @@ export class DefaultSettingsRenderer extends Disposable implements IPreferencesR
private
renderIssueWidget
(
filterResult
:
IFilterResult
):
void
{
const
workbenchSettings
=
this
.
configurationService
.
getValue
<
IWorkbenchSettingsConfiguration
>
().
workbench
.
settings
;
if
(
workbenchSettings
.
enableNaturalLanguageSearchFeedback
)
{
this
.
issueWidgetRenderer
.
render
(
null
);
this
.
feedbackWidgetRenderer
.
render
(
filterResult
);
}
else
{
this
.
feedbackWidgetRenderer
.
render
(
null
);
this
.
issueWidgetRenderer
.
render
(
filterResult
);
}
}
...
...
@@ -771,88 +762,6 @@ export class FeedbackWidgetRenderer extends Disposable {
}
}
export
class
IssueWidgetRenderer
extends
Disposable
{
private
_issueWidget
:
FloatingClickWidget
;
private
_currentResult
:
IFilterResult
;
constructor
(
private
editor
:
ICodeEditor
,
@
IInstantiationService
private
instantiationService
:
IInstantiationService
,
@
IWorkbenchIssueService
private
issueService
:
IWorkbenchIssueService
,
@
IEnvironmentService
private
environmentService
:
IEnvironmentService
)
{
super
();
}
public
render
(
result
:
IFilterResult
):
void
{
this
.
_currentResult
=
result
;
if
(
result
&&
result
.
metadata
&&
this
.
environmentService
.
appQuality
!==
'
stable
'
)
{
this
.
showWidget
();
}
else
if
(
this
.
_issueWidget
)
{
this
.
disposeWidget
();
}
}
private
showWidget
():
void
{
if
(
!
this
.
_issueWidget
)
{
this
.
_issueWidget
=
this
.
_register
(
this
.
instantiationService
.
createInstance
(
FloatingClickWidget
,
this
.
editor
,
nls
.
localize
(
'
reportSettingsSearchIssue
'
,
"
Report Issue
"
),
null
));
this
.
_register
(
this
.
_issueWidget
.
onClick
(()
=>
this
.
showIssueReporter
()));
this
.
_issueWidget
.
render
();
}
}
private
showIssueReporter
():
TPromise
<
void
>
{
const
nlpMetadata
=
this
.
_currentResult
.
metadata
[
'
nlpResult
'
];
const
results
=
nlpMetadata
.
scoredResults
;
const
enabledExtensions
=
nlpMetadata
.
extensions
;
const
issueResults
=
Object
.
keys
(
results
)
.
map
(
key
=>
(
<
ISettingSearchResult
>
{
key
:
key
.
split
(
'
##
'
)[
1
],
extensionId
:
results
[
key
].
packageId
===
'
core
'
?
'
core
'
:
this
.
getExtensionIdByGuid
(
enabledExtensions
,
results
[
key
].
packageId
),
score
:
results
[
key
].
score
}))
.
slice
(
0
,
20
);
const
issueReporterData
:
Partial
<
ISettingsSearchIssueReporterData
>
=
{
enabledExtensions
,
issueType
:
IssueType
.
SettingsSearchIssue
,
actualSearchResults
:
issueResults
,
filterResultCount
:
this
.
getFilterResultCount
(),
query
:
this
.
_currentResult
.
query
};
return
this
.
issueService
.
openReporter
(
issueReporterData
);
}
private
getFilterResultCount
():
number
{
const
filterResultGroup
=
arrays
.
first
(
this
.
_currentResult
.
filteredGroups
,
group
=>
group
.
id
===
'
filterResult
'
);
return
filterResultGroup
?
filterResultGroup
.
sections
[
0
].
settings
.
length
:
0
;
}
private
getExtensionIdByGuid
(
extensions
:
ILocalExtension
[],
guid
:
string
):
string
{
const
match
=
arrays
.
first
(
extensions
,
ext
=>
ext
.
identifier
.
uuid
===
guid
);
// identifier.id includes the version, not needed here
return
match
&&
`
${
match
.
manifest
.
publisher
}
.
${
match
.
manifest
.
name
}
`
;
}
private
disposeWidget
():
void
{
if
(
this
.
_issueWidget
)
{
this
.
_issueWidget
.
dispose
();
this
.
_issueWidget
=
null
;
}
}
public
dispose
()
{
this
.
disposeWidget
();
super
.
dispose
();
}
}
export
class
FilteredMatchesRenderer
extends
Disposable
implements
HiddenAreasProvider
{
private
decorationIds
:
string
[]
=
[];
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录