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:
jupyterlab-vim vim key buindings implementation.
jupyterlab-lsp language server protocol implementation.
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
exportorsource .env). Terminals and notebooks opened inside VS Code inherit those variables.Settings: edit
settings.jsonat the workspace level in./.vscode/settings.jsonor at the user level (Linux:~/.config/Code/User/settings.json). You can browse all possible settings viaPreferences: Open Default Settings (JSON); extensions add their own settings.Debugging: configure debugging in
.vscode/launch.jsonwith a list of configurations; a typical Python config usesdebugpyand launches the current file. For module-based runs (e.g.,python -m unittest), setmoduleand pass the file as args.Vim in VS Code: the Vim extension supports search with
/patternand navigation withn/N. Global and scoped replacements use:swith ranges and flags (e.g.,:%s/foo/bar/g).
Check more details in the VS code page.