mirror of
https://github.com/microsoft/vscode.git
synced 2026-05-23 08:39:54 +01:00
Use Workspace Extension category
This commit is contained in:
@@ -120,43 +120,46 @@ export function getMaliciousExtensionsSet(report: IReportedExtension[]): Set<str
|
||||
return result;
|
||||
}
|
||||
|
||||
const workspaceExtensions = new Set<string>();
|
||||
[
|
||||
'vscode.extension-editing',
|
||||
'vscode.configuration-editing',
|
||||
'vscode.search-rg',
|
||||
'vscode.css-language-features',
|
||||
'vscode.git',
|
||||
'vscode.grunt',
|
||||
'vscode.gulp',
|
||||
'vscode.html-language-features',
|
||||
'vscode.json-language-features',
|
||||
'vscode.markdown-language-features',
|
||||
'vscode.npm',
|
||||
'vscode.php-language-features',
|
||||
'vscode.typescript-language-features',
|
||||
'ms-vscode.node-debug',
|
||||
'ms-vscode.node-debug2',
|
||||
'ms-python.python',
|
||||
'eg2.tslint',
|
||||
'dbaeumer.vscode-eslint',
|
||||
'eamodio.gitlens'
|
||||
].forEach(extension => workspaceExtensions.add(extension));
|
||||
|
||||
export function isWorkspaceExtension(manifest: IExtensionManifest, configurationService: IConfigurationService): boolean {
|
||||
const extensionId = getGalleryExtensionId(manifest.publisher, manifest.name);
|
||||
const workspaceExtensions = configurationService.getValue<string[]>('_workbench.workspaceExtensions') || [];
|
||||
if (workspaceExtensions.length) {
|
||||
if (workspaceExtensions.indexOf(extensionId) !== -1) {
|
||||
const configuredWorkspaceExtensions = configurationService.getValue<string[]>('_workbench.workspaceExtensions') || [];
|
||||
if (configuredWorkspaceExtensions.length) {
|
||||
if (configuredWorkspaceExtensions.indexOf(extensionId) !== -1) {
|
||||
return true;
|
||||
}
|
||||
if (workspaceExtensions.indexOf(`-${extensionId}`) !== -1) {
|
||||
if (configuredWorkspaceExtensions.indexOf(`-${extensionId}`) !== -1) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (manifest.main) {
|
||||
if ((manifest.keywords || []).indexOf('capability_fs') !== -1) {
|
||||
if ((manifest.categories || []).indexOf('Workspace Extension') !== -1) {
|
||||
return true;
|
||||
}
|
||||
return [
|
||||
'vscode.extension-editing',
|
||||
'vscode.configuration-editing',
|
||||
'vscode.search-rg',
|
||||
'vscode.css-language-features',
|
||||
'vscode.git',
|
||||
'vscode.grunt',
|
||||
'vscode.gulp',
|
||||
'vscode.html-language-features',
|
||||
'vscode.json-language-features',
|
||||
'vscode.markdown-language-features',
|
||||
'vscode.npm',
|
||||
'vscode.php-language-features',
|
||||
'vscode.typescript-language-features',
|
||||
'ms-vscode.node-debug',
|
||||
'ms-vscode.node-debug2',
|
||||
'ms-python.python',
|
||||
'eg2.tslint',
|
||||
'dbaeumer.vscode-eslint',
|
||||
'eamodio.gitlens'
|
||||
].indexOf(extensionId) !== -1;
|
||||
return workspaceExtensions.has(extensionId);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
Reference in New Issue
Block a user