feat: Add external link handler
- Add new openLink handler to manage external URL navigation - Register openLink handler in message handler system - Implement URL opening functionality using vscode.env.openExternal
This commit is contained in:
parent
81d0f5d5aa
commit
5f12c02c89
@ -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);
|
||||
|
||||
|
19
src/handler/openlinkHandler.ts
Normal file
19
src/handler/openlinkHandler.ts
Normal file
@ -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<void> {
|
||||
const url = message.url;
|
||||
vscode.env.openExternal(vscode.Uri.parse(url));
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user