mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-21 09:08:53 +01:00
Allow Enabling useCodeSnippetsOnMethodSuggest for JS As Well As TS (#16351)
Fixes #13952 **Bug** The `typescript.useCodeSnippetsOnMethodSuggest` setting only applies to Typescript files. I believe it should also apply to JavaScript files. **Fix** Use `typescript.useCodeSnippetsOnMethodSuggest` to control this behavior for js files as well. Also delete unused configuration file. An alternate design would be to add a `javascript.useCodeSnippetsOnMethodSuggest` configuration option, if users really do want to have different behavior between JS and TS.
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
import { CompletionItem, TextDocument, Position, CompletionItemKind, CompletionItemProvider, CancellationToken, WorkspaceConfiguration, TextEdit, Range, SnippetString } from 'vscode';
|
||||
import { CompletionItem, TextDocument, Position, CompletionItemKind, CompletionItemProvider, CancellationToken, WorkspaceConfiguration, TextEdit, Range, SnippetString, workspace } from 'vscode';
|
||||
|
||||
import { ITypescriptServiceClient } from '../typescriptService';
|
||||
|
||||
@@ -87,7 +87,9 @@ export default class TypeScriptCompletionItemProvider implements CompletionItemP
|
||||
}
|
||||
|
||||
public updateConfiguration(config: WorkspaceConfiguration): void {
|
||||
this.config.useCodeSnippetsOnMethodSuggest = config.get(Configuration.useCodeSnippetsOnMethodSuggest, false);
|
||||
// Use shared setting for js and ts
|
||||
let typeScriptConfig = workspace.getConfiguration('typescript');
|
||||
this.config.useCodeSnippetsOnMethodSuggest = typeScriptConfig.get(Configuration.useCodeSnippetsOnMethodSuggest, false);
|
||||
}
|
||||
|
||||
public provideCompletionItems(document: TextDocument, position: Position, token: CancellationToken): Promise<CompletionItem[]> {
|
||||
@@ -162,7 +164,7 @@ export default class TypeScriptCompletionItemProvider implements CompletionItemP
|
||||
item.detail = Previewer.plain(detail.displayParts);
|
||||
}
|
||||
|
||||
if (detail && this.config.useCodeSnippetsOnMethodSuggest && item.kind === CompletionItemKind.Function) {
|
||||
if (detail && this.config.useCodeSnippetsOnMethodSuggest && (item.kind === CompletionItemKind.Function || item.kind === CompletionItemKind.Method)) {
|
||||
let codeSnippet = detail.name;
|
||||
let suggestionArgumentNames: string[];
|
||||
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
'use strict';
|
||||
|
||||
import { workspace } from 'vscode';
|
||||
|
||||
export interface IConfiguration {
|
||||
useCodeSnippetsOnMethodSuggest?: boolean;
|
||||
}
|
||||
|
||||
export var defaultConfiguration: IConfiguration = {
|
||||
useCodeSnippetsOnMethodSuggest: false
|
||||
};
|
||||
|
||||
export function load(myPluginId: string): IConfiguration {
|
||||
let configuration = workspace.getConfiguration(myPluginId);
|
||||
|
||||
let useCodeSnippetsOnMethodSuggest = configuration.get('useCodeSnippetsOnMethodSuggest', defaultConfiguration.useCodeSnippetsOnMethodSuggest);
|
||||
|
||||
return {
|
||||
useCodeSnippetsOnMethodSuggest
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user