Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [0.0.6] - 2025-06-12

- Add command to show/edit room ID
- Auto-detect cargo and cmake projects on sync, add cargo-e target selection

## [0.0.5] - 2025-05-14

Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ Happy coding.
## How to use

**Prerequisites:**
- To package you will need `npm install -g @vscode/vsce`
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
- To package you will need `npm install -g @vscode/vsce`

Fixed in:

- The extension should automatically create an entry in `settings.json`, `multiBuild.server.roomId`, and if you
have your VS Code setup to sync your settings, this room ID will automatically be shared on all your computers.
You may need to force-sync as VS Code can have a mind of its own.
Expand Down
122 changes: 61 additions & 61 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,14 @@
{
"command": "multiBuild.showRoomId",
"title": "Multi-Build: Show/Edit Room ID"
},
{
"command": "multiBuild.updateAndInstall",
"title": "Multi-Build: Update, Package, and Install Extension"
},
{
"command": "multiBuild.broadcastUpdateAndInstall",
"title": "Multi-Build: Broadcast Update/Install to All Machines"
Comment on lines +31 to +37
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm curious about these. What is the idea behind them?

Copy link
Contributor Author

@davehorner davehorner Jun 15, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't want to have to vsce package install manually on my local machine and across the other machines.

I modified sync to support vsce package.json detection at the top level. so you can sync inside multi-build and it will detect the vsce and install it and reload the window, and post the message to reload the window...so that the other code windows open on the machine update their running plugin.

the multiBuild.updateAndInstall is a direct way to do it without the prompts and not via a sync.

multiBuild.broadcastUpdateAndInstall is the same idea, a way to directly broadcast to everyone that they should pull, package, and install.

they are implemented with the terminal and have timeouts and it bothers me; using direct invocation didn't provide any feedback so I think a timeout is OK and I guess I adjust it as runtime changes.

I will get to this as soon as I can; I'm trying to solve another issue and I can't put it down quite yet. If you get to this before I do, welcome to change it to suite your preferences.

I like the statubar version being there. I would like it to allow you to disconnect/disable/configure the plugin too.

Copy link
Member

@nbolton nbolton Jun 16, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm trying to understand the rationale of developing through packaged versions, rather than running through the dev env on each machine. Normally when developing an extension you'd open the extension project in VS Code run npm run watch and hit F5 to open an instance with the extension running. Debugging the packaged version seems like quite a painful DX to me since you can't attach a debugger and you have to do everything through print statements.

However, [and I think this is a different problem that looks similar] outside of development, when transitioning back to being a user, I am finding it quite painful switching to the release version of the extension as it then has to be manually installed on each computer (as it's not on the marketplace yet). However, this problem is already solved by the VS Code Extension Marketplace and syncing your configs through Settings Sync.

Edit: Related to #28

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When developing the extension; being able to sync and build and install across all the machines is very helpful. I made sync support this, I added a local only method, and I am still trying to make other top level commands. i.e. the reload window functionality I was trying to find. If this doesn't go that's fine, but it was a serious help in testing the extension across my machines.

}
],
"configuration": {
Expand Down
Loading
Loading