diff --git a/src/handler/handlerRegister.ts b/src/handler/handlerRegister.ts index 90b80ae..f00e750 100644 --- a/src/handler/handlerRegister.ts +++ b/src/handler/handlerRegister.ts @@ -14,6 +14,7 @@ import { doVscodeCommand } from './vscodeCommandHandler'; import { readFile, writeFile, getIDEServicePort, getCurrentFileInfo } from './fileHandler'; import { getTopics, deleteTopic } from './topicHandler'; import { readConfig, writeConfig, readServerConfigBase, writeServerConfigBase } from './configHandler'; +import { openLink } from './openlinkHandler'; // According to the context menu selected by the user, add the corresponding context file @@ -83,4 +84,5 @@ messageHandler.registerHandler('getIDEServicePort', getIDEServicePort); messageHandler.registerHandler('readServerConfigBase', readServerConfigBase); messageHandler.registerHandler('writeServerConfigBase', writeServerConfigBase); +messageHandler.registerHandler('openLink', openLink); diff --git a/src/handler/openlinkHandler.ts b/src/handler/openlinkHandler.ts new file mode 100644 index 0000000..493a9c9 --- /dev/null +++ b/src/handler/openlinkHandler.ts @@ -0,0 +1,19 @@ +/* +Commands for handling configuration read and write +*/ + +import * as fs from 'fs'; +import * as path from 'path'; +import * as vscode from 'vscode'; +import yaml from 'yaml'; +import { regInMessage, regOutMessage } from '../util/reg_messages'; +import { MessageHandler } from './messageHandler'; +import { DevChatConfig } from '../util/config'; +import { logger } from '../util/logger'; + + +regInMessage({command: 'openLink', url: 'http://...'}); // when key is "", it will rewrite all config values +export async function openLink(message: any, panel: vscode.WebviewPanel|vscode.WebviewView): Promise { + const url = message.url; + vscode.env.openExternal(vscode.Uri.parse(url)); +} \ No newline at end of file