Add run cells as a command (#5080)

This commit is contained in:
Chris LaFreniere
2019-04-17 14:26:31 -07:00
committed by GitHub
parent 41bf10d989
commit 2beedb10d4
3 changed files with 30 additions and 0 deletions

View File

@@ -60,6 +60,10 @@
"title": "%notebook.command.runactivecell%",
"icon": "resources/dark/touchbar_run_cell.png"
},
{
"command": "notebook.command.runallcells",
"title": "%notebook.command.runallcells%"
},
{
"command": "notebook.command.addcode",
"title": "%notebook.command.addcode%"
@@ -145,6 +149,10 @@
"command": "notebook.command.runactivecell",
"when": "notebookEditorVisible"
},
{
"command": "notebook.command.runallcells",
"when": "notebookEditorVisible"
},
{
"command": "notebook.command.addcode",
"when": "notebookEditorVisible"
@@ -229,6 +237,11 @@
"key": "F5",
"when": "activeEditor == workbench.editor.notebookEditor"
},
{
"command": "notebook.command.runallcells",
"key": "Ctrl+Shift+F5",
"when": "activeEditor == workbench.editor.notebookEditor"
},
{
"command": "notebook.command.addcode",
"key": "Ctrl+Shift+C",

View File

@@ -9,6 +9,7 @@
"notebook.command.open": "Open Notebook",
"notebook.analyzeJupyterNotebook": "Analyze in Notebook",
"notebook.command.runactivecell": "Run Cell",
"notebook.command.runallcells": "Run Cells",
"notebook.command.addcode": "Add Code Cell",
"notebook.command.addtext": "Add Text Cell",
"notebook.command.addcell": "Add Cell",

View File

@@ -39,6 +39,9 @@ export async function activate(extensionContext: vscode.ExtensionContext): Promi
extensionContext.subscriptions.push(vscode.commands.registerCommand('notebook.command.runactivecell', () => {
runActiveCell();
}));
extensionContext.subscriptions.push(vscode.commands.registerCommand('notebook.command.runallcells', () => {
runAllCells();
}));
extensionContext.subscriptions.push(vscode.commands.registerCommand('notebook.command.addcell', async () => {
let cellType: CellType;
try {
@@ -149,6 +152,19 @@ async function runActiveCell(): Promise<void> {
}
}
async function runAllCells(): Promise<void> {
try {
let notebook = azdata.nb.activeNotebookEditor;
if (notebook) {
await notebook.runAllCells();
} else {
throw new Error(noNotebookVisible);
}
} catch (err) {
vscode.window.showErrorMessage(err);
}
}
async function addCell(cellType: azdata.nb.CellType): Promise<void> {
try {
let notebook = azdata.nb.activeNotebookEditor;