Created
July 13, 2017 21:10
-
-
Save gep13/836535f7ef3affddb80e784cbe674bc5 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
'use strict'; | |
// The module 'vscode' contains the VS Code extensibility API | |
// Import the module and reference it with the alias vscode in your code below | |
import * as vscode from 'vscode'; | |
let taskProvider: vscode.Disposable | undefined; | |
// this method is called when your extension is activated | |
// your extension is activated the very first time the command is executed | |
export function activate(context: vscode.ExtensionContext) { | |
// 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 "cake-vscode" 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 = vscode.commands.registerCommand('extension.sayHello', () => | |
{ | |
// The code you place here will be executed every time your command is executed | |
// Display a message box to the user | |
vscode.window.showInformationMessage('Hello World!'); | |
}); | |
context.subscriptions.push(disposable); | |
function onConfigurationChanged() { | |
if (taskProvider) { | |
taskProvider.dispose(); | |
taskProvider = undefined; | |
} else if (!taskProvider) { | |
taskProvider = vscode.workspace.registerTaskProvider('cake', { | |
provideTasks: () => { | |
return getCakeScriptsAsTasks(); | |
}, | |
resolveTask(_task: vscode.Task): vscode.Task | undefined { | |
return undefined; | |
} | |
}); | |
} | |
} | |
vscode.workspace.onDidChangeConfiguration(onConfigurationChanged); | |
onConfigurationChanged(); | |
} | |
// this method is called when your extension is deactivated | |
export function deactivate() { | |
if (taskProvider) { | |
taskProvider.dispose(); | |
} | |
} | |
async function getCakeScriptsAsTasks(): Promise<vscode.Task[]> { | |
let workspaceRoot = vscode.workspace.rootPath; | |
let emptyTasks: vscode.Task[] = []; | |
if (!workspaceRoot) { | |
return emptyTasks; | |
} | |
return emptyTasks; | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment