jdsteinbach / vscode-custom-presentation-mode

VSCode
2 stars 0 forks source link

Custom Presentation Mode

A simple toggle for using VS Code during presentations. Changes window.zoomLevel, editor.fontWeight, and workbench.colorTheme to values that are better for displaying on a projector.

Features

Custom Presentation Mode makes it easy to toggle between your normal daily work settings and projector-friendly presentation settings.

Default settings are listed below (with explanations of why they're sensible defaults). They can be overridden in your own settings by storing other values in customPresentationMode

Extension Settings

Custom Presentation Mode contributes the following settings:

Command

Custom Presentation Mode: Toggle Off/On runs extension.customPresentationMode

Keybinding

Ctrl + Shift + p toggles Custom Presentation Mode on & off.

Configuration

Default Settings

"workbench.colorTheme": "Visual Studio Light" - Light themes are more legible for audiences viewing a projector.

"editor.fontWeight": "normal" - Lighter font weights are great for work, but less legible in a presentation.

"window.zoomLevel": 2 - This zooms in the whole VS Code UI, not just the editor font size!

Custom Settings

customPresentationMode.overrides

Nest any valid settings key/value pair in customPresentationMode.overrides in your user or workspace settings. For example:

{
  "customPresentationMode.overrides": {
    "editor.fontSize": 20,
    "editor.fontWeight": "700",
    "editor.fontLigatures": false,
    "editor.tabSize": 1,
    "workbench.colorTheme": "Legacy Light (rainglow)",
    "workbench.activityBar.visible": false
  }
}

Other Options

customPresentationMode.verbose

customPresentationMode.backup

Known Issues

If VS Code crashes while Custom Presentation Mode is on, it'll probably restore with Custom Presentation Mode options still enabled in workspace settings (but with Custom Presentation Mode disabled). Check customPresentationMode.backup for the old values if you need them for a manual backup.

Note: If you know a good way to restore correctly from a crash, please comment with links to tutorials, examples, or relevant docs, or open a PR if you have the time & ability. Thanks!

Release Notes

1.0.0

Initial release