VS Code предупреждающее сообщение при активации расширения - PullRequest
0 голосов
/ 18 февраля 2020

Мой и другое расширение слились, и для устаревшего расширения мы проходим и проверяем, что пользователи будут хорошо информированы о слиянии. Одна вещь, которую я хотел бы сделать, чтобы сделать вещи очевидными, это сделать предупреждение об активации устаревшего расширения.

В package.json я добавил

    "activationEvents": [
        "onLanguage:ada",
        "onLanguage:adc",
        "onLanguage:ali",
        "onLanguage:gpr"
    ],
    "main": "./out/extension.js",

И имейте extension.ts со следующим:

import * as vscode from 'vscode';

export function activate(context: vscode.ExtensionContext) {
    vscode.window.showWarningMessage('Hello World!');
}

export function deactivate() {}

Но предупреждающее сообщение не появляется. Я попытался заменить это оператором записи в консоль, и, конечно же, я получил зарегистрированное сообщение на хосте отладки, поэтому он, безусловно, выполняет функцию activate(). Тогда я снова попытался показать предупреждение, установил некоторые контрольные точки и запустил его. Он пропустил прямо над функцией предупреждающего сообщения. Затем я поместил в функцию журнал консоли и предупреждающее сообщение, установил точки останова для обоих и запустил его. Он отлично выполнил консольный журнал, затем точки останова «переместились», пропустили сразу над предупреждающим сообщением и завершили функцию.

Я не очень хорошо знаю javascript / typcript, так что это полностью странное поведение для меня. Я знаю, что подъем может привести к тому, что переменные будут фактически объявлены в разных местах, откуда они написаны, но я знаю о похожих правилах выполнения функций. Кажется, что независимо от того, что я делаю, он не достигнет функции предупреждающего сообщения, даже если это должно , с моей точки зрения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...