Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 3836738

Browse files
committed
Handle undefined workspace
1 parent 3d1046f commit 3836738

2 files changed

Lines changed: 22 additions & 9 deletions

File tree

.azure-pipelines.yml

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,16 @@ jobs:
77
- task: NodeTool@0
88
displayName: 'Use Node 8.x'
99
inputs:
10-
versionSpec: 8.x
10+
versionSpec: 8.11.4
1111

1212
- task: Npm@1
1313
displayName: 'Install dependencies'
1414
inputs:
1515
verbose: false
1616

17+
- script: 'node node_modules/typescript/bin/tsc --version'
18+
displayName: 'Prepare sources'
19+
1720
- task: Npm@1
1821
displayName: 'Compile sources'
1922
inputs:
@@ -32,13 +35,16 @@ jobs:
3235
- task: NodeTool@0
3336
displayName: 'Use Node 8.x'
3437
inputs:
35-
versionSpec: 8.x
38+
versionSpec: 8.11.4
3639

3740
- task: Npm@1
3841
displayName: 'Install dependencies'
3942
inputs:
4043
verbose: false
4144

45+
- script: 'node node_modules/typescript/bin/tsc --version'
46+
displayName: 'Prepare sources'
47+
4248
- task: Npm@1
4349
displayName: 'Compile sources'
4450
inputs:
@@ -57,13 +63,16 @@ jobs:
5763
- task: NodeTool@0
5864
displayName: 'Use Node 8.x'
5965
inputs:
60-
versionSpec: 8.x
66+
versionSpec: 8.11.4
6167

6268
- task: Npm@1
6369
displayName: 'Install dependencies'
6470
inputs:
6571
verbose: false
6672

73+
- script: 'node node_modules/typescript/bin/tsc --version'
74+
displayName: 'Prepare sources'
75+
6776
- task: Npm@1
6877
displayName: 'Compile sources'
6978
inputs:

src/explorers/providers.ts

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { ChildProcess } from "child_process";
2+
import * as vscode from 'vscode';
23
import { TreeItem, TreeDataProvider, EventEmitter, Event, workspace, window, ExtensionContext, Uri, TextDocument, Position } from "vscode";
34
import { Project } from "../projects/models";
45
import { ContainerNode } from "../containers/views";
@@ -62,11 +63,14 @@ export class DockerComposeProvider extends AutoRefreshTreeDataProvider<any> impl
6263
private projectNames: string[]
6364
) {
6465
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+
}
7074
this._root = new ProjectsNode(this.context, projects);
7175
}
7276

@@ -165,7 +169,7 @@ export class DockerComposeProvider extends AutoRefreshTreeDataProvider<any> impl
165169
public async logsContainer(node:ContainerNode): Promise<void> {
166170
var setting: Uri = Uri.parse("untitled:" + node.container.name + ".logs");
167171
var content = node.container.logs();
168-
workspace.openTextDocument(setting).then((doc: TextDocument) => {
172+
vscode.workspace.openTextDocument(setting).then((doc: TextDocument) => {
169173
window.showTextDocument(doc, 1, false).then(editor => {
170174
editor.edit(edit => {
171175
edit.insert(new Position(0, 0), content);

0 commit comments

Comments
 (0)