Giter Club home page Giter Club logo

sublime-sessionmanager's Introduction

Sublime-SessionManager

Why?

Let's be honest: Sublime Text's session management is weird. It doesn't outright suck, but it's inflexible and hard to use if you don't have a project file.

As long as you work in a single project everything is fine, but as soon as you want have multiple projects open at once, or just want to open a bunch of files and hack away, the sublime's session management screws you over.

Sometimes you simply want to save your current state, do something different, and come back to wherever you left. Preferably quick and uncomplicated.

If you've ever been in such a situation, then this plugin is for you.

Installation

The easiest way to install Session Manager is obviously through Sublime Package Control. Open Package Control (Preferences > Package Control), select Package Control: Install package, and search for "Session Manager".

Alternatively, you can install the plugin via git or simply download the repository.

For this you have to navigate to your package folder (use Preferences > Browse Packages... for this) and clone or unpack this repository in there.

How to use

Using Session Manager you can save, load and delete your current state. It handles all currently opened windows, folders and files, down to the currently visible region and all selections and cursors.

When you load a session you can continue your work as if nothing ever happened.

The commands, accessible through the command palette (ctrl+shift+p), are:

Session Manager: Save Session
Session Manager: Load Session
Session Manager: Delete Session

The default name for a session consists of the keyword session and the current timestamp (example: session_15-03-13T15-37-22). If you don't like the format, you can configure it with the session_name_format setting.

Each of your sessions will be saved in a Packages/User/sessions folder. This can be changed via the session_path setting.

The sessions are simple JSON files; this means you can edit and change them as you see fit.

You can also bind the commands to the keyboard:

Session Manager: Save Session       is   save_session,
Session Manager: Load Session       is   load_session, and
Session Manager: Delete Session     is   delete_session.

Configuration

Just take a look at the default configuration file to learn about the available options:

{
    // If session_path is null, the sessions will be saved in your sublime User folder in sessions
    // (User/sessions)
    "session_path": null,

    // The format which shall be used to generate the default session name;
    // Example result: session_15-02-07T15-09-32
    // take a look at the python docs for details:
    // https://docs.python.org/3.3/library/datetime.html#strftime-strptime-behavior
    "session_name_format": "session_%y-%m-%dT%H-%M-%S"
}

Plans for the future

These are the features I'm planning to add in the future:

  • Save only current window
  • Close everything and open a new window after saving (configurable or another command?)
  • More information when loading sessions (so we can easier distinguish between them)

If you think I should add some other features, then don't hesitate to open an issue.

Happy session saving!

sublime-sessionmanager's People

Contributors

calculuswhiz avatar korridzy avatar sascha-wolf avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar

sublime-sessionmanager's Issues

save layout.

can u plz also add the ability to save the layers group-layout ?

New Session

Rather than closing everything, new session would be a nice shortcut. Plus, I'd imagine it could also warn if the current session wasn't saved

Feature: Mini-project sessions

Project manager is one of my favourite tools. It lets me switch between repos without losing work on other projects. But what about switching sessions in a project? For example, I could be working on a feature in the back-end and a support ticket comes up asking why their data is not being calculated correctly. Should I keep adding more tabs? A new window? There's no easy way to switch back and forth between these tabs in a project.

SessionManger works but it also saves other windows I have, meaning that each session switch also loads these windows again. It also doesn't help that loading sessions just adds more windows instead of switching between them.

I want to be able to switch to a new set of tabs as I switch context for the same project, just as I switch projects when I switch repos. Basically, a project manager for a project. Instead of switching to a new project, it just switches the tabs out for another set of tabs for the same project

Autocompletion on session saving

It would be nice to have an autocompletion on session saving panel which can suggest session names user already created earlier.

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.