提交 566b9b98 编写于 作者: R Ramya Achutha Rao

Exclude recommendations during extension search for file extensions Fixes #43048

上级 7641229d
......@@ -12,7 +12,7 @@ import { assign } from 'vs/base/common/objects';
import { chain } from 'vs/base/common/event';
import { isPromiseCanceledError, create as createError } from 'vs/base/common/errors';
import Severity from 'vs/base/common/severity';
import { PagedModel, IPagedModel, mergePagers, IPager } from 'vs/base/common/paging';
import { PagedModel, IPagedModel, IPager } from 'vs/base/common/paging';
import { IMessageService, CloseAction } from 'vs/platform/message/common/message';
import { SortBy, SortOrder, IQueryOptions, LocalExtensionType, IExtensionTipsService, EnablementState } from 'vs/platform/extensionManagement/common/extensionManagement';
import { areSameExtensions } from 'vs/platform/extensionManagement/common/extensionManagementUtil';
......@@ -214,15 +214,11 @@ export class ExtensionsListView extends ViewsViewletPanel {
return this.getRecommendationsModel(query, options);
}
const pagerPromises: TPromise<IPager<IExtension>>[] = [];
let text = query.value;
const extensionRegex = /\bext:([^\s]+)\b/g;
if (extensionRegex.test(query.value)) {
let names: string[] = [];
text = query.value.replace(extensionRegex, (m, ext) => {
names.push(...this.tipsService.getRecommendationsForExtension(ext));
// Get curated keywords
const keywords = this.tipsService.getKeywordsForExtension(ext);
......@@ -236,9 +232,10 @@ export class ExtensionsListView extends ViewsViewletPanel {
return `tag:"__ext_${ext}" tag:"__ext_.${ext}" ${keywords.map(tag => `tag:"${tag}"`).join(' ')}${languageTag} tag:"${ext}"`;
});
if (names.length) {
const namesOptions = assign({}, options, { names, source: 'extRegex' });
pagerPromises.push(this.extensionsWorkbenchService.queryGallery(namesOptions));
if (text !== query.value) {
options = assign(options, { text: text.substr(0, 350), source: 'file-extension-tags' });
const pager = await this.extensionsWorkbenchService.queryGallery(options);
return new PagedModel(pager);
}
}
......@@ -248,11 +245,7 @@ export class ExtensionsListView extends ViewsViewletPanel {
options.source = 'viewlet';
}
pagerPromises.push(this.extensionsWorkbenchService.queryGallery(options));
const pagers = await TPromise.join(pagerPromises);
const pager = pagers.length === 2 ? mergePagers(pagers[0], pagers[1]) : pagers[0];
const pager = await this.extensionsWorkbenchService.queryGallery(options);
return new PagedModel(pager);
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册