|
1 | 1 | import { ChildProcess } from "child_process"; |
| 2 | +import * as vscode from 'vscode'; |
2 | 3 | import { TreeItem, TreeDataProvider, EventEmitter, Event, workspace, window, ExtensionContext, Uri, TextDocument, Position } from "vscode"; |
3 | 4 | import { Project } from "../projects/models"; |
4 | 5 | import { ContainerNode } from "../containers/views"; |
@@ -62,11 +63,14 @@ export class DockerComposeProvider extends AutoRefreshTreeDataProvider<any> impl |
62 | 63 | private projectNames: string[] |
63 | 64 | ) { |
64 | 65 | super(context); |
65 | | - let projects = workspace.workspaceFolders.map((folder) => { |
66 | | - let name = projectNames[folder.index] || folder.name.replace(/[^\w\s]/gi, ''); |
67 | | - let executor = new DockerComposeCommandExecutor(name, files, shell, folder.uri.path); |
68 | | - return new Project(name, executor); |
69 | | - }); |
| 66 | + let projects = []; |
| 67 | + if (vscode.workspace && vscode.workspace.workspaceFolders) { |
| 68 | + projects = vscode.workspace.workspaceFolders.map((folder) => { |
| 69 | + let name = projectNames[folder.index] || folder.name.replace(/[^\w\s]/gi, ''); |
| 70 | + let executor = new DockerComposeCommandExecutor(name, files, shell, folder.uri.path); |
| 71 | + return new Project(name, executor); |
| 72 | + }); |
| 73 | + } |
70 | 74 | this._root = new ProjectsNode(this.context, projects); |
71 | 75 | } |
72 | 76 |
|
@@ -165,7 +169,7 @@ export class DockerComposeProvider extends AutoRefreshTreeDataProvider<any> impl |
165 | 169 | public async logsContainer(node:ContainerNode): Promise<void> { |
166 | 170 | var setting: Uri = Uri.parse("untitled:" + node.container.name + ".logs"); |
167 | 171 | var content = node.container.logs(); |
168 | | - workspace.openTextDocument(setting).then((doc: TextDocument) => { |
| 172 | + vscode.workspace.openTextDocument(setting).then((doc: TextDocument) => { |
169 | 173 | window.showTextDocument(doc, 1, false).then(editor => { |
170 | 174 | editor.edit(edit => { |
171 | 175 | edit.insert(new Position(0, 0), content); |
|
0 commit comments