Skip to content

Roadmap

Kai Maetzel edited this page Feb 11, 2024 · 1 revision

The Python Ecosystem in Visual Studio Code Roadmap - 2023/24

Our roadmap typically looks out 12-18 months and we establish topics we want to work on. We don't start with our roadmap on a blank sheet. We develop it based on our work from last year , the findings we made over the course of the last year, and of course what we heard from you in issues, discussions, conferences, Discord, and Twitter.

We describe some initiatives as "investigations" or "explorations" which means our goal is to better understand the problem and potential solutions before scheduling actual feature work. Once an investigation is done, we will update our plan, either deferring the initiative or committing to it.

As always, we listen to feedback and adapt our plans if needed.

Legend of annotations:

Mark Description
unchecked mark work not started
check mark work completed
🏃 on-going work
💪 stretch goal

Goal

Our Python support for VS Code is fast, stable, and useful to anyone writing Python code for whatever reason.

Values

  • Performance and stability trumps functionality.
  • We use tooling provided and loved by the Python community before creating our own.
  • Open source over closed source.
  • We treat users the way we expect to be treated: with respect and dignity.

Themes

  • Break the main extension up into per-tool extensions for easier discoverability
  • A public API for environment discovery and selection to empower other Python extensions
  • Create project templates to empower others to create their own Python-related extensions
  • Begin tackling the "getting started" experience
  • Work with Pylance to fill in any gaps in their LSP support

Debugging

  • 🏃 Create a separate extension
  • Contribute to debug view for better config UX for discoverability
  • Improve run and debug config experience

Editing

  • Create a separate Jedi extension

Testing

  • 🏃 Rewrite the code for easier maintainability
  • Django support
  • Test coverage

Terminal

  • 🏃 Activated terminal support

REPL

  • Utilize shell integration support
  • Address first line lost when sending code to REPL
  • VS Code-native/first REPL support

Opinionated Workflows

  • Create project
  • Environment management
  • Provide APIs for other extensions to participate in the environment workflow/lifecycle

Environments

  • 🏃 Provide trigger points in the UX for helping users create environments
  • Implement support for PEP 723 for the Run button

Engineering

  • 🏃 Remove dependency injection

Web(Assembly)

  • 🏃 Get WASI support in CPython to tier 2
  • 🏃 Launch some form of browser compute for vscode.dev

Summary

These are examples of some of the work we will be focusing on in the next 12-18 months. We continuously tune the plan based on feedback and we will provide more detail in each of our monthly iteration plans. We will develop our next roadmap in around 12 months from now. Please follow along and let us know what you think!

Clone this wiki locally