@@ -49,7 +49,7 @@ import {
4949 uploadConfig_desc , add_lib_path , view_str$pack$components ,
5050 view_str$project$title , view_str$project$excludeFolder , view_str$project$excludeFile ,
5151 view_str$pack$install_component_failed , view_str$pack$remove_component_failed ,
52- view_str$compile$selectToolchain , view_str$compile$selectFlasher , view_str$project$needRefresh ,
52+ view_str$compile$selectToolchain , view_str$compile$selectFlasher , view_str$project$needRefresh , view_str$project$fileNotExisted ,
5353 WARNING , view_str$project$cmsis_components , view_str$project$other_settings , view_str$settings$outFolderName ,
5454 view_str$dialog$add_to_source_folder , view_str$project$sel_target , view_str$project$folder_type_fs ,
5555 view_str$project$folder_type_virtual , view_str$project$sel_folder_type ,
@@ -855,18 +855,25 @@ class ProjectDataProvider implements vscode.TreeDataProvider<ProjTreeItem> {
855855 . forEach ( ( rootInfo ) => {
856856 const isComponent = File . ToUnixPath ( rootInfo . displayName ) === DependenceManager . DEPENDENCE_DIR ;
857857 const folderDispName = isComponent ? view_str$project$cmsis_components : rootInfo . displayName ;
858+ const isExisted = rootInfo . fileWatcher . file . IsDir ( ) ;
859+ let dirIcon : string | undefined ;
860+ if ( isComponent ) dirIcon = 'DependencyGraph_16x.svg' ;
861+ if ( rootInfo . needUpdate || ! isExisted ) dirIcon = 'StatusWarning_16x.svg' ;
862+ let dirDesc : string | undefined ;
863+ if ( rootInfo . needUpdate ) dirDesc = view_str$project$needRefresh ;
864+ if ( ! isExisted ) dirDesc = view_str$project$fileNotExisted ;
858865 iList . push ( new ProjTreeItem ( TreeItemType . FOLDER_ROOT , {
859866 value : folderDispName ,
860867 obj : rootInfo . fileWatcher . file ,
861868 projectIndex : element . val . projectIndex ,
862869 contextVal : isComponent ? 'FOLDER_ROOT_DEPS' : undefined ,
870+ icon : dirIcon ,
863871 tooltip : newFileTooltipString ( {
864872 name : rootInfo . displayName ,
865873 path : rootInfo . fileWatcher . file . path ,
866- desc : rootInfo . needUpdate ? view_str$project$needRefresh : undefined ,
874+ desc : dirDesc ,
867875 attr : { }
868- } , project . getRootDir ( ) ) ,
869- icon : rootInfo . needUpdate ? 'StatusWarning_16x.svg' : ( isComponent ? 'DependencyGraph_16x.svg' : undefined )
876+ } , project . getRootDir ( ) )
870877 } ) ) ;
871878 } ) ;
872879
@@ -2496,17 +2503,18 @@ class ProjectDataProvider implements vscode.TreeDataProvider<ProjTreeItem> {
24962503 }
24972504 }
24982505
2499- // rename project name
2506+ // init project
25002507 {
25012508 const prjFile = File . fromArray ( [ targetDir . path , AbstractProject . EIDE_DIR , AbstractProject . prjConfigName ] ) ;
25022509 if ( ! prjFile . IsFile ( ) ) throw Error ( `project file: '${ prjFile . path } ' is not exist !` ) ;
25032510
25042511 try {
25052512 const prjConf : ProjectConfigData < any > = JSON . parse ( prjFile . Read ( ) ) ;
25062513 prjConf . name = option . name ; // set project name
2514+ prjConf . miscInfo . uid = undefined ; // reset uid
25072515 prjFile . Write ( JSON . stringify ( prjConf ) ) ;
25082516 } catch ( error ) {
2509- throw Error ( `change project name failed !, msg: ${ error . message } ` ) ;
2517+ throw Error ( `Init project failed !, msg: ${ error . message } ` ) ;
25102518 }
25112519 }
25122520 }
@@ -3727,7 +3735,7 @@ export class ProjectExplorer implements CustomConfigurationProvider {
37273735 }
37283736
37293737 private exportLocked : boolean = false ;
3730- async ExportToTemplate ( prjItem ?: ProjTreeItem , isWorkspace ?: boolean ) {
3738+ async ExportProjectTemplate ( prjItem ?: ProjTreeItem , isWorkspace ?: boolean ) {
37313739
37323740 if ( this . exportLocked ) {
37333741 GlobalEvent . emit ( 'msg' , {
@@ -3765,10 +3773,6 @@ export class ProjectExplorer implements CustomConfigurationProvider {
37653773 const prjOutFolder = File . normalize ( prj . GetConfiguration ( ) . config . outDir ) ;
37663774 defExcludeList . push ( `${ prjOutFolder } ` , `${ prjOutFolder } ${ File . sep } *` ) ;
37673775 resIgnoreList = prj . readIgnoreList ( ) ;
3768- const prjUid = prjConfig . miscInfo . uid ;
3769- prjConfig . miscInfo . uid = undefined ; // clear uid before save prj
3770- prj . Save ( true ) ; // save project
3771- prjConfig . miscInfo . uid = prjUid ; // restore uid
37723776 }
37733777
37743778 /* invalid root folder, exit */
0 commit comments