.. _vsc_extensions:
VSCode Extensions
=================
All extension can either be installed from the `marketplace `_ or by clicking the `Extension Marketplace icon `_ on the left sidebar of VSCode.
Required Extensions
-------------------
Python
~~~~~~
.. list-table::
:widths: 25 75
:header-rows: 1
* - Extension
- Purpose
* - `Python `_
- The main extension for Python development in VSCode, providing features such as IntelliSense, linting, debugging, and code navigation.
* - `Python Debugger `_
- Provides integration with the debugpy library, allowing developers to debug Python code directly from VSCode.
* - `Pylance `_
- A language server for Python, providing enhanced IntelliSense, type checking, and code analysis capabilities.
* - `Mypy Type Checker `_
- An extension that integrates the Mypy static type checker into VSCode, allowing developers to identify type-related issues in their Python code.
* - `Ruff `_
- A Python linter and formatter that helps maintain code quality and consistency.
* - `Pixi Code `_
- An extension that integrates Pixi environments with the `Python Environments extension `_.
Recommended Extensions
----------------------
Code Reviews
~~~~~~~~~~~~
.. list-table::
:widths: 25 75
:header-rows: 1
* - Extension
- Purpose
* - `GitHub Pull Requests `_
- Allows developers to review and manage GitHub pull requests and issues directly from VSCode.
* - `GitHub Repositories `_
- Provides seamless integration with GitHub repositories, enabling developers to clone, manage, and interact with their GitHub projects from VSCode.
Markdown and Documentation
~~~~~~~~~~~~~~~~~~~~~~~~~~
.. list-table::
:widths: 25 75
:header-rows: 1
* - Extension
- Purpose
* - `Markdown Checkboxes `_
- An extension that adds support for checkboxes in Markdown files, allowing developers to create interactive checklists within their documentation.
* - `Dark Github Markdown Preview `_
- Provides a dark theme for Markdown preview in VSCode to match Github's dark theme styling.
Navigation and Editing
~~~~~~~~~~~~~~~~~~~~~~
.. list-table::
:widths: 25 75
:header-rows: 1
* - Extension
- Purpose
* - `Sort Lines `_
- An extension that allows developers to sort lines of code or text in ascending or descending order, helping with code organization and readability.
* - `Bookmarks `_
- Provides a bookmarking system for code navigation, allowing developers to mark and quickly navigate to important lines of code.
Remote Development
~~~~~~~~~~~~~~~~~~
.. list-table::
:widths: 25 75
:header-rows: 1
* - Extension
- Purpose
* - `Remote - SSH `_
- Allows developers to connect to remote machines and develop code as if they were working locally.
* - `Remote - SSH: Editing Configuration Files `_
- Provides an easy way to edit SSH configuration files directly from VSCode, simplifying the process of managing remote connections.
.. _vsc-keyboard-shortcuts:
Keybindings
~~~~~~~~~~~
VSCode provides a wide range of keyboard shortcuts for various actions which can be accessed through the command line (Ctrl+Shift+P) and searching for "Keyboard Shortcuts".
Commonly used keybindings
-------------------------
.. list-table::
:widths: 25 25 25 25
:header-rows: 1
* - Function
- Linux
- MacOS
- Windows
* - Search in Files
- Ctrl+F
- ⌘+F
- Ctrl+F
* - Command Line
- Ctrl+Shift+P
- ⌘+Shift+P
- Ctrl+Shift+P
* - Fuzzy File Search
- Ctrl+P
- ⌘+P
- Ctrl+P
* - Launch
- F5
- F5
- F5