diff --git a/README.md b/README.md index 0558aa8..78e39eb 100644 --- a/README.md +++ b/README.md @@ -19,6 +19,8 @@ 首先安装 [VSCode](https://code.visualstudio.com/)。安装完毕后在 VSCode Extension 中搜索 Kendryte, 即可快速安装本插件。本插件目前仅支持 Kendryte 官方开发板 KD233。 +[Python 3.4.4](https://www.python.org/downloads/release/python-344/) + ### MacOS 环境准备 1.安装 Homebrew diff --git a/package-lock.json b/package-lock.json index ec7f21c..5d47dee 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "kendryte-extension", - "version": "0.2.1", + "version": "0.3.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -2148,6 +2148,12 @@ "integrity": "sha1-CoUdO9lkmPolwzq3J47TvWXwbD4=", "dev": true }, + "@types/vscode": { + "version": "1.45.1", + "resolved": "https://registry.npm.taobao.org/@types/vscode/download/@types/vscode-1.45.1.tgz", + "integrity": "sha1-Zy+4wswzzxTNTTvaoZuylP4rJwY=", + "dev": true + }, "@types/yargs": { "version": "13.0.8", "resolved": "https://registry.npm.taobao.org/@types/yargs/download/@types/yargs-13.0.8.tgz?cache=0&sync_timestamp=1582664653342&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40types%2Fyargs%2Fdownload%2F%40types%2Fyargs-13.0.8.tgz", @@ -19560,125 +19566,6 @@ "integrity": "sha1-eGQcSIuObKkadfUR56OzKobl3aA=", "dev": true }, - "vscode": { - "version": "1.1.36", - "resolved": "https://registry.npm.taobao.org/vscode/download/vscode-1.1.36.tgz", - "integrity": "sha1-XhoNG/SXfQx7xRWamhPVsQTUsbY=", - "dev": true, - "requires": { - "glob": "^7.1.2", - "mocha": "^5.2.0", - "request": "^2.88.0", - "semver": "^5.4.1", - "source-map-support": "^0.5.0", - "url-parse": "^1.4.4", - "vscode-test": "^0.4.1" - }, - "dependencies": { - "commander": { - "version": "2.15.1", - "resolved": "https://registry.npm.taobao.org/commander/download/commander-2.15.1.tgz", - "integrity": "sha1-30boZ9D8Kuxmo0ZitAapzK//Ww8=", - "dev": true - }, - "debug": { - "version": "3.1.0", - "resolved": "http://registry.npm.taobao.org/debug/download/debug-3.1.0.tgz", - "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "he": { - "version": "1.1.1", - "resolved": "http://registry.npm.taobao.org/he/download/he-1.1.1.tgz", - "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", - "dev": true - }, - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npm.taobao.org/minimist/download/minimist-0.0.8.tgz?cache=0&sync_timestamp=1584051509720&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fminimist%2Fdownload%2Fminimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, - "requires": { - "minimist": "0.0.8" - } - }, - "mocha": { - "version": "5.2.0", - "resolved": "https://registry.npm.taobao.org/mocha/download/mocha-5.2.0.tgz", - "integrity": "sha1-bYrlCPWRZ/lA8rWzxKYSrlDJCuY=", - "dev": true, - "requires": { - "browser-stdout": "1.3.1", - "commander": "2.15.1", - "debug": "3.1.0", - "diff": "3.5.0", - "escape-string-regexp": "1.0.5", - "glob": "7.1.2", - "growl": "1.10.5", - "he": "1.1.1", - "minimatch": "3.0.4", - "mkdirp": "0.5.1", - "supports-color": "5.4.0" - }, - "dependencies": { - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npm.taobao.org/glob/download/glob-7.1.2.tgz", - "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npm.taobao.org/semver/download/semver-5.7.1.tgz?cache=0&sync_timestamp=1581458265183&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsemver%2Fdownload%2Fsemver-5.7.1.tgz", - "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=", - "dev": true - }, - "supports-color": { - "version": "5.4.0", - "resolved": "https://registry.npm.taobao.org/supports-color/download/supports-color-5.4.0.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fsupports-color%2Fdownload%2Fsupports-color-5.4.0.tgz", - "integrity": "sha1-HGszdALCE3YF7+GfEP7DkPb6q1Q=", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "vscode-test": { - "version": "0.4.3", - "resolved": "https://registry.npm.taobao.org/vscode-test/download/vscode-test-0.4.3.tgz", - "integrity": "sha1-Rh6/JfxLyT132YKu1VZlii4rkLg=", - "dev": true, - "requires": { - "http-proxy-agent": "^2.1.0", - "https-proxy-agent": "^2.2.1" - } - } - } - }, "vscode-debugadapter": { "version": "1.39.1", "resolved": "https://registry.npm.taobao.org/vscode-debugadapter/download/vscode-debugadapter-1.39.1.tgz", diff --git a/package.json b/package.json index 291b9a4..f7a2d53 100644 --- a/package.json +++ b/package.json @@ -357,6 +357,7 @@ "@types/react-router-dom": "^5.1.0", "@types/serialport": "^8.0.0", "@types/split2": "^2.1.6", + "@types/vscode": "^1.45.1", "@typescript-eslint/eslint-plugin": "^2.7.0", "@typescript-eslint/parser": "^2.7.0", "autoprefixer": "^7.1.6", @@ -397,7 +398,6 @@ "tslint-react": "^3.6.0", "typescript": "^3.4.3", "uglifyjs-webpack-plugin": "^1.2.5", - "vscode": "^1.1.36", "vscode-test": "^1.0.0-next.0", "webpack": "^4.41.0", "webpack-cli": "^3.3.10", diff --git a/src/command/pickdevice.ts b/src/command/pickdevice.ts index 47a9c14..3acc44d 100644 --- a/src/command/pickdevice.ts +++ b/src/command/pickdevice.ts @@ -12,7 +12,6 @@ export const pickDevice = (devicesService: Devices): vscode.Disposable => { console.log(devices) quickPick.items = devices.map((portInfo): vscode.QuickPickItem => { return { - // label: portInfo.manufacturer ? `${portInfo.comName}: ${portInfo.manufacturer}` : portInfo.comName, label: portInfo.path, description: portInfo.serialNumber || portInfo.productId, detail: portInfo.pnpId, diff --git a/src/command/upload.ts b/src/command/upload.ts index fe0d6ab..d186438 100644 --- a/src/command/upload.ts +++ b/src/command/upload.ts @@ -87,8 +87,8 @@ export const buildAndUpload = (context: vscode.ExtensionContext, deviceServices: uploadLogger.show() - const Unixargs = ['-b', '2000000', '-p', deviceServices.device, `${reader.name}.kfpkg`] - const windowsArgs = [join(process.env.packagePath || '', 'kflash\\kflash.py'), '-b', '2000000', '-p', deviceServices.device, `${reader.name}.kfpkg`] + const Unixargs = ['-b', '2000000', '-p', deviceServices.device as string, `${reader.name}.kfpkg`] + const windowsArgs = [join(process.env.packagePath || '', 'kflash\\kflash.py'), '-b', '2000000', '-p', deviceServices.device as string, `${reader.name}.kfpkg`] const windowsExec = 'python' // Stop serialport service when upload @@ -108,7 +108,7 @@ export const buildAndUpload = (context: vscode.ExtensionContext, deviceServices: sdkProcess.on('close', (code) => { uploadLogger.info('Upload finished.') - deviceServices.setDevice(deviceServices.device) + deviceServices.setDevice(deviceServices.device as string) console.log(`子进程退出,退出码 ${code}`) }) }) diff --git a/src/common/react-panel.ts b/src/common/react-panel.ts index 2b8d8b8..a189d4a 100644 --- a/src/common/react-panel.ts +++ b/src/common/react-panel.ts @@ -89,7 +89,7 @@ export class ReactPanel { const mainStyle = manifest.files['main.css'] const stylePathOnDisk = vscode.Uri.file(path.join(this._extensionPath, 'build/react-views', mainStyle)) - const styleUri = stylePathOnDisk.with({ scheme: 'vscode-resource' }) + const styleUri = this._panel.webview.asWebviewUri(stylePathOnDisk) // Use a nonce to whitelist which scripts can be run const nonce = getNonce() @@ -110,7 +110,7 @@ export class ReactPanel { Kendryte - + @@ -131,7 +131,7 @@ export class ReactPanel { }) return entryFiles.map((file: string) => { const scriptPathOnDisk = vscode.Uri.file(path.join(this._extensionPath, 'build/react-views', file)) - const scriptUri = scriptPathOnDisk.with({ scheme: 'vscode-resource' }) + const scriptUri = this._panel.webview.asWebviewUri(scriptPathOnDisk) return scriptUri }) } diff --git a/src/views/DevPackages.ts b/src/views/DevPackages.ts index dbd1f27..eb92828 100644 --- a/src/views/DevPackages.ts +++ b/src/views/DevPackages.ts @@ -13,7 +13,7 @@ export class DevPackages implements vscode.TreeDataProvider { refresh(): void { console.log('refresh') - this._onDidChangeTreeData.fire(); + this._onDidChangeTreeData.fire(undefined); } getTreeItem(element: Dependency): vscode.TreeItem {