atomic-management

Per-project Atom config

harmsk

5,923

5

0.4.2

MIT

GitHub

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

Or through the command line:

apm install atomic-management

Quick Start

Create project specific config by adding .atom/config.cson to your project.

  1. Install the Atomic Management package.
  2. Create an .atom directory at the top-level of your project.
  3. Create config.cson within the .atom directory (.atom/config.cson).
  4. 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:

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.

Status Bar Screenshot

FAQ

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.