Atom Profiles


#1

Hello folks!

I would like to know if there’s a way to enable “profiles” in Atom in order to use for example “Profile one” with “Plugin one” and “Plugin two”, an “Profile two” with “Plugin three” and “Plugin four”, and be able to switch between them.


Allow grouping packages together
#2

No, this capability doesn’t exist currently. What is the benefit of switching between profiles like you suggest rather than having all packages loaded and ready to go?


#3

I program in C# and PHP and I don’t want to overload Atom with plugins for both languages. I want Atom to continue running fast.


#4

Ok, so you want to defer loading of things that you don’t need yet. Atom has mechanisms for that. But once something has been loaded and is ready to go, unloading it just means that you would have to load it again if you need it again … incurring an additional cost.

As a matter of fact, we’re building in more mechanisms to build more ways to defer loading and activation of packages to speed up launch times. So this may achieve your underlying goal of Atom remaining fast without the necessity of having to make a manual change from one profile to another.


#5

On the contrary, I think this would help! As atom is being used to create IDEs (Nucleide, PlataformIO, etc.), I think it would be really convenient to have mode switcher or profile system with user defined parameters. For example lets say I want to work with PlataformIO and then do some work with Nuclide. It works best if those two instances are separate. Also PlataformIO might add things I do not want to have while coding in Nuclide (like buttons and such). Also, I might want a different syntax highlighting color for each programming language I use or you just don’t want some unneeded packages that slow you down. Instead of manually enabling/disabling for each use (which can get to ones nerves), you just make your own and switch when necessary. This might also come into use when you run multiple instances of atom and want a different mode on each instance.


#6

This would be an awesome feature, for starters as a user I am already familiar with the concept of profiles like google chrome has, I use one for work and one for home. Both have different set of extensions and plugins that I use.

Having a similar concept in Atom would be a real treat. During the day when I am at work, I have a different SCM manager that’s internal to my org, we have developed a package for Atom. And use a ton others that’s related to tech stack that I use at work.

By night, when I am working on Node, JavaScript, Git etc., I use a completely different stack. This doesn’t need the packages from my day job. Additionally its cumbersome as well because the way the UI is arranged in both setups.

So yeah, something like profiles should be a real life saver.


#7

I support this 100%

As soon as you start using Atom for two different programing language or software stack, your plugins start to conflict, and Atom slows down. I’d love profiles.


#8

This would be awesome


#9

I posted already on this github issue, but I’ll copy my comment to here:

Commenting with another use case:

I teach a programming class two days a week, where I sometimes project my screen onto the wall. When I do that, I need light UI and Syntax themes (usually I prefer dark). I also need to disable linting and autocomplete, and crank up the font size.

It would be nice to not have to toggle all of these settings every other day.


#10

I also would love to see this. I have different plugins that change my UI depending on what I’m using it for. It’s annoying to have to disable packages depending on my task.


#11

I signed up just to upvote this idea. I love having profiles in Chrome and Firefox so I can have different set of extensions installed for each. In my browsers, I have a set of main extensions for browsing, another for shopping, another for a completely clean session.

With Atom profiles I would be able to have a profile specific for the language I’m writing in making sure I don’t have a lot of unnecessary baggage for Scala when I’m writing in Go.


#12

:+1: Invaluable option. For beginners and not.