-
Notifications
You must be signed in to change notification settings - Fork 303
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
Programming exercises
: Add clone in IDE buttons
#8735
Conversation
WalkthroughThe updates introduce a new Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant CloneRepoButtonComponent
participant ExternalCloningService
participant IntelliJIDE
User->>CloneRepoButtonComponent: Clicks IntelliJ Clone Button
CloneRepoButtonComponent->>ExternalCloningService: buildJetbrainsUrl(cloneUrl, language)
ExternalCloningService-->>CloneRepoButtonComponent: Returns IntelliJ URL
CloneRepoButtonComponent-->>User: Redirects to IntelliJ URL
User->>IntelliJIDE: Clones Repository
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (invoked as PR comments)
Additionally, you can add CodeRabbit Configration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
src/main/webapp/app/exercises/programming/shared/service/externalCloning.service.ts
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The button only works if the user has provided a ssh key. Meaning IntelliJ always tries to clone with ssh regardless if ssh or HTTP is toggled.
It would be good if the toggle between HTTP and ssh would also apply to the "open in IntelliJ" button
src/main/webapp/app/shared/components/clone-repo-button/clone-repo-button.component.ts
Outdated
Show resolved
Hide resolved
…repo-button.component.ts Co-authored-by: Johannes Stöhr <38322605+JohannesStoehr@users.noreply.github.com>
…ature/programming/clone-in-intellij
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 2
I tested it again and that might not be the case. I think the error I got was not related to ssh. Im gonna retest it again, but for now ignore this change request |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is optional, but if we add more and more buttons here it might make sense to also add icons in addition or as a replacement to the text. For IntelliJ this is not a problem, as long as we add a copyright notice somewhere. See the Jetbrains branding guidelines for infos and the logos.
Otherwise this is a very welcome addition 🚀
src/main/webapp/app/exercises/programming/shared/service/external-cloning.service.ts
Outdated
Show resolved
Hide resolved
7295575
Programming exercises
: Add clone in IntelliJ buttonProgramming exercises
: Add clone in IDE buttons
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested in testing session on ts2. LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
works on mac 👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
tested on ts2 with VS code, works as expected.
(Couldn't test Intellij since I don't have Toolbox)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested during testing session on TS2. Works as described . Code looks good 👍
Clone via VSCode Button ✅
Clone via IntelliJ Button (installed via Jetbrains Toolbox) ✅
OS: Mac OS
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested on ts3. Within an exam I was able to clone the exercise in Intellij and VSCode
Checklist
General
Client
authorities
to all new routes and checked the course groups for displaying navigation elements (links, buttons).Motivation and Context
We want to provide students a direct way of cloning their repositories in IntelliJ instead of manuall copying the links.
Description
This adds a new "Clone in IntelliJ" button for programming exercises. This uses the JetBrains toolbox.
Thanks to @janthoXO for making me aware of this.
Steps for Testing
Prerequisites:
Exam Mode Testing
same but for an exam exercise
Testserver States
Note
These badges show the state of the test servers.
Green = Currently available, Red = Currently locked
Review Progress
Performance Review
Code Review
Manual Tests
Exam Mode Test
Screenshots
Summary by CodeRabbit
New Features
Improvements