Write a VSCode plugin to support Briefcase development
- 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
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