Open
Description
openedon Jul 12, 2022
As described in #151994 extensions have to have special knowledge about the interactive window URI in order to handle things like inserting new cells and intellisense.
This issue is to:
- Eliminate URI parsing in extensions and language servers
- Eliminate the usage of a command to create an interactive window
- Propose an API for creating interactive windows (based on the 'interactive.open' command used now)
- Propose an API for adding new cells into the history
- Change the current notebook API to include the special 'input' cell as part of the interactive notebook.
// Under vscode.workspace namespace
/**
* Creates a new interactive window
* @param resource interactive resource uri
* @param title title of the editor
* @param initialController controller to start with
* @param options options for viewing
*/
export function openInteractiveWindow(resource?: Uri, title?: string, initialController?: NotebookController, options?: { viewColumn?: ViewColumn; preserveFocus?: boolean }): Thenable<NotebookDocument>;
// Under vscode.NotebookEdit class
/**
* Utility to create an edit that adds to an interactive window
* @param newCells the new cells
*/
static addInteractiveCells(newCells: NotebookCellData[]): NotebookEdit;
Additionally the notebook API for the interactive window should include the input box in its list of cells.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment