feat(ide/jetbrains): install JetBrains plugins#229
Conversation
da4781d to
ffec60f
Compare
ffec60f to
ff6502d
Compare
ff6502d to
602354e
Compare
pkg/ide/jetbrains/generic.go
Outdated
|
|
||
| // Set the user installPluginCommand should run as | ||
| installPluginsCommand.SysProcAttr = &syscall.SysProcAttr{} | ||
| installPluginsCommand.SysProcAttr.Credential = &syscall.Credential{Uid: uint32(uid), Gid: uint32(gid)} |
There was a problem hiding this comment.
@skevetter on Windows, I get an error here: syscall.SysProcAttr has no field or method Credential.
Any advice on how to deal with it is greatly appreciated ;)
602354e to
3979042
Compare
|
@skevetter I noticed logging improvements (multi-line output etc.) - thank you! |
There was a problem hiding this comment.
Pull request overview
This PR adds support for installing JetBrains IDE plugins from devcontainer.json configuration. The implementation allows users to specify plugins in the customizations.jetbrains.plugins section of their devcontainer configuration, which will then be automatically installed when the JetBrains IDE backend is set up.
Key changes:
- Added plugin installation functionality to JetBrains IDE setup process
- Introduced new configuration structure for JetBrains customizations (plugins)
- Added platform-specific user credential handling for running plugin installation as the correct user
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| pkg/ide/jetbrains/generic.go | Added plugin installation logic to the Install method, including user context handling and environment configuration |
| pkg/devcontainer/config/result.go | Added GetJetBrainsConfiguration function to extract and merge JetBrains customizations from devcontainer config |
| pkg/devcontainer/config/config.go | Added JetBrainsCustomizations struct to define the plugin configuration structure |
| pkg/command/credential_unsupported.go | Added ForUser function (no-op) for Windows platform |
| pkg/command/credential_supported.go | Added ForUser function to run commands as a specific user on Unix-like systems |
| cmd/agent/container/setup.go | Updated all JetBrains IDE Install() method calls to pass setupInfo parameter |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Signed-off-by: Leonid Dubinsky <dub@podval.org>
3979042 to
ff5820b
Compare
skevetter
left a comment
There was a problem hiding this comment.
Looks good. Don't worry too much about responding to all the comments if it is obvious. It mostly helps me when I am doing a lot of context switching.
log entries with fields there are now some spaces added between the date and the log level, and the number of these spaces seems proportional to the total length of the fields logged
I am still working on this and I am flexible to any feedback. I want the logs to quickly communicate what and where the issue occurred and any context that would save me time debugging the issue. Do you have an example of what you are describing?
Thank you!
|
|
@skevetter please consider enabling |
Thanks! |

No description provided.