Opening Files#

Sometimes my projects are too large for the file manager in the sidebar to work well. I spend too much time trying to find the file I need. To solve this I installed fzf the fuzzy file finder and created the following alias:

alias fc='code -r $(fzf)'

When I type fc the fuzzy file finder opens and the selected file is opened in my current vscode window. Nice!

Complex autoformatting#

I like use multiple packages for autoformatting:

  • docformatter to autoformat docstrings
  • isort to automatically sort and group imports
  • black to format all other things

I also like to use flake8 to check if everything is formatted the right way.

Running all these commands in sequence gets tiring so in vscode I automated that using the Command Runner plugin.

I specify the command in my vscode settings as follows:


"command-runner.commands": {
  "docstring formatter": "conda activate ${workspaceFolderBasename} && docformatter --in-place --wrap-descriptions 88 --wrap-summaries 88 --blank ${file} && isort ${file} && black ${file} && flake8 ${file}",

Note: I always name my conda environment the same as the workspace Folder Basename.


# Recommend matching the black line length (default 88),
# rather than using the flake8 default of 79:
max-line-length = 88
extend-ignore =
    # See https://github.com/PyCQA/pycodestyle/issues/373
exclude = .tox
# If you need to ignore some error codes in the whole source code
# you can write them here
# ignore = D107
show-source = true
# Specify your custom package for isort.
# application-import-names = yourpackage

Restart and Rerun Python Interactive#

When I run things interactively I like to make sure my kernel is clean. I use the vscode multi command extension to chain together the restart kernel, remove all cells, and the run file interactive in sequence.


    "multiCommand.commands": [
            "command": "multiCommand,interactiveRestartaAndRun",
            "sequence": [

Since I use it a lot I’ve bound it to cmd+R:


        "key": "cmd+r",
        "command": "multiCommand,interactiveRestartaAndRun",
        "when": "editorLangId == 'python'"