Skip to content

Latest commit

 

History

73 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GoLens for GitLab™

This extension is not affiliated, endorsed, sponsored, or approved with or by GitLab Inc.

GITLAB is a trademark of GitLab Inc. in the United States and other countries and regions

OpenSSF Scorecard

A calmer, Go-aware code review experience for GitLab.
Navigate symbols, find interface implementations, and focus on the diff without sending repository code anywhere.

GoLens racing through a merge-request diff

GoLens for GitLab is a dependency-light Manifest V3 extension for GitLab.com and self-hosted GitLab. It reads source through your signed-in GitLab session and runs its Go intelligence entirely inside the browser.

Highlights

  • Hover Go identifiers for signatures and documentation; type references include their complete struct or interface body.
  • Cmd/Ctrl-click to find definitions, usages, and interface implementations.
  • Select a Go identifier and press Cmd/Ctrl+F12 by default for the same definition or implementation navigation.
  • Plain-click a Go identifier to highlight its loaded-diff occurrences, then move between occurrences, hunks, and files with configurable shortcuts.
  • Go back and forward through in-diff semantic jumps without leaving the merge request.
  • Bookmark an old- or new-side line or contiguous range, navigate locally, and recover only uniquely matched destinations after the MR head changes.
  • Switch GitLab's diff between inline and side-by-side view from the control rail or a shortcut, without opening GitLab's own preferences dropdown.

Navigation defaults follow familiar editor patterns: Cmd/Ctrl+Alt+↑/↓ for occurrences, Shift+Alt+F5/Alt+F5 for hunks, Alt+Page Up/Down for files, Alt+V for the inline/side-by-side diff view toggle, Ctrl+-/Ctrl+Shift+- for semantic history, and Alt+M/Alt+,/Alt+. for bookmark toggle, previous, and next. Settings can apply GoLens, VS Code, IntelliJ IDEA, or Vim-style keymaps before changing or clearing individual bindings; the Vim preset adds shortcuts only, not modal behavior.

First-run setup asks which keymap to use and whether GitLab-marked generated files should be hidden, then teaches four essential interactions. The complete feature reference remains available from Settings under Help.

  • Enter review focus to hide GitLab chrome and give the diff more room.
  • Cache related packages or the full project for broader navigation.
  • Let the mascot mark review focus, a completed cache pitstop, the final resolved discussion, confirmed approvals and merges, plus an extra-long Friday-after-16:00 beer-kart lap with confetti.
  • Keep source local, same-origin, and pinned to the merge-request commit.

GoLens teaches the highest-value bindings with contextual shortcut tips after the equivalent mouse action. Tips are limited to one per review session with a 24-hour cooldown, stop after the shortcut is used, and can be disabled or re-enabled in General settings. Learning progress stays in local extension storage while the preference and configured bindings use Chrome sync.

In action

Hover and jump to definitions

GoLens showing Go documentation and a definition target in a GitLab diff

Find usages without leaving the diff

GoLens finding Go symbol usages in a GitLab diff

Install

  1. Clone this repository.
  2. Open chrome://extensions and enable Developer mode.
  3. Choose Load unpacked and select the repository folder.
  4. Refresh a GitLab.com merge-request Changes page.

The five-button control appears beside GitLab's AI-panel button: enable GoLens, enter review focus, cache related MR packages, open MR-local bookmarks, and toggle GitLab's inline/side-by-side diff view. The compact toolbar popup controls global enablement and full-project caching. Use its gear button to open the large tabbed settings overlay on GitLab, where you can configure shortcuts, approve self-hosted origins, manage cached source, or replay the quick tour. After approving a self-hosted HTTP(S) origin, refresh its merge-request page.

Development

npm install
npm run check

The extension deliberately favors safe, browser-native Go navigation over speculative results: missing or ambiguous symbols do not navigate.

Legal

GoLens is available under the MIT License. See the privacy policy, security policy, and third-party notices for more information.

About

A calmer, Go-aware code review experience for GitLab. Navigate symbols, find interface implementations, and focus on the diff—without sending repository code anywhere.

Topics

Resources

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages