All Projects → lensvol → intellij-blackconnect

lensvol / intellij-blackconnect

Licence: MIT license
IDEA plugin for using black[d] during Python development.

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to intellij-blackconnect

BugKotlinDocument
Plugin for IntelliJ IDEA ┗😃┛ Android Studio ┗😃┛ CLion ┗😃┛ AppCode.
Stars: ✭ 29 (-47.27%)
Mutual labels:  intellij, intellij-plugin
intelliroutes
Support for Play Routes in IntelliJ IDEA
Stars: ✭ 21 (-61.82%)
Mutual labels:  intellij, intellij-plugin
Wolfram Language Intellij Plugin Archive
Wolfram Language and Mathematica plugin for IntelliJ IDEA.
Stars: ✭ 177 (+221.82%)
Mutual labels:  intellij, intellij-plugin
IntelliJ-Luanalysis
Type-safe Lua IDE Plugin for IntelliJ IDEA
Stars: ✭ 118 (+114.55%)
Mutual labels:  intellij, intellij-plugin
getx-snippets-intelliJ
An extension to accelerate the process of developing applications with flutter, aimed at everyone using the GetX package.
Stars: ✭ 52 (-5.45%)
Mutual labels:  intellij, intellij-plugin
Idea Gradle Dependencies Formatter
Gradle dependencies formatter for IntelliJ IDEA
Stars: ✭ 156 (+183.64%)
Mutual labels:  intellij, intellij-plugin
Intellij Hcl
HCL language support for IntelliJ platform based IDEs
Stars: ✭ 207 (+276.36%)
Mutual labels:  intellij, intellij-plugin
Idea Php Generics Plugin
Support generics types in PhpStorm via psalm / phpstan docblock
Stars: ✭ 146 (+165.45%)
Mutual labels:  intellij, intellij-plugin
Intellij Sdk Code Samples
Mirror of the IntelliJ SDK Docs Code Samples
Stars: ✭ 217 (+294.55%)
Mutual labels:  intellij, intellij-plugin
Intellij Key Promoter X
Modern IntelliJ plugin to learn shortcuts for buttons
Stars: ✭ 2,689 (+4789.09%)
Mutual labels:  intellij, intellij-plugin
DockDockBuild
Support for running UNIX Makefiles on a Docker container
Stars: ✭ 43 (-21.82%)
Mutual labels:  intellij, intellij-plugin
intellij-quarkus
IntelliJ Quarkus Tools
Stars: ✭ 83 (+50.91%)
Mutual labels:  intellij, intellij-plugin
SideMirror
An Android Studio plugin to mirror your android devices with scrcpy directly from Android Studio.
Stars: ✭ 49 (-10.91%)
Mutual labels:  intellij, intellij-plugin
Intellij Makefile
Makefile support for IntelliJ-based IDEs
Stars: ✭ 164 (+198.18%)
Mutual labels:  intellij, intellij-plugin
Idea Php Toolbox
Collections of tools and improvements to make PhpStorm a little bit better
Stars: ✭ 147 (+167.27%)
Mutual labels:  intellij, intellij-plugin
Intellij Emberjs
Ember.js support for JetBrains IDEs (IntelliJ, WebStorm, ...)
Stars: ✭ 202 (+267.27%)
Mutual labels:  intellij, intellij-plugin
Elm Plugin
Elm language support plugin for IntelliJ IDEA.
Stars: ✭ 137 (+149.09%)
Mutual labels:  intellij, intellij-plugin
Mavenhelper
IntelliJ plugin - https://plugins.jetbrains.com/plugin/7179
Stars: ✭ 138 (+150.91%)
Mutual labels:  intellij, intellij-plugin
Idea Php Annotation Plugin
Add PHP annotation support for PhpStorm and IntelliJ
Stars: ✭ 216 (+292.73%)
Mutual labels:  intellij, intellij-plugin
idear
🎙️ Handsfree Audio Development Interface
Stars: ✭ 84 (+52.73%)
Mutual labels:  intellij, intellij-plugin

logo intellij-blackconnect

Plugin version Total downloads Plugin rating Build status Code Coverage License

Simple plugin for IDEA intended to help you to avoid overhead from starting black process each time you save a Python file.

Instead, on each press of Alt + Shift + B plugin will send contents of the current Python file to the blackd and replace them with the formatted version (if any changes were made at all).

Features

  • Ability to trigger on each file save.
  • Integration with the "Reformat Code" function.
  • Start blackd when IDE opens.
  • Automatic handling of Python type stubs (.pyi).
  • Rough support for Jupyter Notebook files.
  • Ability to reformat selected fragment only instead of whole file.
  • Load formatting settings from [tool.black] section of pyproject.toml
  • Connect to blackd over SSL if needed (e.g. blackd behind nginx)
  • Configurable options:
    • Hostname, port and https.
    • Preferred line length (default: 88).
    • Skipping sanity checks ("fast mode").
    • Skipping string normalization.
    • Processing of "magic trailing comma" in collections.
    • Target specific Python versions.

Installation

NB: If you plan on triggering reformat on each save, please make sure to disable features in other plugins (e.g. Save Actions) which may trigger standard "Reformat code" action.

Also, please make sure to disable black in "Settings / Tools / File Watchers" if you installed it previously using the example from documentation.

Stable version

Just go to the plugin page in JetBrains Plugins Repository and press Install to IDE.

Development Snapshot

...or just compile it straight from the source code:

  • Open this project in IDEA.
  • Open Gradle side tab and run buildPlugin task.
  • After project is built, open your favorite IDEA-based IDE.
  • In Preferences window, choose Plugins pane and click on the gear icon.
  • Choose Install Plugin from Disk and point it to ZIP file in the build/distributions directory.

TODOs

  • Make plugin properly dynamic.
  • "Live reformatting".
  • Automatic detection of applicable Python frameworks.
  • Detection of possible conflicts with other plugins / File Watchers.
  • Better integration with Jupyter Notebooks.

Contributing

Development requirements:

  • Java SDK 11 or newer
  • Python 3.8 or newer
  • Poetry

Run tests:

./gradlew test

Launch a testing version of PyCharm with the plugin enabled:

./gradlew runIde

Special thanks

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].