Skip to content

Commit 6dac866

Browse files
authored
Fix bugs in run button visibility (#1581)
## Changes Run button sometimes disappears when switching between notebooks and files, or between notebook cells. ## Tests Manually
1 parent 7548571 commit 6dac866

File tree

1 file changed

+20
-8
lines changed

1 file changed

+20
-8
lines changed

packages/databricks-vscode/src/vscode-objs/WorkspaceFolderManager.ts

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import {
22
Disposable,
33
EventEmitter,
4-
TextEditor,
54
Uri,
65
WorkspaceFolder,
76
window,
@@ -61,26 +60,39 @@ export class WorkspaceFolderManager implements Disposable {
6160
}
6261
}
6362
}),
64-
window.onDidChangeActiveTextEditor((editor) => {
65-
this.setIsActiveFileInActiveProject(editor);
63+
window.onDidChangeActiveTextEditor(() => {
64+
this.setIsActiveFileInActiveProject();
65+
}),
66+
window.onDidChangeActiveNotebookEditor(() => {
67+
this.setIsActiveFileInActiveProject();
6668
}),
6769
this.onDidChangeActiveProjectFolder(() => {
68-
this.setIsActiveFileInActiveProject(window.activeTextEditor);
70+
this.setIsActiveFileInActiveProject();
6971
})
7072
);
7173

72-
this.setIsActiveFileInActiveProject(window.activeTextEditor);
74+
this.setIsActiveFileInActiveProject();
7375
}
7476

75-
private setIsActiveFileInActiveProject(activeEditor?: TextEditor) {
77+
private setIsActiveFileInActiveProject() {
78+
if (this.activeProjectUri === undefined) {
79+
this.customWhenContext.setIsActiveFileInActiveWorkspace(false);
80+
return;
81+
}
82+
const activeEditor = window.activeTextEditor;
7683
const isActiveFileInActiveWorkspace =
77-
this.activeProjectUri !== undefined &&
7884
activeEditor !== undefined &&
7985
activeEditor.document.uri.fsPath.startsWith(
86+
this.activeProjectUri.fsPath
87+
);
88+
const activeNotebookEditor = window.activeNotebookEditor;
89+
const isActiveNotebookInActiveWorkspace =
90+
activeNotebookEditor !== undefined &&
91+
activeNotebookEditor.notebook.uri.fsPath.startsWith(
8092
this.activeProjectUri?.fsPath
8193
);
8294
this.customWhenContext.setIsActiveFileInActiveWorkspace(
83-
isActiveFileInActiveWorkspace
95+
isActiveFileInActiveWorkspace || isActiveNotebookInActiveWorkspace
8496
);
8597
}
8698

0 commit comments

Comments
 (0)