beeware / beeware/briefcase

Write a VSCode plugin to support Briefcase development

Open
#1,451 2 comments 2 reactions 0 assignees View on GitHub
enhancement
Dominant language
Python
Stars
3.3k
Forks
549
Avg merge
1d 4h
Merged PRs (30d)
40

Description

### What is the problem or limitation you are having?

VSCode is a common IDE used to develop Briefcase apps, and it has a rich extension API.

We should provide a VSCode plugin so that core Briefcase commands are exposed as native VSCode functionality.

### Describe the solution you'd like

A plugin that can be installed into VSCode that is able to find the `pyproject.toml` for a project, and use that detail to run `briefcase X` commands as "first class" VSCode features.

The biggest feature is to have VSCode's "run" command perform the equivalent of `briefcase dev` to start the app with the registered entry point, rather than starting the currently visible `.py` file. Ideally, this would also honour debug breakpoints set in the GUI.

It may be possible to expose other briefcase commands, such as test mode, the create/build/run/update lifecycle.

### Describe alternatives you've considered

Do nothing. This is entirely a convenience; it's possible to develop a project without any plugins.

### Additional context

In the 0.2 era, a [Briefcase plugin *did* exist](https://github.com/beeware/vscode-beeware). However, the Briefcase 0.2 API is dramatically different to the 0.3 API.

See #1450 for an equivalent request for PyCharm.

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the current Briefcase 0.3 command and project configuration behavior, then compare it with the archived vscode-beeware plugin linked in the issue. Define the installable extension scope around locating pyproject.toml and exposing briefcase dev, and document how completion will be verified for run behavior and any additional lifecycle commands.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, vscode
Domain
developer-experience, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.