Merge pull request #137561 from rchiodo/rchiodo/renderer_iw

Fix jupyter issue 8316 - Jupyter renderer extension not used for IW
This commit is contained in:
Peng Lyu 2021-11-19 18:19:18 -08:00 committed by GitHub
commit 02e3a81153
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 5 additions and 4 deletions

View file

@ -320,6 +320,7 @@ export class NotebookOutputRendererInfoStore {
const preferred = notebookProviderInfo && this.preferredMimetype.getValue()[notebookProviderInfo.id]?.[mimeType];
const notebookExtId = notebookProviderInfo?.extension?.value;
const notebookId = notebookProviderInfo?.id;
const renderers: { ordered: IOrderedMimeType, score: number }[] = Array.from(this.contributedRenderers.values())
.map(renderer => {
const ownScore = kernelProvides === undefined
@ -333,7 +334,7 @@ export class NotebookOutputRendererInfoStore {
const rendererExtId = renderer.extensionId.value;
const reuseScore = preferred === renderer.id
? ReuseOrder.PreviouslySelected
: rendererExtId === notebookExtId || RENDERER_EQUIVALENT_EXTENSIONS.get(rendererExtId)?.has(notebookExtId!)
: rendererExtId === notebookExtId || RENDERER_EQUIVALENT_EXTENSIONS.get(rendererExtId)?.has(notebookId!)
? ReuseOrder.SameExtensionAsNotebook
: renderer.isBuiltin ? ReuseOrder.BuiltIn : ReuseOrder.OtherRenderer;
return {

View file

@ -57,14 +57,14 @@ export const ACCESSIBLE_NOTEBOOK_DISPLAY_ORDER: readonly string[] = [
];
/**
* A mapping of extension IDs who contain renderers, to extensions who they
* A mapping of extension IDs who contain renderers, to notebook ids who they
* should be treated as the same in the renderer selection logic. This is used
* to prefer the 1st party Jupyter renderers even though they're in a separate
* extension, for instance. See #136247.
*/
export const RENDERER_EQUIVALENT_EXTENSIONS: ReadonlyMap<string, ReadonlySet<string>> = new Map([
['ms-toolsai.jupyter', new Set(['vscode.ipynb'])],
['ms-toolsai.jupyter-renderers', new Set(['vscode.ipynb'])],
['ms-toolsai.jupyter', new Set(['jupyter-notebook', 'interactive'])],
['ms-toolsai.jupyter-renderers', new Set(['jupyter-notebook', 'interactive'])],
]);
export const BUILTIN_RENDERER_ID = '_builtin';