Coder Social home page Coder Social logo

vscode-shifty's Introduction

๐Ÿ“ Shifty depends on Codeface typefaces

To experience shifty in it's full glory, please review our Codeface installation docs.

shifty banner

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

shifty status

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

  1. Fork this repository to your own GitHub account and then clone it to your local device
  2. Install the dependecies using yarn
  3. 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
  4. Ensure any changes are documented in CHANGELOG.md

License

MIT ยฉ Brent Mealhouse

vscode-shifty's People

Contributors

bmealhouse avatar dependabot[bot] avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

vscode-shifty's Issues

Feature Request: Shift by filetype

Shifting theme and font by the file extension of the file opened is a very useful feature I am looking for in visual studio code. There are some syntax highlighting extensions that are readable only in dark mode, and also, when writing markdown files, for me it is preferable to use a variable width font. It would be really great to have this functionality as part of Shifty.

Shifty status does not span multiple instances of VS Code

When I open VS Code and start the shift interval everything works great. I click on shifty in the status bar and it shows me the time remaining until the next shift.

After opening another instance of VS Code, I click on shifty in the status bar and it tells me the shift interval has not been started.

It would be great if all instances of VS Code shared the same shift interval status.

Shift happens more than one time

Sometimes the shift interval causes the color theme & font family to shift more than one time. When this occurs, it usually only shifts twice, but I have seen it shift up to 4-5 times.

Music

This may seem a bit of a stretch, but is there a way to integrate music with shifty. I was inspired by this when a theme called Hyrule got shifted. Nothing would be more enjoyable than hearing a nostalgic Zelda song while coding my life away ๐Ÿคช

Feature request: Font size

Hello, thank you for the nice extension!

I was trying out a couple of different fonts and some of them are quite bigger (or smaller) than others at the same set size, it occurred to me that it would be great if this extension could somehow associate the font family with a size (and while at it, maybe the other settings like weight and letter spacing) so the shift from one to another font is super smooth.

Not sure if possible at all, I thought I'd share it.

Feature Request: Use all system fonts

This might result in slower startup time, but I would like the option to shift between all installed monospace fonts instead of having to enumerate them manually in the "includeFontFamilies" config option.

Remaining time not displayed correctly in shifty status

One thing I noticed was that if I put my laptop to sleep with VSCode open, when I open it Shifty says e.g. "-620:32 until color theme & font family will shift". It seem to be only a cosmetic problem, though, since it does still shift within 30 minutes.

Thought you'd like the feedback, but it doesn't really bother me.

Selecting Ignore does not reset the clock

Clicking the Ignore button for a theme does not reset the clock. So say you've been away from your computer for a bit and you come back and you see this horrid theme in VS Code and there's 2 minutes left on the shift interval clock. So you dutifully tell Shifty to ignore this theme in the future. Shifty shifts the theme to another, but only 2 minutes remain on the clock.

Instead, Shifty should reset the clock to 30 minutes.

Clock doesn't show on all VS Code windows

If I have several VS Code windows open, the Shifty clock doesn't show on all of them. In addition, in some cases, but not all the time, in windows where the clock is not displayed, sometimes commands to pause/restart the shift interval fail.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.