diff --git a/src/vs/workbench/parts/preferences/browser/preferencesRenderers.ts b/src/vs/workbench/parts/preferences/browser/preferencesRenderers.ts index 6aa2f3fcbcc9dabea0cf47ca3a122e242e29f089..8d3cf121ea1fad5e0fdaad3203417f2406771102 100644 --- a/src/vs/workbench/parts/preferences/browser/preferencesRenderers.ts +++ b/src/vs/workbench/parts/preferences/browser/preferencesRenderers.ts @@ -604,7 +604,8 @@ export class FeedbackWidgetRenderer extends Disposable { } const result = this._currentResult; - const actualResultNames = Object.keys(result.metadata.scoredResults); + const actualResults = result.metadata.scoredResults; + const actualResultNames = Object.keys(actualResults); const feedbackQuery: any = {}; feedbackQuery['comment'] = FeedbackWidgetRenderer.DEFAULT_COMMENT_TEXT; @@ -615,7 +616,10 @@ export class FeedbackWidgetRenderer extends Disposable { }); feedbackQuery['alts'] = []; - const contents = FeedbackWidgetRenderer.INSTRUCTION_TEXT + '\n' + JSON.stringify(feedbackQuery, undefined, ' '); + const contents = FeedbackWidgetRenderer.INSTRUCTION_TEXT + '\n' + + JSON.stringify(feedbackQuery, undefined, ' ') + '\n\n' + + actualResultNames.map(name => `// ${name}: ${result.metadata.scoredResults[name]}`).join('\n'); + this.editorService.openEditor({ contents, language: 'json' }, /*sideBySide=*/true).then(feedbackEditor => { const sendFeedbackWidget = this._register(this.instantiationService.createInstance(FloatingClickWidget, feedbackEditor.getControl(), 'Send feedback', null)); sendFeedbackWidget.render(); diff --git a/src/vs/workbench/parts/preferences/browser/preferencesSearch.ts b/src/vs/workbench/parts/preferences/browser/preferencesSearch.ts index 81b544c8306e8c9c784a03ecb840670efd9573a6..3ff00898471eb98262bfed8cb050909852b3f6f4 100644 --- a/src/vs/workbench/parts/preferences/browser/preferencesSearch.ts +++ b/src/vs/workbench/parts/preferences/browser/preferencesSearch.ts @@ -130,7 +130,12 @@ class RemoteSearchProvider { }; if (remoteResult) { - const sortedNames = Object.keys(remoteResult.scoredResults).sort((a, b) => remoteResult.scoredResults[b] - remoteResult.scoredResults[a]); + let sortedNames = Object.keys(remoteResult.scoredResults).sort((a, b) => remoteResult.scoredResults[b] - remoteResult.scoredResults[a]); + if (sortedNames.length) { + const highScore = remoteResult.scoredResults[sortedNames[0]]; + sortedNames = sortedNames.filter(name => remoteResult.scoredResults[name] >= highScore / 2); + } + const result = preferencesModel.filterSettings(this._filter, group => null, settingFilter, sortedNames); result.metadata = remoteResult; return result;