Giter VIP home page Giter VIP logo

sublime-profiles's Introduction

Profile Switcher for Sublime Text

Problem

Code is best viewed in a narrow, tight font, with syntax highlighting, line numbers etc.

Prose writing is best done in wide font, generous line spacing, dim colors, width-limited column.

Sublime Text is great for both, but changing settings back and forth quickly becomes teduious.

Meet Profiles! Save all the settings you’ve changed at once and quickly return to them when needed.

Installation

Package Control: Install PackageProfile Switcher.

Usage

Create a new profile via Profiles: Create Profile command.

Edit your Sublime Text settings as usual.

Switch back to previous profile via Profiles: Switch Profile.

Bind a key to Profiles: Toggle Last Used Profile to switch even more quickly:

{ "keys": ["ctrl+w"], "command": "toggle_profile"}

Features

  • Each profile remembers all the settings: font, scheme, line metrics, gutter, etc.
  • Any number of profiles.
  • Instant switching.
  • Minimal (“automagical”) UI.

How does it work?

Profiles maintain a copy of Preferences.sublime-settings, one per profile.

When switching to the profile, current Preferences.sublime-settings is saved, and profile version is copied over current Preferences.sublime-settings.

Inactive profiles are stored in ~/Library/Application Support/Sublime Text/Packages/sublime-profiles.

See also

Writer Color Scheme: A color scheme optimized for long-form writing.

Alabaster Color Scheme: Minimal color scheme for coding.

Fira Code: Best coding font in the world.

Changelog

1.1.0 Mar 2, 2021: Added Rename and Delete commands.

1.0.0 Feb 22, 2021: Initial.

Credits

Made by Niki Tonsky.

License

MIT License

sublime-profiles's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

sublime-profiles's Issues

How do I use a profile to open files with a specific extension?

Hi,

great plugin! I'm wondering how I can link an extension to a profile. So, every time I open a file with that extension, it will open the right profile. For example, I want all the *.md files to open with my "Writing" profile. Is that possible?

Cheers

MacOS dark mode profile auto-switching

Thank you for a very useful plugin. ❤️

I believe ST4 has dark mode support at theme level. Is that right? 🤔

However, wouldn't it be much more powerful if the entire profile could auto-switch in sync with your MacOS? Or is there a way to do that already, that I wasn't aware of?

I'm no python dev, so it's not easy for me to contrib this feature, but curious what you think.

Failed to create the very first profile

The plugin does not respond on creation the very first profile.

From the console:

Traceback (most recent call last):
  File "/Applications/Sublime Text.app/Contents/MacOS/Lib/python33/sublime_plugin.py", line 1201, in preview_
    ret = self.preview(v)
  File "/Users/pavel/Library/Application Support/Sublime Text 3/Installed Packages/Profile Switcher.sublime-package/profiles.py", line 42, in preview
  File "/Users/pavel/Library/Application Support/Sublime Text 3/Installed Packages/Profile Switcher.sublime-package/profiles.py", line 28, in profiles
FileNotFoundError: [Errno 2] No such file or directory: '/Users/pavel/Library/Application Support/Sublime Text 3/Packages/sublime-profiles/Data'

It works as expected after manual creation of the Data directory.

Sublime Text 4, macOS 10.15.7.

Merge preferences with default ones

Hi, thanks for your package, very useful! I think it would be even more handy, if the preferences of a certain profile would be merged with the default ones in User/Preferences.sublime-settings (and not completly overwritten).

There are some settings, which make sense to be the same in all profiles (hardware_acceleration, ignored_packages, dictionary, ...). Right now, I have to manually sync them.

This would be a breaking change, but maybe it can be an option per profile at least?

Remember settings that don't come from configuration files

There are some settings that can't be changed via .sublime-settings, like show/hide Minimap, sidebar, status bar, tab bar, toggling Distraction free, etc. It'd be cool if Profile Switcher would remember those, as I find myself constantly turning them on and off when going from Writing to Coding mode :/

This post may help. Idk if the better idea would to just make a new plugin for hiding UI elements via settings, so that it plays nicely with Profile Switcher.

I'll see if I can jot down a PR for this issue. Not sure where to start...

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.