@@ -14,10 +14,14 @@ class WorkspaceTreeItem extends vscode.TreeItem {
1414 buildFileTreeItems : GradleBuildFileTreeItem [ ] = [ ] ;
1515 workspaceFolder : vscode . WorkspaceFolder ;
1616
17- constructor ( name : string , folder : vscode . WorkspaceFolder ) {
17+ constructor (
18+ name : string ,
19+ folder : vscode . WorkspaceFolder ,
20+ resourceUri : vscode . Uri
21+ ) {
1822 super ( name , vscode . TreeItemCollapsibleState . Expanded ) ;
1923 this . contextValue = 'folder' ;
20- this . resourceUri = folder . uri ;
24+ this . resourceUri = resourceUri ;
2125 this . workspaceFolder = folder ;
2226 this . iconPath = vscode . ThemeIcon . Folder ;
2327 }
@@ -42,25 +46,21 @@ export class GradleBuildFileTreeItem extends vscode.TreeItem {
4246 constructor (
4347 readonly workspaceTreeItem : WorkspaceTreeItem ,
4448 relativePath : string ,
45- readonly contextValue : string
49+ readonly name : string
4650 ) {
4751 super (
48- GradleBuildFileTreeItem . getLabel ( relativePath , contextValue ) ,
52+ GradleBuildFileTreeItem . getLabel ( relativePath , name ) ,
4953 vscode . TreeItemCollapsibleState . Expanded
5054 ) ;
5155 this . contextValue = 'buildFile' ;
5256 this . path = relativePath ;
5357 if ( relativePath ) {
5458 this . resourceUri = vscode . Uri . file (
55- path . join (
56- workspaceTreeItem ! . resourceUri ! . fsPath ,
57- relativePath ,
58- contextValue
59- )
59+ path . join ( workspaceTreeItem ! . resourceUri ! . fsPath , relativePath , name )
6060 ) ;
6161 } else {
6262 this . resourceUri = vscode . Uri . file (
63- path . join ( workspaceTreeItem ! . resourceUri ! . fsPath , contextValue )
63+ path . join ( workspaceTreeItem ! . resourceUri ! . fsPath , name )
6464 ) ;
6565 }
6666 this . iconPath = vscode . ThemeIcon . File ;
@@ -234,7 +234,8 @@ export class GradleTasksTreeDataProvider
234234 if ( ! workspaceTreeItem ) {
235235 workspaceTreeItem = new WorkspaceTreeItem (
236236 task . scope . name ,
237- task . scope
237+ task . scope ,
238+ task . scope . uri
238239 ) ;
239240 workspaceTreeItems . set ( task . scope . name , workspaceTreeItem ) ;
240241 }
@@ -259,7 +260,8 @@ export class GradleTasksTreeDataProvider
259260 if ( ! subProjectTreeItem ) {
260261 subProjectTreeItem = new SubProjectTreeItem (
261262 subProjectName ,
262- task . scope
263+ task . scope ,
264+ vscode . Uri . file ( path . join ( task . scope . uri . fsPath , subProjectName ) )
263265 ) ;
264266 buildFileTreeItem . addSubProjectTreeItem ( subProjectTreeItem ) ;
265267 subProjectTreeItems . set ( subProjectName , subProjectTreeItem ) ;
@@ -270,7 +272,7 @@ export class GradleTasksTreeDataProvider
270272 ) ;
271273 if ( ! subProjectBuildFileTreeItem ) {
272274 subProjectBuildFileTreeItem = new GradleBuildFileTreeItem (
273- workspaceTreeItem ,
275+ subProjectTreeItem ,
274276 relativePath ,
275277 definition . fileName
276278 ) ;
0 commit comments