Coder Social home page Coder Social logo

halirutan / idea-gitignore Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jetbrains/idea-gitignore

0.0 3.0 0.0 5.4 MB

.ignore support plugin for IntelliJ IDEA

Home Page: http://plugins.jetbrains.com/plugin/7495

License: MIT License

HTML 0.11% Java 99.32% Lex 0.58%

idea-gitignore's Introduction

.ignore Build Status Donate

Introduction

.ignore is a plugin for:

  • .gitignore (GIT),
  • .hgignore (Mercurial),
  • .npmignore (NPM),
  • .dockerignore (Docker)
  • .chefignore (Chef)
  • .cvsignore (CVS)
  • .bzrignore (Bazaar)
  • .boringignore (Darcs)
  • .mtn-ignore (Monotone)
  • ignore-glob (Fossil)
  • .jshintignore (JSHint)
  • .tfignore (Team Foundation)
  • .p4ignore (Perforce)
  • .flooignore (Floobits)

files in your project. It supports following JetBrains IDEs:

  • Android Studio
  • AppCode
  • CLion
  • IntelliJ IDEA
  • PhpStorm
  • PyCharm
  • RubyMine
  • WebStorm
  • 0xDBE

Compiled with Java 1.6

Features

  • Files syntax highlight
  • Coloring ignored files in the Project View
  • Gitignore templates filtering and selecting in rules generator by name and content
  • User custom templates
  • Show ignored files by specified Gitignore file (right click on .gitignore file)
  • Create file in currently selected directory
  • Generate Gitignore rules basing on GitHub's templates collection
  • Add selected file/directory to Gitignore rules from popup menu
  • Suggesting .gitignore file creation for new project
  • Entries inspection (duplicated, covered, unused, incorrect syntax, relative entries) with fix actions
  • Comments and brackets support
  • Navigation to entries in Project view
  • Renaming entries from ignore file
  • Close opened ignored files action

Installation

  • Using IDE built-in plugin system:
    • Preferences > Plugins > Browse repositories... > Search for ".ignore" > Install Plugin
  • Manually:
    • Download the latest release and install it manually using Preferences > Plugins > Install plugin from disk...

Restart IDE.

Usage

  1. Generate new file and templates usage

    To generate new ignore file, just click on File > New or use Alt + Insert shortcut and select .ignore file element.

    Generate new file

  2. Support for typing new rules, linking rules with matched files

    Support for typing new rules

  3. Code inspections

    Code inspections covers few cases:

    • duplicated entries (checks if entry is defined more than once)
    • covered entries - entry is covered by more general one
    • unused entries
    • incorrect syntax (regexp rules)
    • relative entries

    Code inspections

Changelog

v1.2 (2015-08-13)

Full Changelog

Implemented enhancements:

  • Prevent ignore file creation when dialog generator is canceled #156
  • Add leading slash to the entry when invoking Add to ignore file action #141
  • Floobits (.flooignore) support #152
  • Add ignore rules at the cursor position #153
  • Insert syntax: glob for non-glob ignore types when creating new file #158
  • Close ignored files action #160

Fixed bugs:

  • Project base dir should not be null in Utils.isInProject #145
  • NPE in FossilLanguage.getOuterFile #157
  • Removed \0 from the generated content. #155
  • ClassCastException while indexing #150
  • IllegalAccessError for StringUtil.escapeChar(String, char) in IntelliJ 12.x #149
  • Migration to JPanel because of the broken IntelliJ API (JBPanel NoClassDefFoundError) #146
  • IndexOutOfBoundsException #144
  • InvalidVirtualFileAccessException #107
  • Shorten ignore file path in the context menu #148
  • Assertion and NPE errors fix in Resources
  • Fix for including outer file rules
  • Performance fixes

Full Changelog History

Contribution

Check CONTRIBUTING.md file.

Compiling the source code

  • Clone idea-ignore project from https://github.com/hsz/idea-gitignore.git
  • Configure IntelliJ IDEA Plugin SDK
  • Install required plugins:
  • Create New Project as a IntelliJ Platform Plugin and set Project location to the idea-gitignore sources
    • In Project settings > Modules section mark:
      • gen as Sources
      • resources as Resources
      • src as Sources
      • tests as Test Sources
      • .idea as Excluded
      • out as Excluded
  • Add new Run/Debug configuration
    • + Add new configuration > Plugin
    • Add -Didea.is.internal=true to VM Options (it will allow you run internal actions like View PSI structure action)
    • Remove -XX:MaxPermSize=250m from VM Options
  • Generate PSI classes
    • Go to Ignore.bnf file and Generate Parser Code
      • Tools > Generate Parser Code (Ctrl + Shift + G)
    • Go to Ignore.flex file and Run JFlex Generator
      • Tools > Run JFlex Generator (Ctrl + Shift + G)
      • For the first time it will download JFlex.jar and idea-flex.skeleton files - save them in the root project directory
  • Set Java Compiler to 1.6
    • Go to Settings > Compiler > Java Compiler and set Project bytecode version to 1.6
  • In Ant Build add build.xml file and mark generate-templates-list task as Execute on > Before compilation

Developed By

@hsz Jakub Chrzanowski

Contributors

License

Copyright (c) 2015 hsz Jakub Chrzanowski. See the LICENSE file for license rights and limitations (MIT).

idea-gitignore's People

Contributors

bedla avatar danpfe avatar hho avatar hsz avatar mathben avatar vandalkvist avatar zolotov 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.