Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/microsoft/vscode.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraamunger <aamunger@microsoft.com>2022-04-12 18:32:14 +0300
committeraamunger <aamunger@microsoft.com>2022-04-13 19:12:34 +0300
commit51ab78f535d8537e031e1ae77cac678ae22b0249 (patch)
tree67b6c0a2fb2cbc64331c36f499acd8f28d286de7 /src/vs/workbench/contrib/notebook
parent9a87fe7eaf2bcf29de4f5ec7c02044c410c95c0f (diff)
added setting to override notebook output font family and size
Diffstat (limited to 'src/vs/workbench/contrib/notebook')
-rw-r--r--src/vs/workbench/contrib/notebook/browser/notebook.contribution.ts13
-rw-r--r--src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.ts2
-rw-r--r--src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.ts8
-rw-r--r--src/vs/workbench/contrib/notebook/common/notebookCommon.ts4
-rw-r--r--src/vs/workbench/contrib/notebook/common/notebookOptions.ts30
5 files changed, 51 insertions, 6 deletions
diff --git a/src/vs/workbench/contrib/notebook/browser/notebook.contribution.ts b/src/vs/workbench/contrib/notebook/browser/notebook.contribution.ts
index f1c5936099e..17c7255ad50 100644
--- a/src/vs/workbench/contrib/notebook/browser/notebook.contribution.ts
+++ b/src/vs/workbench/contrib/notebook/browser/notebook.contribution.ts
@@ -893,10 +893,21 @@ configurationRegistry.registerConfiguration({
default: 'fromEditor'
},
[NotebookSetting.outputLineHeight]: {
- markdownDescription: nls.localize('notebook.outputLineHeight', "line height of the output text"),
+ markdownDescription: nls.localize('notebook.outputLineHeight', "Line height of the output text"),
type: 'number',
default: 22,
tags: ['notebookLayout']
},
+ [NotebookSetting.outputFontSize]: {
+ markdownDescription: nls.localize('notebook.outputFontSize', "Font size for plain text outputs. When set to 0 `#editor.fontSize#` is used."),
+ type: 'number',
+ default: 0,
+ tags: ['notebookLayout']
+ },
+ [NotebookSetting.outputFontFamily]: {
+ markdownDescription: nls.localize('notebook.outputFontFamily', "The font family for plain text output of notebook cells. When set to empty, the `#editor.fontFamily#` is used."),
+ type: 'string',
+ tags: ['notebookLayout']
+ },
}
});
diff --git a/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.ts b/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.ts
index 3cc81adc47a..15e56226ccd 100644
--- a/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.ts
+++ b/src/vs/workbench/contrib/notebook/browser/notebookEditorWidget.ts
@@ -397,7 +397,7 @@ export class NotebookEditorWidget extends Disposable implements INotebookEditorD
this._updateForNotebookConfiguration();
}
- if (e.compactView || e.focusIndicator || e.insertToolbarPosition || e.cellToolbarLocation || e.dragAndDropEnabled || e.fontSize || e.markupFontSize || e.insertToolbarAlignment || e.outputLineHeight) {
+ if (e.compactView || e.focusIndicator || e.insertToolbarPosition || e.cellToolbarLocation || e.dragAndDropEnabled || e.fontSize || e.outputFontSize || e.fontFamily || e.outputFontFamily || e.markupFontSize || e.insertToolbarAlignment || e.outputLineHeight) {
this._styleElement?.remove();
this._createLayoutStyles();
this._webview?.updateOptions({
diff --git a/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.ts b/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.ts
index 4917457e7dc..d5ad9679436 100644
--- a/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.ts
+++ b/src/vs/workbench/contrib/notebook/browser/view/renderers/backLayerWebView.ts
@@ -81,7 +81,6 @@ export interface INotebookDelegateForWebview {
interface BacklayerWebviewOptions {
readonly outputNodePadding: number;
readonly outputNodeLeftPadding: number;
- readonly outputLineHeight: number;
readonly previewNodePadding: number;
readonly markdownLeftMargin: number;
readonly leftMargin: number;
@@ -89,8 +88,11 @@ interface BacklayerWebviewOptions {
readonly runGutter: number;
readonly dragAndDropEnabled: boolean;
readonly fontSize: number;
+ readonly outputFontSize: number;
readonly fontFamily: string;
+ readonly outputFontFamily: string;
readonly markupFontSize: number;
+ readonly outputLineHeight: number;
}
export class BackLayerWebView<T extends ICommonCellInfo> extends Disposable {
@@ -205,9 +207,9 @@ export class BackLayerWebView<T extends ICommonCellInfo> extends Disposable {
'notebook-output-node-left-padding': `${this.options.outputNodeLeftPadding}px`,
'notebook-markdown-min-height': `${this.options.previewNodePadding * 2}px`,
'notebook-markup-font-size': typeof this.options.markupFontSize === 'number' && this.options.markupFontSize > 0 ? `${this.options.markupFontSize}px` : `calc(${this.options.fontSize}px * 1.2)`,
- 'notebook-cell-output-font-size': `${this.options.fontSize}px`,
+ 'notebook-cell-output-font-size': `${this.options.outputFontSize || this.options.fontSize}px`,
'notebook-cell-output-line-height': `${this.options.outputLineHeight}px`,
- 'notebook-cell-output-font-family': this.options.fontFamily,
+ 'notebook-cell-output-font-family': this.options.outputFontFamily || this.options.fontFamily,
'notebook-cell-markup-empty-content': nls.localize('notebook.emptyMarkdownPlaceholder', "Empty markdown cell, double click or press enter to edit."),
'notebook-cell-renderer-not-found-error': nls.localize({
key: 'notebook.error.rendererNotFound',
diff --git a/src/vs/workbench/contrib/notebook/common/notebookCommon.ts b/src/vs/workbench/contrib/notebook/common/notebookCommon.ts
index 4a2b3f9e405..121ac0689da 100644
--- a/src/vs/workbench/contrib/notebook/common/notebookCommon.ts
+++ b/src/vs/workbench/contrib/notebook/common/notebookCommon.ts
@@ -914,7 +914,9 @@ export const NotebookSetting = {
globalToolbarShowLabel: 'notebook.globalToolbarShowLabel',
markupFontSize: 'notebook.markup.fontSize',
interactiveWindowCollapseCodeCells: 'interactiveWindow.collapseCellInputCode',
- outputLineHeight: 'notebook.outputLineHeight'
+ outputLineHeight: 'notebook.outputLineHeight',
+ outputFontSize: 'notebook.outputFontSize',
+ outputFontFamily: 'notebook.fontFamily'
} as const;
export const enum CellStatusbarAlignment {
diff --git a/src/vs/workbench/contrib/notebook/common/notebookOptions.ts b/src/vs/workbench/contrib/notebook/common/notebookOptions.ts
index 91d23a63e48..b7c9b89a926 100644
--- a/src/vs/workbench/contrib/notebook/common/notebookOptions.ts
+++ b/src/vs/workbench/contrib/notebook/common/notebookOptions.ts
@@ -62,6 +62,8 @@ export interface NotebookLayoutConfiguration {
showFoldingControls: 'always' | 'mouseover';
dragAndDropEnabled: boolean;
fontSize: number;
+ outputFontSize: number;
+ outputFontFamily: string;
outputLineHeight: number;
markupFontSize: number;
focusIndicatorLeftMargin: number;
@@ -85,6 +87,9 @@ export interface NotebookOptionsChangeEvent {
readonly consolidatedRunButton?: boolean;
readonly dragAndDropEnabled?: boolean;
readonly fontSize?: boolean;
+ readonly outputFontSize?: boolean;
+ readonly fontFamily?: boolean;
+ readonly outputFontFamily?: boolean;
readonly markupFontSize?: boolean;
readonly editorOptionsCustomizations?: boolean;
readonly interactiveWindowCollapseCodeCells?: boolean;
@@ -136,6 +141,8 @@ export class NotebookOptions extends Disposable {
const showFoldingControls = this._computeShowFoldingControlsOption();
// const { bottomToolbarGap, bottomToolbarHeight } = this._computeBottomToolbarDimensions(compactView, insertToolbarPosition, insertToolbarAlignment);
const fontSize = this.configurationService.getValue<number>('editor.fontSize');
+ const outputFontSize = this.configurationService.getValue<number>(NotebookSetting.outputFontSize);
+ const outputFontFamily = this.configurationService.getValue<string>(NotebookSetting.outputFontFamily);
const markupFontSize = this.configurationService.getValue<number>(NotebookSetting.markupFontSize);
const editorOptionsCustomizations = this.configurationService.getValue(NotebookSetting.cellEditorOptionsCustomizations);
const interactiveWindowCollapseCodeCells: InteractiveWindowCollapseCodeCells = this.configurationService.getValue(NotebookSetting.interactiveWindowCollapseCodeCells);
@@ -169,6 +176,8 @@ export class NotebookOptions extends Disposable {
insertToolbarAlignment,
showFoldingControls,
fontSize,
+ outputFontSize,
+ outputFontFamily,
outputLineHeight,
markupFontSize,
editorOptionsCustomizations,
@@ -203,11 +212,15 @@ export class NotebookOptions extends Disposable {
const showFoldingControls = e.affectsConfiguration(NotebookSetting.showFoldingControls);
const dragAndDropEnabled = e.affectsConfiguration(NotebookSetting.dragAndDropEnabled);
const fontSize = e.affectsConfiguration('editor.fontSize');
+ const outputFontSize = e.affectsConfiguration(NotebookSetting.outputFontSize);
+ const fontFamily = e.affectsConfiguration('editor.fontFamily');
+ const outputFontFamily = e.affectsConfiguration(NotebookSetting.outputFontFamily);
const markupFontSize = e.affectsConfiguration(NotebookSetting.markupFontSize);
const editorOptionsCustomizations = e.affectsConfiguration(NotebookSetting.cellEditorOptionsCustomizations);
const interactiveWindowCollapseCodeCells = e.affectsConfiguration(NotebookSetting.interactiveWindowCollapseCodeCells);
const outputLineHeight = e.affectsConfiguration(NotebookSetting.outputLineHeight);
+
if (
!cellStatusBarVisibility
&& !cellToolbarLocation
@@ -222,6 +235,9 @@ export class NotebookOptions extends Disposable {
&& !showFoldingControls
&& !dragAndDropEnabled
&& !fontSize
+ && !outputFontSize
+ && !fontFamily
+ && !outputFontFamily
&& !markupFontSize
&& !editorOptionsCustomizations
&& !interactiveWindowCollapseCodeCells
@@ -287,6 +303,14 @@ export class NotebookOptions extends Disposable {
configuration.fontSize = this.configurationService.getValue<number>('editor.fontSize');
}
+ if (outputFontSize) {
+ configuration.outputFontSize = this.configurationService.getValue<number>(NotebookSetting.outputFontSize);
+ }
+
+ if (outputFontFamily) {
+ configuration.outputFontFamily = this.configurationService.getValue<string>(NotebookSetting.outputFontFamily);
+ }
+
if (markupFontSize) {
configuration.markupFontSize = this.configurationService.getValue<number>(NotebookSetting.markupFontSize);
}
@@ -321,6 +345,8 @@ export class NotebookOptions extends Disposable {
consolidatedRunButton,
dragAndDropEnabled,
fontSize,
+ outputFontSize,
+ outputFontFamily,
markupFontSize,
editorOptionsCustomizations,
interactiveWindowCollapseCodeCells,
@@ -514,6 +540,8 @@ export class NotebookOptions extends Disposable {
runGutter: this._layoutConfiguration.cellRunGutter,
dragAndDropEnabled: this._layoutConfiguration.dragAndDropEnabled,
fontSize: this._layoutConfiguration.fontSize,
+ outputFontSize: this._layoutConfiguration.outputFontSize,
+ outputFontFamily: this._layoutConfiguration.outputFontFamily,
markupFontSize: this._layoutConfiguration.markupFontSize,
outputLineHeight: this._layoutConfiguration.outputLineHeight,
};
@@ -530,6 +558,8 @@ export class NotebookOptions extends Disposable {
runGutter: 0,
dragAndDropEnabled: false,
fontSize: this._layoutConfiguration.fontSize,
+ outputFontSize: this._layoutConfiguration.outputFontSize,
+ outputFontFamily: this._layoutConfiguration.outputFontFamily,
markupFontSize: this._layoutConfiguration.markupFontSize,
outputLineHeight: this._layoutConfiguration.outputLineHeight,
};