All Projects → remotemobprogramming → intellij-mob

remotemobprogramming / intellij-mob

Licence: Apache-2.0 License
IntelliJ plugin for swift git handover and timer

Programming Languages

kotlin
9241 projects
java
68154 projects - #9 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to intellij-mob

referencer-plugin
"Referencer" plugin for Jetbrains IDEs
Stars: ✭ 20 (-23.08%)
Mutual labels:  intellij, intellij-plugin
gradle-cleaner-intellij-plugin
Force clear delaying & no longer needed Gradle tasks.
Stars: ✭ 26 (+0%)
Mutual labels:  intellij, intellij-plugin
intellij-ui-test-robot
The library allows you to write and execute UI tests among IntelliJ IDEA. You can test your Plugin.
Stars: ✭ 60 (+130.77%)
Mutual labels:  intellij, intellij-plugin
intellij-autohotkey
AutoHotkey plugin for the Jetbrain's IntelliJ platform
Stars: ✭ 30 (+15.38%)
Mutual labels:  intellij, intellij-plugin
sourcegraph-jetbrains
Sourcegraph for JetBrains IDEs (IntelliJ)
Stars: ✭ 34 (+30.77%)
Mutual labels:  intellij, intellij-plugin
interstellar
Dark editor theme for JetBrains IDEs
Stars: ✭ 26 (+0%)
Mutual labels:  intellij, intellij-plugin
dummytext-plugin
"Dummy Text Generator" plugin for Jetbrains IDEs
Stars: ✭ 31 (+19.23%)
Mutual labels:  intellij, intellij-plugin
ansible-vault-editor-idea-plugin
Ansible Vault Editor IntelliJ Plugin with auto encryption/decryption
Stars: ✭ 29 (+11.54%)
Mutual labels:  intellij, intellij-plugin
EditorGroups
IntelliJ plugin prototype of https://youtrack.jetbrains.com/issue/IDEA-12130#comment=27-2838171
Stars: ✭ 16 (-38.46%)
Mutual labels:  intellij, intellij-plugin
idea-carbon-now-sh
IntelliJ IDEA plugin to open the selected code in https://carbon.now.sh
Stars: ✭ 27 (+3.85%)
Mutual labels:  intellij, intellij-plugin
Squaretest
Tracks issues for the Squaretest plugin for IntelliJ IDEA
Stars: ✭ 32 (+23.08%)
Mutual labels:  intellij, intellij-plugin
material-design-color-palette
🎨Material Design color palette pluin for IntelliJ based IDEs.
Stars: ✭ 19 (-26.92%)
Mutual labels:  intellij, intellij-plugin
gitmoji-intellij-plugin
Intellij plugin for add a button on the commit dialog to add gitmoji
Stars: ✭ 35 (+34.62%)
Mutual labels:  intellij, intellij-plugin
aemtools
AEM Tools is Intellij IDEA plugin containing Adobe Experience Manager related features
Stars: ✭ 49 (+88.46%)
Mutual labels:  intellij, intellij-plugin
intellij-neos
Support for the Neos CMS in Intellij IDEA / PhpStorm
Stars: ✭ 37 (+42.31%)
Mutual labels:  intellij, intellij-plugin
IntelliJ-IDEA-Translate2Chinese
Chinese ​(Simplified)​ Language Pack EAP v201.15 魔改进行中...
Stars: ✭ 14 (-46.15%)
Mutual labels:  intellij, intellij-plugin
CpuUsageIndicator
IntelliJ plugin https://plugins.jetbrains.com/plugin/8580?pr=idea
Stars: ✭ 19 (-26.92%)
Mutual labels:  intellij, intellij-plugin
android-studio-plugin
Integrate your Android project with Crowdin
Stars: ✭ 52 (+100%)
Mutual labels:  intellij, intellij-plugin
highlight-bracket-pair
🎉Highlight bracket pair plugin for intellij
Stars: ✭ 25 (-3.85%)
Mutual labels:  intellij, intellij-plugin
idea-php-typo3-plugin
TYPO3 CMS Plugins for IntelliJ IDEA / PhpStorm
Stars: ✭ 93 (+257.69%)
Mutual labels:  intellij, intellij-plugin

Swift git handover with mob IntelliJ plugin

build Quality Gate Status Coverage version rating

mob Logo

Swift git handover and timer with mob IntelliJ plugin, it useful for Remote Mob Programming.

  • mob IntelliJ plugin is a port of mob command line tool
  • mob is the fast way to handover code via git
  • mob keeps your master branch clean
  • mob creates WIP commits on the mob-session branch
  • mob notifies you when it's time to handover
  • mob squash commits at done session and set Co-authored-by: trailer in commit message

How to install

There are three ways to install.

Stable channel of JetBrains Plugins Repository

  1. Open Settings(Windows, Linux) / Preferences(macOS)... | Plugins
  2. Search "Mob" and install

EAP channel of JetBrains Plugins Repository

Alpha, Beta, and RC versions will only be released on EAP channel.

  1. Open Settings(Windows, Linux) / Preferences(macOS)... | Plugins | ⚙️ | Manage Plugin Repositories...
  2. Add https://plugins.jetbrains.com/plugins/eap/list
  3. Search "Mob" and install

Download from plugin page

  1. Open Mob - plugin for IntelliJ IDEs page and download latest zip file
  2. Open Settings(Windows, Linux) / Preferences(macOS)... | Plugins | ⚙️ | Install Plugin from Disk...
  3. Select downloaded zip file to install plugin

How to use

Git | Mob | Start Mob Programming as Typist... (shortcut: ALT+M, S)

menu

start dialog

Click OK, so switched to a separate branch. Start mob programming!

When handover to the next person,

Git | Mob | Next : Handover to Next Typist... (shortcut: ALT+M, N)

next dialog

Continue with "Start" and handover to the next person with "Next". Continue with "Start" and handover to the next person with "Next". Continue with "Start" and handover to the next person with "Next". ...

When you're done,

Git | Mob | Done : Finish Mob Session... (shortcut: ALT+M, D)

After confirm in a dialog, get your changes into the staging area of the master branch. Please commit & push into base branch yourself.

How does it work

  • Start Mob Programming as Typist : creates branch mob-session and pulls from origin/mob-session
  • Next : pushes all changes to origin/mob-sessionin a mob next [ci-skip] commit
  • Done : squashes all changes in mob-session into staging of master and removes mob-session and origin/mob-session
  • Set "Timer" in start dialog : start a specific minute timer, notify by a balloon if expired
  • Select "Also activates screenshare in Zoom" in start dialog : start screen sharing in Zoom (requires Zoom configuration)
  • Select "Stay in WIP branch after executing 'Next' and checkout base branch" in next dialog : after handover code, stay on mob session branch
  • Resets Any Unfinished Mob Session : deletes mob-session and origin/mob-session

Zoom Screen Share Integration

The "Also activates screenshare in Zoom" feature uses the Zoom keyboard shortcut "Start/Stop Screen Sharing". This only works if you

  • make the shortcut globally available (Zoom > Preferences > Keyboard Shortcuts), and
  • keep the default shortcut at CMD+SHIFT+S (macOS)/ ALT+S (Windows, Linux).
  • setting under System Preferences required on macOS Catalina (or later?); Security & Privacy -> Privacy tab -> Accessibility, and add your IntelliJ Platform Based IDEs .app

More tips on setting up Zoom for effective screen sharing.

How to configure

Open Settings(Windows, Linux) / Preferences(macOS) | Tools | Mob

preferences

Settings are saves to .idea/mob.xml.

If you want a voice notification when the timer expires, open Notifications settings and turn on "Read aloud" on "Mob Timer" row (macOS only).

notification settings

There are two ways to open Notification settings.

  • Preferences... | Appearance & Behavior | Notifications
  • Event Log window | 🔧

Troubleshoot

To see idea.log, in JetBrains Toolbox, open Settings | Configuration, and click "Show logs directory" button.

If necessary, get the trace level log. Open Help | Diagnostic Tools | Debug Log Settings…, and input #com.nowsprinting.intellij-mob:trace.

Milestones

1.1

  • Good looking timer widget on statusbar
  • Pause/resume timer action launch from statusbar

1.x

  • Integration tests
  • Refactor: dialogs uses DialogWrapper
  • Refactor: tests about GitRepository
  • Input validation on dialogs
  • Support multiple repository
  • Can rollback on "done" by splitting the done process into two phases

How to contribute

Open an issue or create a pull request.

Credits

Original mob developed and maintained by Dr. Simon Harrer.

Original and plugin logo designed by Sonja Scheungrab.

Port to IntelliJ plugin by Koji Hasegawa

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].