Coding tools#

This section considers the configuration and not obvious features of the development tools I use.

Jupyterlab#

JupyterLab is an EDA-like tool that focuses on Jupyter notebooks.

Usefull extensions are:

Configuration files#

Jupyter lab have few locations to store different data:

  • Application diretory: where the application of jupyter lab and its extensions are stored.

  • User Settings Directory: where JupyterLab stores user-level settings for JupyterLab extensions.

  • Worspaces Direcotry: where JupyterLab stores the data of the particular workspaces.

Check these locations with the jupyter lab path command.

jupyter lab path
Application directory:   /home/fedor/.virtualenvironments/knowledge/share/jupyter/lab
User Settings directory: /home/fedor/.jupyter/lab/user-settings
Workspaces directory: /home/fedor/.jupyter/lab/workspaces

Short cuts#

Create your short cats configuration, typically in file ~/.jupyter/lab/user-settings/@jupyterlab/shortcuts-extension/shortcuts.jupyterlab-settings.

In the root mapping under key "shortcuts" list counts the shortcuts.

{
    "command": "command which short cat triggers",
    "selector": "in which conditions the short cat have to be invoked",
    "keys": ["list of shortcuts"]
}

Check for available commands in the Commands page of the manual.

VS Code#

Visual Studio Code is a flexible editor with a few key areas to configure:

  • Environment variables: launch VS Code from a terminal session that already has your variables set (e.g., via export or source .env). Terminals and notebooks opened inside VS Code inherit those variables.

  • Settings: edit settings.json at the workspace level in ./.vscode/settings.json or at the user level (Linux: ~/.config/Code/User/settings.json). You can browse all possible settings via Preferences: Open Default Settings (JSON); extensions add their own settings.

  • Debugging: configure debugging in .vscode/launch.json with a list of configurations; a typical Python config uses debugpy and launches the current file. For module-based runs (e.g., python -m unittest), set module and pass the file as args.

  • Vim in VS Code: the Vim extension supports search with /pattern and navigation with n/N. Global and scoped replacements use :s with ranges and flags (e.g., :%s/foo/bar/g).

Check more details in the VS code page.