A JupyterLab extension for navigating to variable and function definitions with a click or keyboard shortcut.
jupyterlab-go-to-definition is a JupyterLab extension that enables developers to navigate to the definitions of variables and functions directly within Jupyter notebooks and file editors. It solves the problem of cumbersome code exploration in JupyterLab by providing intuitive mouse and keyboard shortcuts for jumping between definitions and usages.
Data scientists, researchers, and developers who use JupyterLab for Python or R programming and want enhanced code navigation similar to traditional IDEs.
It offers a lightweight, language-agnostic solution for go-to-definition functionality in JupyterLab, with customizable shortcuts and support for cross-file navigation, improving productivity without requiring a full Language Server Protocol setup.
Navigate to variable's definition with a click in JupyterLab (or with a few key strokes)
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides Alt+click functionality for quick jumps to definitions, mimicking IDE behavior directly in JupyterLab, as shown in the demo GIF.
Includes keyboard shortcuts like Ctrl+Alt+B for navigation and Alt+O to jump back, with modifiers adjustable via JupyterLab's settings editor for flexibility.
Supports jumping to definitions in external Python modules and R source files, enhancing code exploration beyond the current notebook or editor.
Combines static code analysis with kernel inspection for more accurate definition location, especially in Python notebooks, as detailed in the design page.
The project is inactive, with the author recommending jupyterlab-lsp instead, meaning no bug fixes, updates, or support for newer JupyterLab versions.
Only works with JupyterLab versions 1.0 to 2.2, making it incompatible with current releases and forcing users to stick with outdated environments.
Requires a symlink workaround involving creating .jupyter_symlinks directories to navigate to files outside the project root, which is hacky and user-unfriendly.
Kernel inspection, which provides more accurate results, only functions in notebooks and not in file editors, limiting utility in mixed workflows.