User Tools

Site Tools


black_notes

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
black_notes [2020/12/29 18:13] rajublack_notes [2022/02/18 22:45] (current) – [do not convert single quotes to double quotes] raju
Line 1: Line 1:
 +==== configure pycharm to format code with black ====
 +To run black on the entire file
 +<code>
 +File -> Settings
 +-> Tools -> External Tools -> click on + sign
 +-> Name: Black
 +   Description: Black in pycharm configuration
 +   Program: C:\ProgramData\Continuum\Anaconda\envs\[ENV_NAME]\Scripts\black.exe
 +   Arguments: $FilePath$
 +   Working directory: $ProjectFileDir$
 +</code>
 +
 +To run black on selected text
 +<code>
 +File -> Settings
 +-> Tools -> External Tools -> click on + sign
 +-> Name: Black Selected
 +   Description: run black on selected text
 +   Program: "C:\Program Files\Git\bin\bash.exe"
 +   Arguments: --login H:\work\myrepos\rutils\python3\black_on_selected.sh C:\ProgramData\Continuum\Anaconda\envs\ro_udw_env\Scripts\black.exe $FilePath$ $SelectionStartLine$ $SelectionEndLine$
 +   Working directory: $ProjectFileDir$
 +</code>
 +
 +Restart pycharm after adding the external tools.
 +
 +To format code
 +<code>
 +Select code of interest
 +-> Tools -> External Tools -> Black Selected
 +</code>
 +
 +
 +See also :- 
 +  * [[https://github.com/KamarajuKusumanchi/rutils/blob/master/python3/black_on_selected.sh | black_on_selected.sh]] (github.com/KamarajuKusumanchi) - simpler implementation; works with GNU sed. Tested it on Windows 10 + git bash + GNU sed 4.7.
 +  * https://godatadriven.com/blog/partial-python-code-formatting-with-black-pycharm/ - well explained; His script is a bit complex and the sed commands are mac specific.
 +  * https://www.jetbrains.com/help/pycharm/configuring-third-party-tools.html
 +
 +
 +==== do not convert single quotes to double quotes ====
 +pass ''%%--skip-string-normalization%%'' on the command line.
 +
 +Ref:-
 +  * https://black.readthedocs.io/en/stable/the_black_code_style/current_style.html#strings - this option is meant as an adoption helper, avoid using it for new projects.
 +
 +
 +
 ==== useful links ==== ==== useful links ====
   * https://black.now.sh/ - Black Playground; To try black online   * https://black.now.sh/ - Black Playground; To try black online
   * code repo - https://github.com/psf/black   * code repo - https://github.com/psf/black
  
black_notes.1609265589.txt.gz · Last modified: 2020/12/29 18:13 by raju