我有一个语言服务器插件,它是从不再在我们公司的开发人员那里继承的。它发布在 vscode 市场。它工作得还不错,有问题,但至少做了一些事情。
现在,当我获取了 repo 并进行了所需的修复并发布了新版本的市场时,它拒绝做任何事情。只是保持灰色,旁边有那个“重新加载”按钮。
我对它做了什么:
- 对 server.ts 做了一些小调整
- 更改了出版商名称(他有自己的出版商名称,我们没有它的凭据)
- 碰撞版本号
它在调试模式下工作得很好,并且发布它不会给出任何错误或警告。我还收到了来自微软的“扩展已审核”电子邮件。我还卸载了以前的插件。
我还尝试了以下零帮助:
- 在新系统上完全全新安装
- 将语言扩展名更改为旧插件中的其他内容
奇怪的是,现在我无法让原始版本的插件工作。即,当我从 github 拉出旧的,更改发布者信息并发布它时,我得到相同的结果。没有错误 - 在调试模式下一切正常 - vscode 市场接受它 - 但没有任何效果。
我也找不到任何方法从插件和提示中获取任何调试信息,也将不胜感激。
这是来自根 w 名称的 package.json 已更改。原版是 1:1 相同的,除了版本和出版商名称。server/ 和 client/ 下的版本号等也已更改。
{
"name": "my-plugin",
"description": "foo",
"author": "bar",
"license": "MIT",
"version": "1.2.3",
"publisher": "bar",
"engines": {
"vscode": "^1.16.0"
},
"contributes": {
"languages": [
{
"id": "baz",
"aliases": [
"baz"
],
"extensions": [
".baz"
]
}
],
"grammars": [
{
"language": "baz",
"scopeName": "source.baz",
"path": "./client/syntaxes/baz.tmLanguage"
}
]
},
"activationEvents": [
"onLanguage:baz"
],
"repository": {
"type": "git",
"url": "https://github.com/bar/quux"
},
"scripts": {
"postinstall": "cd server && npm install && cd ../client && npm install && cd ..",
"compile": "tsc -p client/tsconfig.json && cd server && npm run installServer && cd .. && tsc -p server/tsconfig.json",
"compile:client": "tsc -p client/tsconfig.json",
"watch:client": "tsc -w -p client/tsconfig.json",
"compile:server": "cd server && npm run installServer && cd .. && tsc -p server/tsconfig.json",
"watch:server": "cd server && npm run installServer && cd .. && tsc -w -p server/tsconfig.json"
},
"devDependencies": {
"@types/mocha": "^2.2.48",
"@types/node": "^6.0.103",
"@types/request": "^2.47.0",
"typescript": "^2.7.2"
}
}
更新:磁盘上没有迹象表明 vscode 实际上正在磁盘上安装任何东西。
更新#2:它确实将它安装在磁盘上,只是我自己没有找到它。文件结构与之前的扩展名不匹配:
以下是旧版本安装后的外观:
-rw-rw-r-- 1 jp jp 857 Oct 18 22:08 CHANGELOG.md
-rw-r--r-- 1 jp jp 791 Oct 18 22:08 language-configuration.json
drwxrwxr-x 15 jp jp 4.0K Oct 18 22:08 node_modules/
drwxrwxr-x 3 jp jp 4.0K Oct 18 22:08 out/
-rw-r--r-- 1 jp jp 1.8K Oct 18 22:08 package.json
-rw-r--r-- 1 jp jp 79K Oct 18 22:08 package-lock.json
-rw-rw-r-- 1 jp jp 496 Oct 18 22:08 README.md
drwxrwxr-x 3 jp jp 4.0K Oct 18 22:08 server/
drwxrwxr-x 2 jp jp 4.0K Oct 18 22:08 syntaxes/
这是新的外观:
-rw-rw-r-- 1 jp jp 229 Oct 18 22:06 CHANGELOG.md
drwxrwxr-x 7 jp jp 4.0K Oct 18 22:06 client/
-rw-rw-r-- 1 jp jp 1.1K Oct 18 22:06 License.txt
-rw-rw-r-- 1 jp jp 1.5K Oct 18 22:06 package.json
-rw-rw-r-- 1 jp jp 2.6K Oct 18 22:06 package-lock.json
-rw-rw-r-- 1 jp jp 1.2K Oct 18 22:06 README.md
drwxrwxr-x 4 jp jp 4.0K Oct 18 22:06 server/
-rw-rw-r-- 1 jp jp 1.9K Oct 18 22:06 ThirdPartyNotices.txt
更新#3
看起来新版本有一个与旧版本的根目录匹配的 client/ 文件夹。我尝试在 myplugin/client 下运行 vsce 发布,但什么也没做
更新#4
我复制了新的扩展客户端文件夹,因为它是根目录,现在它可以工作了......
所以现在谜团变成了为什么它打包和发布错误。