mirror of
https://github.com/Microsoft/vscode
synced 2024-10-01 08:50:48 +00:00
Don't register js/ts paste provider if setting is off (#216168)
This commit is contained in:
parent
3a682a623b
commit
61eba45dc4
|
@ -1316,14 +1316,14 @@
|
|||
"scope": "window"
|
||||
},
|
||||
"javascript.experimental.updateImportsOnPaste": {
|
||||
"scope": "resource",
|
||||
"scope": "window",
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "%configuration.updateImportsOnPaste%",
|
||||
"tags": ["experimental"]
|
||||
},
|
||||
"typescript.experimental.updateImportsOnPaste": {
|
||||
"scope": "resource",
|
||||
"scope": "window",
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "%configuration.updateImportsOnPaste%",
|
||||
|
|
|
@ -7,7 +7,7 @@ import * as vscode from 'vscode';
|
|||
import { DocumentSelector } from '../configuration/documentSelector';
|
||||
import * as typeConverters from '../typeConverters';
|
||||
import { ClientCapability, ITypeScriptServiceClient } from '../typescriptService';
|
||||
import { conditionalRegistration, requireMinVersion, requireSomeCapability } from './util/dependentRegistration';
|
||||
import { conditionalRegistration, requireGlobalConfiguration, requireMinVersion, requireSomeCapability } from './util/dependentRegistration';
|
||||
import protocol from '../tsServer/protocol/protocol';
|
||||
import { API } from '../tsServer/api';
|
||||
import { LanguageDescription } from '../configuration/languageDescription';
|
||||
|
@ -38,6 +38,8 @@ class CopyMetadata {
|
|||
}
|
||||
}
|
||||
|
||||
const settingId = 'experimental.updateImportsOnPaste';
|
||||
|
||||
class DocumentPasteProvider implements vscode.DocumentPasteEditProvider {
|
||||
|
||||
static readonly kind = vscode.DocumentDropOrPasteEditKind.Empty.append('text', 'jsts', 'pasteWithImports');
|
||||
|
@ -61,7 +63,7 @@ class DocumentPasteProvider implements vscode.DocumentPasteEditProvider {
|
|||
token: vscode.CancellationToken,
|
||||
): Promise<vscode.DocumentPasteEdit[] | undefined> {
|
||||
const config = vscode.workspace.getConfiguration(this._modeId, document.uri);
|
||||
if (!config.get('experimental.updateImportsOnPaste', false)) {
|
||||
if (!config.get(settingId, false)) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -131,6 +133,7 @@ export function register(selector: DocumentSelector, language: LanguageDescripti
|
|||
return conditionalRegistration([
|
||||
requireSomeCapability(client, ClientCapability.Semantic),
|
||||
requireMinVersion(client, API.v560),
|
||||
requireGlobalConfiguration(language.id, settingId),
|
||||
], () => {
|
||||
return vscode.languages.registerDocumentPasteEditProvider(selector.semantic, new DocumentPasteProvider(language.id, client), {
|
||||
providedPasteEditKinds: [DocumentPasteProvider.kind],
|
||||
|
|
Loading…
Reference in a new issue