Skip to content

Commit 8e34e8e

Browse files
better check for registering
1 parent 21bd64e commit 8e34e8e

File tree

2 files changed

+16
-12
lines changed

2 files changed

+16
-12
lines changed

src/features/PowerShellNotebooks.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ export class PowerShellNotebooksFeature implements vscode.NotebookContentProvide
181181

182182
async _save(document: vscode.NotebookDocument, targetResource: vscode.Uri, _token: vscode.CancellationToken): Promise<void> {
183183
const retArr: string[] = [];
184-
document.cells.forEach((cell, index) => {
184+
document.cells.forEach((cell) => {
185185
if (cell.cellKind === vscode.CellKind.Code) {
186186
retArr.push(...cell.document.getText().split(/\r|\n|\r\n/));
187187
} else {

src/main.ts

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -135,15 +135,6 @@ export function activate(context: vscode.ExtensionContext): void {
135135
PackageJSON.version,
136136
telemetryReporter);
137137

138-
const powerShellNotebooksFeature = new PowerShellNotebooksFeature();
139-
140-
try {
141-
context.subscriptions.push(vscode.notebook.registerNotebookContentProvider('PowerShellNotebookMode', powerShellNotebooksFeature));
142-
} catch (e) {
143-
// This would happen in VS Code changes their API.
144-
logger.writeVerbose("Failed to register NotebookContentProvider", e);
145-
}
146-
147138
// Create features
148139
extensionFeatures = [
149140
new ConsoleFeature(logger),
@@ -166,10 +157,23 @@ export function activate(context: vscode.ExtensionContext): void {
166157
new SpecifyScriptArgsFeature(context),
167158
new HelpCompletionFeature(logger),
168159
new CustomViewsFeature(),
169-
new PickRunspaceFeature(),
170-
powerShellNotebooksFeature
160+
new PickRunspaceFeature()
171161
];
172162

163+
// Notebook UI is only supported in VS Code Insiders.
164+
if(vscode.env.uriScheme === "vscode-insiders") {
165+
const powerShellNotebooksFeature = new PowerShellNotebooksFeature();
166+
167+
try {
168+
context.subscriptions.push(vscode.notebook.registerNotebookContentProvider('PowerShellNotebookMode', powerShellNotebooksFeature));
169+
extensionFeatures.push(powerShellNotebooksFeature);
170+
} catch (e) {
171+
// This would happen in VS Code changes their API.
172+
powerShellNotebooksFeature.dispose();
173+
logger.writeVerbose("Failed to register NotebookContentProvider", e);
174+
}
175+
}
176+
173177
sessionManager.setExtensionFeatures(extensionFeatures);
174178

175179
if (extensionSettings.startAutomatically) {

0 commit comments

Comments
 (0)