Refactor MessageUtil class
- Import IdeaBridge module for IDEA platform integration - Modify registerHandler() method to use IdeaBridge for IDEA platform - Add console.log statement in sendMessage() method for debugging - Modify webpack.idea.config.js to properly define process.env.platform as string
This commit is contained in:
parent
700cfff6ba
commit
e4a571a0bd
@ -1,7 +1,4 @@
|
||||
// const vscodeApi = window.acquireVsCodeApi();
|
||||
const vscodeApi = {
|
||||
postMessage: (message: any) => {},
|
||||
};
|
||||
import IdeaBridge from "./ideaBridge";
|
||||
|
||||
class MessageUtil {
|
||||
private static instance: MessageUtil;
|
||||
@ -33,10 +30,14 @@ class MessageUtil {
|
||||
|
||||
// Register a message handler for a specific message type
|
||||
registerHandler(messageType: string, handler: any) {
|
||||
if (!this.handlers[messageType]) {
|
||||
this.handlers[messageType] = [];
|
||||
if (process.env.platform === "idea") {
|
||||
IdeaBridge.registerHandler(messageType, handler);
|
||||
} else {
|
||||
if (!this.handlers[messageType]) {
|
||||
this.handlers[messageType] = [];
|
||||
}
|
||||
this.handlers[messageType].push(handler);
|
||||
}
|
||||
this.handlers[messageType].push(handler);
|
||||
}
|
||||
|
||||
// Unregister a message handler for a specific message type
|
||||
@ -60,8 +61,9 @@ class MessageUtil {
|
||||
|
||||
// Send a message to the VSCode API
|
||||
sendMessage(message: any) {
|
||||
console.log("util sendMessage message: ", message);
|
||||
if (process.env.platform === "idea") {
|
||||
window.callJAVA();
|
||||
IdeaBridge.sendMessage(message);
|
||||
} else {
|
||||
window.acquireVsCodeApi().postMessage(message);
|
||||
}
|
||||
|
@ -97,7 +97,7 @@ const webviewConfig = {
|
||||
new CleanWebpackPlugin(),
|
||||
new webpack.ProgressPlugin(),
|
||||
new webpack.DefinePlugin({
|
||||
"process.env.platform": "idea",
|
||||
"process.env.platform": JSON.stringify("idea"),
|
||||
}),
|
||||
],
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user