Skip to content

EeyoreLee/vscode-extension-yapf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vscode formatter extension support for python files using yapf

A formatter extension with support for python files and notebook cell. Feel free to open an issue to tell me what feature else do you need since it's a preview version.
Note:

Quick Start

Setting the following can enable this formatter quickly.

  "[python]": {
    "editor.formatOnSaveMode": "file",
    "editor.formatOnSave": true,
    "editor.defaultFormatter": "eeyore.yapf",
    "editor.formatOnType": false
  }

Usage

  • Install yapf package from pip in following. This is optional but recommended way, else it will use the bundled yapf=0.43.0
pip install yapf
  • Select this fotmatter eeyore.yapf by adding the following to your vscode settings
  "[python]": {
    "editor.defaultFormatter": "eeyore.yapf"
  }
  • Enable format on save by adding the following
  "[python]": {
    "editor.formatOnSave": true
  }

Address crash for python3.8 or lower

Use yapf.interpreter property to select a python interpreter that 3.9 or higher to run this tool by subprocess

file mode & modifications mode

Choose the mode by the following

  • Use file mode
  "[python]": {
    "editor.formatOnSaveMode": "file"
  }
  • Use modifications mode
  "[python]": {
    "editor.formatOnSaveMode": "modifications"
  }

Format for notebook

  • Format on cell execution
  "notebook.formatOnCellExecution": true
  • Format on save
  "notebook.formatOnSave.enabled": true

Set your own yapf style

Note this setting has to be in the global scope of settings.json, not in a [python] block.

  • Set style by the following vscode settings which is equal to yapf --style '{based_on_style: pep8, indent_width: 2}'
  "yapf.args": ["--style", "{based_on_style: pep8, indent_width: 2}"]
  • Use a style file, like .style.yapf, setup.cfg, pyproject.toml, ~/.config/yapf/style. For details, see google/yapf
  "yapf.args": ["--style", "/home/example/.yapf"]

Add extra magic function for jupyter

This extension supports the following magic functions by default

"capture",
"prun",
"pypy",
"python",
"python3",
"time",
"timeit"

Other magic functions like %matplotlib inline, you need to add it to the yapf.cellMagics property.

"yapf.cellMagics": ["matplotlib inline"]

About

Vscode formatter extension support for python files using `yapf`.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 5

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy