Background Pro
Global image, video, and music controls for VS Code
Windows + Mac + Linux
Add multiple background images or videos for the window, editors, sidebars, or the panel. Load backgrounds from file, glob, or URL. Transition between multiple background images.
MP4 and WEBM files are supported as global window backgrounds. Videos autoplay muted, loop continuously, ignore pointer input, and use the background.videoSpeed setting. Add them through Background: Configuration in the Window Backgrounds section, then run Background: Install.
Use Background: Music Player to open an integrated audio player inside VS Code. Add MP3, WAV, OGG, M4A, AAC, or FLAC files, select tracks from the playlist, control volume, play/pause, skip tracks, and enable looping. The playlist is saved globally.
Use Background: Toggle Video Audio to enable or disable sound on the global video background, then run Background: Install. Chromium may still require a user interaction before allowing autoplay with sound.
Installation
- Install the generated
.vsix from VS Code using Extensions: Install from VSIX.
- After publication, install it using your Marketplace identifier:
backgroundpro.background-pro (replace backgroundpro with your own publisher ID before publishing).
This project preserves the GPL-2.0 license and attribution required by the original Katsute Background code it extends. The global workbench method modifies VS Code installation files and is not an official VS Code API.
Customize using the Background: Configuration command or press the Background button in the bottom right to access the configuration menu.
Install using the Background: Install command or press the Install button in the configuration menu to install the background.
Features
Multiple Backgrounds
Add background images for the whole window, editors, sidebars, or the panel. Transition between multiple background images.
Full Window
Editor, Sidebar, and Terminal
Slideshow
Use the Background: Configuration command or press the Background button in the bottom right to access the configuration menu.
Glob, URL, and Environment Variable Support
Add background images by file, folder, or URL. Supports glob and environment variables.
Commands
| Command |
Description |
| Background: Install |
Installs and enables the background |
| Background: Uninstall |
Uninstalls and disables the background |
| Background: Reload |
Randomizes the current background |
| Background: Configuration |
Opens the configuration menu |
| Background: Changelog |
Opens the changelog |
| Background: Preset |
Applies a visual preset |
| Background: Toggle Focus Mode |
Temporarily hides decorative backgrounds |
| Background: Music Player |
Opens the integrated music player |
| Background: Toggle Video Audio |
Toggles audio for the global video background |
Configuration
Use the Background: Configuration command or press the Background button in the bottom right to access the configuration menu.
| Background |
Description |
| Window Backgrounds |
The list of files or globs to use for the window background image |
| Editor Backgrounds |
The list of files or globs to use for editor background images |
| Sidebar Backgrounds |
The list of files or globs to use for the sidebar background images |
| Panel Backgrounds |
The list of files or globs to use for the panel background image |
| Video backgrounds |
MP4 and WEBM files are supported in Window Backgrounds and play muted in a continuous loop |
|
|
| Style Option |
Description |
| Alignment |
Background alignment |
| Alignment Value |
Background alignment (CSS) |
| Blur |
Background blur (CSS) |
| Opacity |
Background opacity, 1 is fully visible and 0 is invisible |
| Repeat |
Background repeat |
| Size |
Background size |
| Size Value |
Background size (CSS) |
| Change Time |
How often to change the background image in seconds, set to 0 to never change |
| Video Speed |
Playback speed for video backgrounds, from 0.25x to 2x |
| Video Pause on Blur |
Pause video playback when the VS Code window loses focus |
| Video Audio |
Allow video audio; disabled by default because autoplay with sound is restricted by Chromium |
| Overlay Color / Opacity |
Tint and readability strength over the background |
| Vignette |
Darken the edges softly to keep attention on the editor |
| Gradient |
Add a subtle side gradient behind explorer and panels |
| Focus Mode |
Hide decorative backgrounds temporarily while keeping them installed |
| Music Volume |
Default volume for the integrated music player |
| Music Autoplay |
Start the first track when the music player opens |
| Music Loop |
Loop the current track |
|
|
| Advanced Option |
Description |
| Auto Install |
Automatically install backgrounds on startup |
| Render Text Above Background |
Show text, code, browser, and iframes on top of the background |
| Remove Terminal Background |
Remove terminal background when using the above option |
| Use Inverted Opacity |
Use an inverted opacity, so 0 is visible and 1 is invisible |
| Smooth Image Rendering |
Use smooth image rendering when resizing images instead of pixelated |
| Setting Scope |
Where to save background settings - Global or Workspace |
| CSS |
Custom CSS |
| API |
Toggles API access |
Presets
Use Background: Preset to apply Cinematic, Minimal, Neon, or Dark Focus. Use Background: Toggle Focus Mode to hide or restore the background; both commands notify you when Background: Install is required.
Environment Variables
If the path is not working, add an additional / after the variable.
| Variable |
Description |
${vscode:workspace} |
Current VSCode project folder |
${vscode:user} |
VSCode user directory, either Code/User or data/user-data/User |
${user:home} |
Current user's home directory |
${...} |
System environment variable |
API
Requires API setting to be turned on in the extension
Add this extension to your package.json.
{
...
"extensionDependencies": [
"katsute.code-background"
]
...
}
Access the api by using:
const background = vscode.extensions.getExtension("katsute.code-background").exports;
install(): void
Runs the Background: Install command.
uninstall(): void
Runs the Background: Uninstall command.
reload(): void
Runs the Background: Reload command.
get(ui): string[]?
ui : Background to get from; either window, editor, sidebar, panel.
Returns an array of globs for the specified background.
add(ui, glob): Promise<boolean>
ui : Background to add to; either window, editor, sidebar, panel.
glob: Glob to add.
Returns true if successful.
replace(ui, old, glob): Promise<boolean>
ui : Background to replace from; either window, editor, sidebar, panel.
old: Glob to replace.
glob: Updated glob.
Returns true if successful.
remove(ui, glob): Promise<boolean>
ui : Background to remove from; either window, editor, sidebar, panel.
glob: Glob to remove.
Returns true if successful.
This extension is released under the GNU General Public License (GPL) v2.0.