Giter VIP home page Giter VIP logo

atom-project-manager's Introduction

Project Manager

apm apm

Paypal Donations a 🍺 if you enjoy using the project manager :)

Project Manager

Get easy access to all your projects and manage them with project specific settings and options.

Install

$ apm install project-manager

You can also open Atom and go to Preferences > Install and search for project-manager

Use

List Projects

ctrl-cmd-p (mac) / alt-shift-P (win & linux) or Project Manager: List Projects in the Command Palette.

Projects can be filtered by title, group and template by typing group: atom which would give all projects with the atom group.

Save Project

Project Manager: Save Project in the Command Palette and write the title you want to save the project as.

Edit Project

Project Manager: Edit Project will open a page where you can edit the current project. It currently only supports certain fields.

Edit Projects

All projects are saved in a .cson file which you can easily reach by searching for Project Manager: Edit Projects in the Command Palette.

Project Settings

setting Type Description Default
title string Projects title. Used in the projects list ''
paths array The folders that will open in the tree view. First path is the main one that counts as the project. []
settings Object Enables you to set project specific settings. Everything that goes in the config.cson file can go here. It also supports scoped settings. {}
icon string Icon that shows in the projects list. It's class-based so can either be a class already provided by Atom like icon-squirell or a class of your own. 'icon-chevron-right'
devMode boolean true if project should open in dev mode false
group string Adds a group to the projects list that can be used to group and filter projects null
template string If you add a project in the projects.cson file without paths it will count as a template. This way you can easily share settings between projects null

Local settings file

All these settings can be added to a project.cson file in the root folder of the project. It follows the below example, but without the array.

Example

[
  {
    title: 'Project Manager'
    group: 'Atom'
    paths: [
      '/path/to/project-manager'
    ]
    devMode: true
    settings:
      'editor.tabLength': 4
      'editor.showInvisibles': true
  }
]

Provider

If you want to use the projects available through the Project Manager you can use the provided methods.

function consumeProjectManager({ getProjects, getProject } => {
  /**
   * Get an array containing all projects.
   * The callback will be run each time a project is added.
   */
  getProjects(projects => {
    // Do something with the projects.
  });

  /**
   * Get the currently active project.
   * The callback will be run whenever the active project changes.
   */
  getProject(project => {
    if (project) {
      // We have an active project.
    }
  });
});

Contribute

If you would like to contribute to the project manager, be it new features or bugs, please do the following:

  1. Fork the repository
  2. Create a new topic branch off the master branch that describe what it does
  3. Commit and push the branch
  4. Make a pull request describing what you have done
  5. Now it will hopefully get merged :)

All PR's should:

  • Pass the eslint linter
  • Add a test when it makes sense, which should be most of the time

atom-project-manager's People

Contributors

alvaromartin avatar benjic avatar coopermaruyama avatar cwspear avatar danielbrodin avatar farinspace avatar hnagato avatar jakelucas avatar timdp avatar tswaters avatar ultcombo avatar

Watchers

 avatar  avatar  avatar

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.