Синтаксическая ошибка: невозможно использовать оператор импорта вне модуля - PullRequest
0 голосов
/ 19 апреля 2020

Я получаю это сообщение об ошибке, когда пытаюсь запустить отладчик в VS C. Может кто-нибудь, пожалуйста, помогите? Вот снимок экрана:

Я довольно плохо знаком с программированием и, следуя курсу, пожалуйста, держите объяснения очень основательно c, где это возможно ..

enter image description here

Вот код для файла JS. Я создал базовое расширение кода Visual Studio c с использованием кода Yo и NPM.

    // The module 'vscode' contains the VS Code extensibility API
// Import the module and reference it with the alias vscode in your code below
import { commands, window } from 'vscode';

// this method is called when your extension is activated
// your extension is activated the very first time the command is executed

/**
 * @param {vscode.ExtensionContext} context
 */
function activate(context) {

// Use the console to output diagnostic information (console.log) and errors (console.error)
    // This line of code will only be executed once when your extension is 
    activated
    console.log('Congratulations, your extension "content-helper" is now 
    active!');

    // The command has been defined in the package.json file
    // Now provide the implementation of the command with  registerCommand
    // The commandId parameter must match the command field in package.json
    let disposable = commands.registerCommand('extension.helloWorld', function () {
        // The code you place here will be executed every time your command is executed

        // Display a message box to the user
        window.showInformationMessage('Hello World!');
    });

    context.subscriptions.push(disposable);
}
const _activate = activate;
export { _activate as activate };

// this method is called when your extension is deactivated
function deactivate() {}

export default {
    activate,
    deactivate
}

1 Ответ

0 голосов
/ 20 апреля 2020

VS расширения кода запускаются в среде Node, которая изначально не поддерживает модули (поэтому нет import и export).

yo code использует import только при создании расширения TypeScript. Для js расширений yo code вместо этого использует require:

const vscode = require('vscode');

Чтобы использовать import в расширении кода VS, вы должны скомпилировать код до целевого узла, используя TypeScript или инструмент, такой как webpack

...