@@ -404,67 +404,24 @@ const settings = observable({
404404 _keys : [ 'projectType' , 'sourcePath' ] ,
405405 requireConfirm : true ,
406406 confirmCallBack ( [ lang , path ] ) {
407- const prevFolder = config . _ROOT_URI_
408407 const prevLang = config . mainLanguage
409- config . mainLanguage = lang
410- if ( path !== '/' ) {
411- config . _WORKSPACE_SUB_FOLDER_ = path
412- config . _ROOT_URI_ = `/data/coding-ide-home/workspace/${ config . spaceKey } /working-dir${ path } `
413- }
414- const client = LanguageState . clients . get ( prevLang )
415- if ( client ) {
416- if ( lang !== prevLang ) {
417- client . destory ( ) . then ( ( ) => createLanguageClient ( lang ) )
418- } else {
419- client . workSpaceFoldersChange ( {
420- event : {
421- added : [
422- {
423- uri : `file://${ config . _ROOT_URI_ } ` ,
424- name : `JAVA-PROJECT-FOLDER-${ config . _ROOT_URI_ } `
425- }
426- ] ,
427- removed : [ { uri : `file://${ prevFolder } ` , name : `JAVA-PROJECT-FOLDER-${ prevFolder } ` } ]
428- }
429- } )
430- }
431- } else {
432- setLanguageServerOne ( { type : lang , srcPath : path } ) . then ( ( res ) => {
433- if ( res . code === 0 ) {
434- const prevFolder = config . _ROOT_URI_
435- const prevLang = config . mainLanguage
436- config . mainLanguage = lang
437- if ( path !== '/' ) {
438- config . _WORKSPACE_SUB_FOLDER_ = path
439- config . _ROOT_URI_ = `/data/coding-ide-home/workspace/${
440- config . spaceKey
441- } /working-dir${ path } `
442- }
443- const client = LanguageState . clients . get ( prevLang )
444- if ( client ) {
445- if ( lang !== prevLang ) {
446- client . destory ( ) . then ( ( ) => createLanguageClient ( lang ) )
447- } else {
448- client . workSpaceFoldersChange ( {
449- event : {
450- added : [
451- {
452- uri : `file://${ config . _ROOT_URI_ } ` ,
453- name : `JAVA-PROJECT-FOLDER-${ config . _ROOT_URI_ } `
454- }
455- ] ,
456- removed : [
457- { uri : `file://${ prevFolder } ` , name : `JAVA-PROJECT-FOLDER-${ prevFolder } ` }
458- ]
459- }
460- } )
461- }
462- } else {
463- createLanguageClient ( lang )
464- }
408+ setLanguageServerOne ( { type : lang , srcPath : path } ) . then ( ( res ) => {
409+ if ( res . code === 0 ) {
410+ config . mainLanguage = lang
411+ if ( path !== '/' ) {
412+ config . _WORKSPACE_SUB_FOLDER_ = path
413+ config . _ROOT_URI_ = `/data/coding-ide-home/workspace/${
414+ config . spaceKey
415+ } /working-dir${ path } `
465416 }
466- } )
467- }
417+ const client = LanguageState . clients . get ( prevLang )
418+ if ( lang === prevLang || client ) {
419+ client . destory ( ) . then ( ( ) => createLanguageClient ( lang ) )
420+ } else {
421+ createLanguageClient ( lang )
422+ }
423+ }
424+ } )
468425 } ,
469426 projectType : {
470427 name : 'modal.projectType' ,
0 commit comments