Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Show build progress in activity bar #694

Closed
ahoppen opened this issue Feb 21, 2024 · 3 comments · Fixed by #794 or #813
Closed

Show build progress in activity bar #694

ahoppen opened this issue Feb 21, 2024 · 3 comments · Fixed by #794 or #813
Assignees
Labels
needs investigation Issue requires some investigation before it can be worked on

Comments

@ahoppen
Copy link

ahoppen commented Feb 21, 2024

Currently, when building, VS Code only shows Building… as an activity indicator (or whatever the thing in the bottom bar is called). It would be nice if it would show the current build progress as it’s output from swift build (e.g. Building 6/9)

@adam-fowler
Copy link
Contributor

That's not easy. Builds are triggered by VSCode tasks and I have no access to stdout from a VSCode task.

@matthewbastien
Copy link
Member

The VSCode API allows for custom execution of tasks. I can take a look to see how much extra work that would be.

@daveyc123 daveyc123 added the needs investigation Issue requires some investigation before it can be worked on label Apr 19, 2024
@award999
Copy link
Contributor

I'd love to run with this issue

@daveyc123 daveyc123 assigned award999 and unassigned matthewbastien Apr 22, 2024
award999 added a commit to award999/vscode-swift that referenced this issue May 6, 2024
To give us more control of the swift process and allow us
to consume the output from swift, introduce our own
CustomExecution. This will set us up to address swiftlang#750, swiftlang#653
and swiftlang#694.

The CustomExecution will load the asar bundled node-pty
module that ships with vscode. This way we don't need to
build for every platform and arch
award999 added a commit to award999/vscode-swift that referenced this issue May 6, 2024
To give us more control of the swift process and allow us
to consume the output from swift, introduce our own
CustomExecution. This will set us up to address swiftlang#750, swiftlang#653
and swiftlang#694.

The CustomExecution will load the asar bundled node-pty
module that ships with vscode. This way we don't need to
build for every platform and arch
award999 added a commit to award999/vscode-swift that referenced this issue May 8, 2024
Fixes swiftlang#694
* Allow updating the status bar item message for a running task
* Watch for "Build Complete" in output to know when the build portion
  is done running. For example, only show status when it is building,
  but not after some CLI application has started running
* Parse progess from the output, ex. "[3/9] Building ..." and use this
  progress in the updated status bar message
* Also show when fetching dependencies
adam-fowler pushed a commit that referenced this issue May 9, 2024
* Add a CustomExecution for `swift` tasks

To give us more control of the swift process and allow us
to consume the output from swift, introduce our own
CustomExecution. This will set us up to address #750, #653
and #694.

The CustomExecution will load the asar bundled node-pty
module that ships with vscode. This way we don't need to
build for every platform and arch

* Disable conpty when debugging on windows

Only an issue when debugging extension. Packaged extension
works fine

* Fix review comments

Biggest change is making sure 'cwd' is set for custom execution

* Add some docstring comments

Add comments to make the relationship/usage between SwiftExecution,
SwiftPseudoterminal, and SwiftProcess more clear
award999 added a commit to award999/vscode-swift that referenced this issue May 9, 2024
Fixes swiftlang#694
* Allow updating the status bar item message for a running task
* Watch for "Build Complete" in output to know when the build portion
  is done running. For example, only show status when it is building,
  but not after some CLI application has started running
* Parse progess from the output, ex. "[3/9] Building ..." and use this
  progress in the updated status bar message
* Also show when fetching dependencies
award999 added a commit to award999/vscode-swift that referenced this issue May 10, 2024
Fixes swiftlang#694
* Allow updating the status bar item message for a running task
* Watch for "Build Complete" in output to know when the build portion
  is done running. For example, only show status when it is building,
  but not after some CLI application has started running
* Parse progess from the output, ex. "[3/9] Building ..." and use this
  progress in the updated status bar message
* Also show when fetching dependencies
award999 added a commit to award999/vscode-swift that referenced this issue May 10, 2024
Fixes swiftlang#694
* Allow updating the status bar item message for a running task
* Watch for "Build Complete" in output to know when the build portion
  is done running. For example, only show status when it is building,
  but not after some CLI application has started running
* Parse progess from the output, ex. "[3/9] Building ..." and use this
  progress in the updated status bar message
* Also show when fetching dependencies
* Putting this SwiftExecution so this can be listened to for every
  vscode.Task event
award999 added a commit to award999/vscode-swift that referenced this issue May 14, 2024
Fixes swiftlang#694
* Allow updating the status bar item message for a running task
* Watch for "Build Complete" in output to know when the build portion
  is done running. For example, only show status when it is building,
  but not after some CLI application has started running
* Parse progess from the output, ex. "[3/9] Building ..." and use this
  progress in the updated status bar message
* Also show when fetching dependencies
* Putting this SwiftExecution so this can be listened to for every
  vscode.Task event
award999 added a commit to award999/vscode-swift that referenced this issue May 17, 2024
Fixes swiftlang#694
* Allow updating the status bar item message for a running task
* Watch for "Build Complete" in output to know when the build portion
  is done running. For example, only show status when it is building,
  but not after some CLI application has started running
* Parse progess from the output, ex. "[3/9] Building ..." and use this
  progress in the updated status bar message
* Also show when fetching dependencies
* Putting this SwiftExecution so this can be listened to for every
  vscode.Task event
award999 added a commit that referenced this issue May 21, 2024
* Show `swift` build status

Fixes #694
* Allow updating the status bar item message for a running task
* Watch for "Build Complete" in output to know when the build portion
  is done running. For example, only show status when it is building,
  but not after some CLI application has started running
* Parse progess from the output, ex. "[3/9] Building ..." and use this
  progress in the updated status bar message
* Also show when fetching dependencies
* Putting this SwiftExecution so this can be listened to for every
  vscode.Task event

* Restructure the task code to make more testable

* Moved task specific stuff from under src/ to src/tasks/
* Wrap the parsed event registration and firing in SwiftTask instead of
  the SwiftExecution
* Make SwiftProcess generic interface that can be added into the
  SwiftExecution for testing purposes
* Add a bunch of test coverage for swift tasks

* Make location of the build progress configurable

* For now moving parsing to SwiftBuildStatus since we can get by with
  onClose in vast majority of cases
* Allow user to choose where the progress should be displayed so they
  can choose between functionality or a less annoying placement
award999 added a commit to award999/vscode-swift that referenced this issue May 21, 2024
award999 added a commit that referenced this issue May 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs investigation Issue requires some investigation before it can be worked on
Projects
None yet
5 participants