📍 Shifty depends on Codeface typefaces
To experience shifty in it's full glory, please review our Codeface installation docs.
Table of contents
Codeface installation
The easiest way to get started is to use our install script, however, you can also download the .zip
or .tar.xz
directly from Codeface and install the fonts on your system manually.
After installing Codeface font families, restart VS Code to have them take affect.
Mac, Linux
git clone git://github.com/bmealhouse/vscode-shifty-font-families.git
cd vscode-shifty-font-families && ./install.sh
Windows
git clone git://github.com/bmealhouse/vscode-shifty-font-families.git
cd vscode-shifty-font-families
./install.ps1
Features
- Highly configurable (see settings)
- Shift color theme & font family on 30min interval
- Shift interval can be used as a pomodoro timer
- Favorite/ignore color themes & font families
- Shifty status bar displays remaining time of shift interval
Shift interval
This is the bread & butter of shifty. By default, the shift interval will be started for you automatically. You can pause the shift interval by opening the command palette (⇧⌘P
) and typing shifty pause
.
Shift mode
Shifty supports three different shift modes when cycling through color themes & font families. I recommend starting with discovery mode until all color themes & font families have been favorited or ignored and then switch over to favorites mode.
default
Cycles through all color themes & font families that have not been ignored.
discovery
Cycles through color themes & font families that have not been favorited or ignored. When all color themes or font families have been favorited or ignored, shifty will fallback to using favorites mode.
favorites
Cycles through favorite color themes & font families. Respects ignoreDarkColorThemes
, ignoreHighContrastColorThemes
, and ignoreLightColorThemes
settings to allow dark, high contrast, and light color theme favorites to be used independently.
Commands
Anything shifty can do is exposed via commands. Open the VS Code command palette (⇧⌘P
) and type shifty
to see the list of commands availabe to you.
- Shift
- Shift color theme
- Shift font family
- Toggle favorite color theme
- Toggle favorite font family
- Ignore color theme
- Ignore font family
- Start shift interval
- Pause shift interval
- Reset shift interval
- Show status
- Enable debugging
Settings
Shifty has many configuration options. Please review these settings so shifty can fulfill your every desire.
shifty.shiftMode
Controls how shifty cycles through color themes & font families.
shifty.colorThemes.favoriteColorThemes
List of color themes you've favorited.
shifty.colorThemes.ignoreColorThemes
List of color themes you've ignored.
shifty.colorThemes.ignoreDarkColorThemes
Controls whether dark color themes are ignored.
default: false
shifty.colorThemes.ignoreHighContrastColorThemes
Controls whether high contrast color themes are ignored.
default: false
shifty.colorThemes.ignoreLightColorThemes
Controls whether light color themes are ignored.
default: false
shifty.fontFamilies.fallbackFontFamily
Controls which font family will be used as the fallback. Supports comma delimited values (e.g. "SF Mono", monospace
).
default: monospace
shifty.fontFamilies.favoriteFontFamilies
List of font families you've favorited.
shifty.fontFamilies.ignoreCodefaceFontFamilies
Controls whether Codeface font families are ignored.
shifty.fontFamilies.ignoreFontFamilies
List of font families you've ignored.
shifty.fontFamilies.includeFontFamilies
List of font families to include. Useful for including fonts you've purchased.
shifty.shiftInterval.automaticallyStartShiftInterval
Controls whether the shift interval will start automatically.
default: true
shifty.shiftInterval.shiftColorThemeIntervalMin
Number of minutes to wait before shifting the color theme. Use 0
or null
to disable the color theme shift interval.
default: 30
shifty.shiftInterval.shiftFontFamilyIntervalMin
Number of minutes to wait before shifting the font family. Use 0
or null
to disable the font family shift interval.
default: 30
Contributing
- Fork this repository to your own GitHub account and then clone it to your local device
- Install the dependecies using
yarn
- Use VS Code launch configurations to debug or run integration tests
- Extension - runs the extension from source with debugging enabled
- Extension Tests - runs the integration test suite
- Ensure any changes are documented in
CHANGELOG.md
License
MIT © Brent Mealhouse