diff --git a/extensions/notebook/src/book/bookTreeView.ts b/extensions/notebook/src/book/bookTreeView.ts index decabc3eaf..b63f8c5b8d 100644 --- a/extensions/notebook/src/book/bookTreeView.ts +++ b/extensions/notebook/src/book/bookTreeView.ts @@ -43,7 +43,7 @@ export class BookTreeViewProvider implements vscode.TreeDataProvider; public viewId: string; public books: BookModel[] = []; - public currentBook: BookModel; + public currentBook: BookModel | undefined; supportedTypes = ['text/treeitems']; constructor(workspaceFolders: vscode.WorkspaceFolder[], extensionContext: vscode.ExtensionContext, openAsUntitled: boolean, view: string, public providerId: string) { @@ -243,7 +243,10 @@ export class BookTreeViewProvider implements vscode.TreeDataProvider book.bookPath === bookPath); - await this._bookViewer.reveal(this.currentBook.bookItems[0], { expand: vscode.TreeItemCollapsibleState.Expanded, focus: true, select: true }); + // Only attempt a reveal if current book has been found, but always try to preview the file + if (this.currentBook) { + await this._bookViewer.reveal(this.currentBook.bookItems[0], { expand: vscode.TreeItemCollapsibleState.Expanded, focus: true, select: true }); + } await this.showPreviewFile(urlToOpen); } @@ -688,7 +691,7 @@ export class BookTreeViewProvider implements vscode.TreeDataProvider { if (element) { - if (element.sections) { + if (element.sections && this.currentBook) { return Promise.resolve(this.currentBook.getSections(element)); } else { return Promise.resolve([]); @@ -709,9 +712,9 @@ export class BookTreeViewProvider implements vscode.TreeDataProvider