All Projects → lppedd → Idea Conventional Commit

lppedd / Idea Conventional Commit

Licence: mit
Context and template-based completion for conventional/semantic commits.

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to Idea Conventional Commit

intelliroutes
Support for Play Routes in IntelliJ IDEA
Stars: ✭ 21 (-81.74%)
Mutual labels:  intellij, idea, intellij-plugin, idea-plugin
idea-return-highlighter
Highlight return keywords.
Stars: ✭ 24 (-79.13%)
Mutual labels:  intellij, intellij-plugin, idea-plugin
Restfultoolkit
A Toolkit for RESTful services development.
Stars: ✭ 101 (-12.17%)
Mutual labels:  intellij, intellij-plugin, idea
intellij-treeInfotip
IDEA项目结构树中的节点添加显示自定义备注文本IDEA DirectoryNode adds custom text for display
Stars: ✭ 48 (-58.26%)
Mutual labels:  idea, intellij-plugin, idea-plugin
Intellij Haxe
Haxe plugin for IntelliJ Platform based IDEs (IDEA, Android-Studio)
Stars: ✭ 188 (+63.48%)
Mutual labels:  intellij, idea, idea-plugin
uuid-generator-plugin
An IntelliJ Idea plugin to generate UUID (Universally Unique Identifier), ULID (Universally Unique Lexicographically Sortable Identifier) and CUID (Collision Resistant Unique Identifier)
Stars: ✭ 30 (-73.91%)
Mutual labels:  intellij, idea, idea-plugin
ansible-vault-editor-idea-plugin
Ansible Vault Editor IntelliJ Plugin with auto encryption/decryption
Stars: ✭ 29 (-74.78%)
Mutual labels:  intellij, intellij-plugin, idea-plugin
material-design-color-palette
🎨Material Design color palette pluin for IntelliJ based IDEs.
Stars: ✭ 19 (-83.48%)
Mutual labels:  intellij, idea, intellij-plugin
IntelliJ-IDEA-Translate2Chinese
Chinese ​(Simplified)​ Language Pack EAP v201.15 魔改进行中...
Stars: ✭ 14 (-87.83%)
Mutual labels:  intellij, idea, intellij-plugin
intellij-ui-test-robot
The library allows you to write and execute UI tests among IntelliJ IDEA. You can test your Plugin.
Stars: ✭ 60 (-47.83%)
Mutual labels:  intellij, intellij-plugin, idea-plugin
Intellij Mybaitslog
用于在IDEA将Mybatis的SQL日志还原为可执行的SQL,Used to restore Mybatis SQL logs to executable SQL in IDEA,
Stars: ✭ 501 (+335.65%)
Mutual labels:  intellij-plugin, idea, idea-plugin
Texify Idea
LaTeX support for the IntelliJ platform by JetBrains.
Stars: ✭ 436 (+279.13%)
Mutual labels:  intellij, intellij-plugin, idea
Intellij Figlet
🔌A FIGlet-based ASCII Art generation plugin for IntelliJ based IDEs.
Stars: ✭ 27 (-76.52%)
Mutual labels:  intellij, intellij-plugin, idea-plugin
Multihighlight
Jetbrains IDE plugin: highlight identifiers with custom colors 🖌💡
Stars: ✭ 65 (-43.48%)
Mutual labels:  intellij, idea
I18nplugin
Intellij idea i18next support plugin
Stars: ✭ 43 (-62.61%)
Mutual labels:  intellij, intellij-plugin
Gradle Changelog Plugin
Plugin for parsing and managing the Changelog in a "keep a changelog" style.
Stars: ✭ 102 (-11.3%)
Mutual labels:  intellij, intellij-plugin
Idea Php Drupal Symfony2 Bridge
PhpStorm plugin to support Symfony components inside Drupal 8
Stars: ✭ 34 (-70.43%)
Mutual labels:  intellij, intellij-plugin
Intellij Arend
Arend plugin for IntelliJ IDEA
Stars: ✭ 67 (-41.74%)
Mutual labels:  intellij, intellij-plugin
Collector Intellij
A PhpStorm plugin for refactoring to collections
Stars: ✭ 114 (-0.87%)
Mutual labels:  intellij, intellij-plugin
Pebble Intellij
Pebble support for IntelliJ IDEA
Stars: ✭ 68 (-40.87%)
Mutual labels:  intellij, intellij-plugin

Join the Slack workspace to discuss features and issues!

Plugin logo

Conventional Commit

Available @ JetBrains Plugins Repository

Looking for the latest plugin binaries? Get them here as .zip
Supported IDE versions: 192.* to 211.* (both inclusive)

Additional Providers are available by installing other lightweight plugins.

Context & GitHub Plugins Repository Type Scope Subject Body Footer type Footer value
Angular (2+) ✔️ Install ✔️
Commitlint ✔️ Install ✔️ ✔️
GitHub Coming soon...
VCS (extended) Coming soon...

The aim of this plugin is to provide completion for conventional commits, also named semantic commits, inside the VCS Commit dialog. The plugin must provide:

  • standard completion — based on context
  • template completion — initiated intentionally
  • extensibility — which means allowing attaching providers for the various parts of the commit:
    type, scope, subject, body and footer

Writing quality commit messages is important to keep an understandable and searchable history of your project. Conventional commits are a perfect example of that.
However, as an example, it can happen choosing the correct type or scope isn't that immediate. We might have forgotten about when a specific type should be used or what are the available scopes, or we simply need a way to quickly complete the subject.

The plugin helps with the above, while also respecting the aforementioned requirements, so that each user is able to customize the experience based on its preferences.

Completion modes

The plugin offers two completion modes.

  • Context based

    The commit message can be written like you have done until now, but by invoking completion you'll be offered the correct items based on the scope. Certain commodities, such as auto-completing the scope parenthesis or the : separator, are there too.

    Standard completion
  • Template based

    By firstly invoking the type completion and confirming an item, a template will be generated in place, and you'll be guided through each token (scope and subject). You can also go back (with shift + tab) and change your pick.

    Arbitrary characters' insertion is also allowed inside each template's range marker.

    Template completion

Inspections

Inspections are bundled too, and they're extensible, which means a Provider may contribute with additional ones.
The standard inspection warns you if you're not following the Conventional Commit standard. In case, just press ctrl + alt + l (on Windows) and the commit message will be formatted for you.

Inspections

You may enable/disable inspections via Settings > Version Control > Commit

Documentation

Each commit token is able to hold documentation. This is important in case you forgot their meaning, or if you want to share additional pieces of information with users.

Documentation

Documentation for tokens which might hold long text, spawning multiple lines, is rendered a bit differently.

Long documentation

Custom default types and scopes

Default commit types and scopes can be totally customized and shared with your team by creating and populating a JSON file named

conventionalcommit.json

The plugin uses an internal version of that file, which you can export via Export built-in defaults to path.
You may then customize it per your needs.

Custom defaults

You're allowed to provide custom commit's types, scopes and footer types, given the JSON file respects a Schema.
An example is shown below:

{
  "types": {
    "customType": {
      "description": "My custom type description"
    },
    "anotherCustomType": {},
    "yetAnotherCustomType": {
      "description": "This is my description",
      "scopes": {
        "first": {
          "description": "My first description"
        },
        "second": {
          "description": "My second description"
        }
      }
    }
  },
  "commonScopes": {
    "one": {
      "description": "My first common scope"
    },
    "two": {}
  },
  "footerTypes": [
    {
      "name": "My-custom-footer",
      "description": "My footer description"
    }
  ]
}

If the file is located in the project's root directory, the plugin will pick it up automatically, making it easy to version it, and avoiding to explicitly set a Custom default tokens path.

Providers

In a fresh installation you'll only be offered the most common tokens (e.g. fix, feat, build, BREAKING CHANGE, etc.), but the plugin exposes an API to enhance completion items, per each token. Type, scope and subject each have a specific entry point, and the implementation is called Provider. Each Provider is listed in a table, based on its context.

Providers

You're allowed to re-order Providers per your necessities, knowing that possible duplicates are going to be automatically filtered by the core engine.

More on this later on...


Author and contributors

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].