diff --git a/src/vs/editor/contrib/snippet/snippetSession.ts b/src/vs/editor/contrib/snippet/snippetSession.ts index a7809b5c692..717b223cb4a 100644 --- a/src/vs/editor/contrib/snippet/snippetSession.ts +++ b/src/vs/editor/contrib/snippet/snippetSession.ts @@ -450,7 +450,7 @@ export class SnippetSession { modelBasedVariableResolver, new ClipboardBasedVariableResolver(readClipboardText, idx, indexedSelections.length, editor.getOption(EditorOption.multiCursorPaste) === 'spread'), new SelectionBasedVariableResolver(model, selection), - new CommentBasedVariableResolver(model), + new CommentBasedVariableResolver(model, selection), new TimeBasedVariableResolver, new WorkspaceBasedVariableResolver(workspaceService), new RandomBasedVariableResolver, diff --git a/src/vs/editor/contrib/snippet/snippetVariables.ts b/src/vs/editor/contrib/snippet/snippetVariables.ts index e614ec9cfee..3253898bdee 100644 --- a/src/vs/editor/contrib/snippet/snippetVariables.ts +++ b/src/vs/editor/contrib/snippet/snippetVariables.ts @@ -208,14 +208,15 @@ export class ClipboardBasedVariableResolver implements VariableResolver { } export class CommentBasedVariableResolver implements VariableResolver { constructor( - private readonly _model: ITextModel + private readonly _model: ITextModel, + private readonly _selection: Selection ) { // } resolve(variable: Variable): string | undefined { const { name } = variable; - const language = this._model.getLanguageIdentifier(); - const config = LanguageConfigurationRegistry.getComments(language.id); + const langId = this._model.getLanguageIdAtPosition(this._selection.selectionStartLineNumber, this._selection.selectionStartColumn); + const config = LanguageConfigurationRegistry.getComments(langId); if (!config) { return undefined; }