This package consumes the following services:
Atomic Management
Per-project Atom config files.
Prerequisites
Requires Atom v1.26 or above. This package will not work with older versions of Atom.
Installation
- In Atom, open Preferences (Settings on Windows)
- Go to the Install section
- Search for
Atomic Management
and clickInstall
.
Or through the command line:
apm install atomic-management
Quick Start
Create project specific config by adding .atom/config.cson to your project.
- Install the Atomic Management package.
- Create an .atom directory at the top-level of your project.
- Create config.cson within the .atom directory (
.atom/config.cson
). - Add desired project configuration to config.cson. Atom will watch for changes of config.cson and apply them immediately when changes are detected.
Usage
When a project directory is loaded, Atomic Management will look for a .atom/config.cson
file in the opened directory. If no such file is found, global configurations are used (as per usual). If a project file is found, it is loaded as Project Configurations and will override the global configuration when in the project's context.
This allows users to configure visual settings (font size, color, themes), disable packages, modify settings for other packages, etc. on a per-project basis without tampering with global configurations.
Users can begin using this package immediately after installation with no additional configuration other than the creation of the .atom/config.cson
file.
If you encounter issues, please submit a GitHub issue.
Per-Project Config files: How to
The .atom/config.cson
file should be specified in a syntax similar to the global config file.
Example config.cson:
"*":
core: {
disabledPackages: [
"markdown-preview"
]
}
editor: {
tabLength: 4
}
"bracket-matcher":
autocompleteBrackets: true
".text.html.php":
editor:
tabLength: 8
"bracket-matcher":
autocompleteBrackets: false
This package supports all Atom configurations, including but not limited to:
- Specifying settings for the global namespace
*
(affects all files) or settings that only affect individual filetypes- See here for instructions on how to find a language's scope name.
core
andeditor
settings- Themes
- Packages to disable
- Package-specific configurations, such as those of the
bracket-matcher
package
For a full list of configurable content, please see the official Atom documentation here.
Features that pertain explicitly to styling, such as font color, can be changed by creating themes and placing them in the core
array. See here for more details on creating themes.
Additional Features
Status Bar
When local configuration files are active, a gear icon will appear on the lower left side of the Atom window. When clicked, this status bar button will display the local configuration files that are currently active and allow you to activate, deactivate, or rearrange the order of the local project configurations.
FAQ
- How do per-project config files interact with the global config?
- How do I reset my choice of which per-project config file to use?
- How do I tell which per-project config file is currently in effect?
- Can different keybindings be set with this package?
How do per-project config files interact with the global config?
The settings described in the .atom/config.cson
file will override the global Atom configuration, and each operates independently of each other.
If you wish to change settings on a per-project level, directly edit/create the .atom/config.cson
under the project's root directory. If you wish to change global settings, directly edit the global configuration either through Edit > Config
on Windows/Linux or Atom > Config
on Mac.
How do I reset my choice of which per-project config file to use?
In Packages > Atomic Management
, select the option Reset Remembered Config
.
How do I tell which per-project config file is currently in effect?
You can quickly open up the active per-project config file by selecting
Packages > Atomic Management > Open Active Config File
.
Can different keybindings be set with this package?
No. This package only manages settings that are available through Atom's global config.cson
file. Atom manages keybindings through a separate keymap.cson file.
Troubleshooting
Broken Themes Switching
If you receive the error message:
Uncaught TypeError: Cannot read property 'isEqual' of undefined
Try clearing your Electron cache. For instructions on how to do this, see here.