From f1412527b460f47207621240e79233f305a44a4b Mon Sep 17 00:00:00 2001 From: Benjamin Pasero Date: Tue, 27 Mar 2018 11:03:01 +0200 Subject: [PATCH] add progress-ts --- progress-sample/.gitignore | 2 ++ progress-sample/.vscode/launch.json | 28 ++++++++++++++++ progress-sample/.vscode/settings.json | 10 ++++++ progress-sample/.vscode/tasks.json | 30 ++++++++++++++++++ progress-sample/.vscodeignore | 9 ++++++ progress-sample/README.md | 21 ++++++++++++ progress-sample/package.json | 44 ++++++++++++++++++++++++++ progress-sample/preview.gif | Bin 0 -> 25346 bytes progress-sample/src/extension.ts | 41 ++++++++++++++++++++++++ progress-sample/tsconfig.json | 15 +++++++++ 10 files changed, 200 insertions(+) create mode 100644 progress-sample/.gitignore create mode 100644 progress-sample/.vscode/launch.json create mode 100644 progress-sample/.vscode/settings.json create mode 100644 progress-sample/.vscode/tasks.json create mode 100644 progress-sample/.vscodeignore create mode 100644 progress-sample/README.md create mode 100644 progress-sample/package.json create mode 100644 progress-sample/preview.gif create mode 100644 progress-sample/src/extension.ts create mode 100644 progress-sample/tsconfig.json diff --git a/progress-sample/.gitignore b/progress-sample/.gitignore new file mode 100644 index 00000000..8e5962ee --- /dev/null +++ b/progress-sample/.gitignore @@ -0,0 +1,2 @@ +out +node_modules \ No newline at end of file diff --git a/progress-sample/.vscode/launch.json b/progress-sample/.vscode/launch.json new file mode 100644 index 00000000..c776d21e --- /dev/null +++ b/progress-sample/.vscode/launch.json @@ -0,0 +1,28 @@ +// A launch configuration that compiles the extension and then opens it inside a new window +{ + "version": "0.1.0", + "configurations": [ + { + "name": "Launch Extension", + "type": "extensionHost", + "request": "launch", + "runtimeExecutable": "${execPath}", + "args": ["--extensionDevelopmentPath=${workspaceRoot}" ], + "stopOnEntry": false, + "sourceMaps": true, + "outFiles": ["${workspaceRoot}/out/src/**/*.js"], + "preLaunchTask": "npm" + }, + { + "name": "Launch Tests", + "type": "extensionHost", + "request": "launch", + "runtimeExecutable": "${execPath}", + "args": ["--extensionDevelopmentPath=${workspaceRoot}", "--extensionTestsPath=${workspaceRoot}/out/test" ], + "stopOnEntry": false, + "sourceMaps": true, + "outFiles": ["${workspaceRoot}/out/test/**/*.js"], + "preLaunchTask": "npm" + } + ] +} diff --git a/progress-sample/.vscode/settings.json b/progress-sample/.vscode/settings.json new file mode 100644 index 00000000..3f5aa9cf --- /dev/null +++ b/progress-sample/.vscode/settings.json @@ -0,0 +1,10 @@ +// Place your settings in this file to overwrite default and user settings. +{ + "files.exclude": { + "out": false // set this to true to hide the "out" folder with the compiled JS files + }, + "search.exclude": { + "out": true // set this to false to include "out" folder in search results + }, + "typescript.tsdk": "./node_modules/typescript/lib" // we want to use the TS server from our node_modules folder to control its version +} \ No newline at end of file diff --git a/progress-sample/.vscode/tasks.json b/progress-sample/.vscode/tasks.json new file mode 100644 index 00000000..1992757d --- /dev/null +++ b/progress-sample/.vscode/tasks.json @@ -0,0 +1,30 @@ +// Available variables which can be used inside of strings. +// ${workspaceRoot}: the root folder of the team +// ${file}: the current opened file +// ${fileBasename}: the current opened file's basename +// ${fileDirname}: the current opened file's dirname +// ${fileExtname}: the current opened file's extension +// ${cwd}: the current working directory of the spawned process + +// A task runner that calls a custom npm script that compiles the extension. +{ + "version": "0.1.0", + + // we want to run npm + "command": "npm", + + // the command is a shell script + "isShellCommand": true, + + // show the output window only if unrecognized errors occur. + "showOutput": "silent", + + // we run the custom script "compile" as defined in package.json + "args": ["run", "compile", "--loglevel", "silent"], + + // The tsc compiler is started in watching mode + "isWatching": true, + + // use the standard tsc in watch mode problem matcher to find compile problems in the output. + "problemMatcher": "$tsc-watch" +} \ No newline at end of file diff --git a/progress-sample/.vscodeignore b/progress-sample/.vscodeignore new file mode 100644 index 00000000..795e7143 --- /dev/null +++ b/progress-sample/.vscodeignore @@ -0,0 +1,9 @@ +.vscode/** +typings/** +out/test/** +test/** +src/** +**/*.map +.gitignore +tsconfig.json +vsc-extension-quickstart.md diff --git a/progress-sample/README.md b/progress-sample/README.md new file mode 100644 index 00000000..dd78d223 --- /dev/null +++ b/progress-sample/README.md @@ -0,0 +1,21 @@ +# Progress Sample + +This is a sample extension that shows a running progress in the notification area with support for cancellation. + +It is not intended as a product quality extension. + +- Open the command palette +- Run "Show Progress" +- Observe the running task in the notification area + +![Show progress in notification area](https://raw.githubusercontent.com/Microsoft/vscode-extension-samples/master/progress-sample/preview.gif) + +# How it works, what it shows? + +- The extension uses the [`withProgress`](https://code.visualstudio.com/docs/extensionAPI/vscode-api#ProgressOptions) API to show the task in the notification area. +- Registers a command via `package.json` that will trigger the task + +# How to run locally + +* `npm run compile` to start the compiler in watch mode +* open this folder in VS Code and press `F5` \ No newline at end of file diff --git a/progress-sample/package.json b/progress-sample/package.json new file mode 100644 index 00000000..94992573 --- /dev/null +++ b/progress-sample/package.json @@ -0,0 +1,44 @@ +{ + "name": "progress-ts", + "displayName": "Notification Progress", + "description": "Show a long running operation in the notification area", + "version": "0.0.1", + "publisher": "bpasero", + "repository": { + "type": "git", + "url": "https://github.com/Microsoft/vscode-extension-samples" + }, + "bugs": { + "url": "https://github.com/Microsoft/vscode-extension-samples/issues" + }, + "engines": { + "vscode": "^1.22.0" + }, + "categories": [ + "Other" + ], + "activationEvents": [ + "*" + ], + "contributes": { + "commands": [ + { + "command": "extension.startTask", + "title": "Show Progress" + } + ] + }, + "main": "./out/extension", + "scripts": { + "vscode:prepublish": "tsc -p ./", + "compile": "tsc -watch -p ./", + "postinstall": "node ./node_modules/vscode/bin/install", + "test": "node ./node_modules/vscode/bin/test" + }, + "devDependencies": { + "typescript": "^2.1.4", + "vscode": "^1.0.0", + "mocha": "^2.3.3", + "@types/node": "^6.0.40" + } +} diff --git a/progress-sample/preview.gif b/progress-sample/preview.gif new file mode 100644 index 0000000000000000000000000000000000000000..9cb1e1c95a21d55d0843a78c9db61522b8a827a4 GIT binary patch literal 25346 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 { + window.withProgress({ + location: ProgressLocation.Notification, + title: "I am long running!", + cancellable: true + }, (progress, token) => { + token.onCancellationRequested(() => { + console.log("User canceled the long running operation") + }); + + setTimeout(() => { + progress.report({ percentage: 10, message: "I am long running! - still going..." }); + }, 1000); + + setTimeout(() => { + progress.report({ percentage: 50, message: "I am long running! - still going even more..." }); + }, 2000); + + setTimeout(() => { + progress.report({ percentage: 90, message: "I am long running! - almost there..." }); + }, 3000); + + var p = new Promise(resolve => { + setTimeout(() => { + resolve(); + }, 5000); + }); + + return p; + }); + })); +} \ No newline at end of file diff --git a/progress-sample/tsconfig.json b/progress-sample/tsconfig.json new file mode 100644 index 00000000..c79b0fa0 --- /dev/null +++ b/progress-sample/tsconfig.json @@ -0,0 +1,15 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "es5", + "outDir": "out", + "lib": [ + "es6" + ], + "sourceMap": true, + "rootDir": "src" + }, + "exclude": [ + "node_modules" + ] +}