@@ -7,6 +7,7 @@ import { SystemConfig } from "@App/pkg/config/config";
77import { prepareScriptByCode } from "@App/pkg/utils/script" ;
88import Manager from "../manager" ;
99import ScriptManager from "../script/manager" ;
10+ import Logger from "@App/app/logger/logger" ;
1011
1112// value管理器,负责value等更新获取等操作
1213@IoC . Singleton ( MessageHander , SystemConfig )
@@ -125,42 +126,44 @@ export class SystemManager extends Manager {
125126 }
126127
127128 connectVSCode ( ) {
128- return new Promise < void > ( ( resolve , reject ) => {
129- // 与vsc扩展建立连接
130- if ( this . wsVscode ) {
131- this . wsVscode . close ( ) ;
132- }
133- try {
134- this . wsVscode = new WebSocket ( this . systemConfig . vscodeUrl ) ;
135- } catch ( e : any ) {
136- reject ( e ) ;
137- return ;
138- }
139- this . wsVscode . addEventListener ( "open" , ( ) => {
140- this . wsVscode ! . send ( '{"action":"hello"}' ) ;
141- resolve ( ) ;
142- } ) ;
143- this . wsVscode . addEventListener ( "message" , async ( ev ) => {
144- const data = JSON . parse ( ev . data ) ;
145- switch ( data . action ) {
146- case "onchange" : {
147- const code = data . data . script ;
148- const script = await prepareScriptByCode (
149- code ,
150- "" ,
151- uuidv5 ( data . data . uri , uuidv5 . URL )
152- ) ;
153- this . scriptManager . event . upsertHandler ( script , "vscode" ) ;
154- break ;
155- }
156- default :
129+ // 与vsc扩展建立连接
130+ if ( this . wsVscode ) {
131+ this . wsVscode . close ( ) ;
132+ }
133+ try {
134+ this . wsVscode = new WebSocket ( this . systemConfig . vscodeUrl ) ;
135+ } catch ( e : any ) {
136+ this . logger . debug ( "vscode连接失败" , Logger . E ( e ) ) ;
137+ return ;
138+ }
139+ this . wsVscode . addEventListener ( "open" , ( ) => {
140+ this . wsVscode ! . send ( '{"action":"hello"}' ) ;
141+ } ) ;
142+ this . wsVscode . addEventListener ( "message" , async ( ev ) => {
143+ const data = JSON . parse ( ev . data ) ;
144+ switch ( data . action ) {
145+ case "onchange" : {
146+ const code = data . data . script ;
147+ const script = await prepareScriptByCode (
148+ code ,
149+ "" ,
150+ uuidv5 ( data . data . uri , uuidv5 . URL )
151+ ) ;
152+ this . scriptManager . event . upsertHandler ( script , "vscode" ) ;
153+ break ;
157154 }
158- } ) ;
155+ default :
156+ }
157+ } ) ;
159158
160- this . wsVscode . addEventListener ( "error" , ( ) => {
161- reject ( new Error ( "VSCode连接失败" ) ) ;
162- this . wsVscode = undefined ;
163- } ) ;
159+ this . wsVscode . addEventListener ( "error" , ( e ) => {
160+ this . wsVscode = undefined ;
161+ this . logger . debug ( "vscode连接失败" , Logger . E ( e ) ) ;
162+ } ) ;
163+
164+ this . wsVscode . addEventListener ( "close" , ( ) => {
165+ this . wsVscode = undefined ;
166+ this . logger . debug ( "vscode连接关闭" ) ;
164167 } ) ;
165168 }
166169
0 commit comments