Я создал расширение vscode, используя машинописный текст. Обычно я бы уменьшал проблему до наименьшего возможного куска кода, но всякий раз, когда я пытаюсь это сделать, проблема исчезает.
Всякий раз, когда я пытаюсь запустить расширение (нажав Ctrl + Shift + P и выбрав команду моего расширения), я получаю сообщение об ошибке: (имя изменено)
Activating extension 'undefined_publisher.extension-name' failed: Unexpected token {.
Или, в предыдущих версиях кода, когда я впервые столкнулся с ошибкой, ... Unexpected token ,.
Ошибка не указывает, какая строка или даже какой файл содержит неожиданный токен. Я попытался запустить отладчик для кода, который загружает расширение (vscode devtools), но я не смог найти какой-либо очевидный «текущий файл» или что-то подобное в стеке вызовов.
Как мне вообще начать отладить это?
package.json
: (имя изменено)
{
"name": "extension-name",
"displayName": "Extension Name",
"description": "Extension Descripton",
"version": "0.0.1",
"engines": {
"vscode": "^1.41.0"
},
"categories": [
"Other"
],
"activationEvents": [
"onCommand:extension-name.start"
],
"main": "./out/extension.js",
"contributes": {
"commands": [
{
"command": "extension-name.start",
"title": "Open a Extension Name window"
}
]
},
"scripts": {
"vscode:prepublish": "npm run compile",
"compile": "tsc -p ./",
"watch": "tsc -watch -p ./",
"pretest": "npm run compile",
"test": "node ./out/test/runTest.js"
},
"devDependencies": {
"@types/glob": "^7.1.1",
"@types/mocha": "^5.2.7",
"@types/node": "^12.11.7",
"@types/vscode": "^1.41.0",
"awesome-typescript-loader": "^5.2.1",
"glob": "^7.1.5",
"html-loader": "^0.5.5",
"mocha": "^6.2.2",
"tslint": "^5.20.0",
"typescript": "^3.6.4",
"vscode-test": "^1.2.2",
"webpack": "^4.41.2",
"webpack-cli": "^3.3.9"
},
"dependencies": {
"cerialize": "^0.1.18",
"ts_common": "file:../ts_common"
},
"private": true
}
tsconfig.json
:
{
"compilerOptions": {
"module": "commonjs",
"target": "es2016",
"outDir": "out",
"lib": [
"es2018",
"dom"
],
"sourceMap": true,
//"rootDir": "src",
"typeRoots": ["node_modules/@types"],
"strict": true, /* enable all strict type-checking options */
/* Additional Checks */
"noImplicitReturns": true, /* Report error when not all code paths in function return a value. */
"noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */
// "noUnusedParameters": true, /* Report errors on unused parameters. */
},
"awesomeTypescriptLoaderOptions": {
"useCache": true,
"isolatedModules": true,
//"transpileOnly": true, // This is about a 2x speedup to compilation but disable type errors/warnings
"reportFiles": [
"src/**/*.{ts,tsx}"
]
},
"include": [
"./src/"
]/*,
"exclude": [
"node_modules",
"../ts_common",
"./dist",
".vscode-test"
]*/
}