Intelij IDEA plugin for displaying a code mini-map similar to the one found in Sublime

Related tags

Plugin CodeGlance
Overview

CodeGlance CircleCI

Plugin Repository: http://plugins.jetbrains.com/plugin/7275
Latest build: https://github.com/Vektah/CodeGlance/releases

InteliJ plugin that displays a zoomed out overview or minimap similar to the one found in Sublime into the editor pane. The minimap allows for quick scrolling letting you jump straight to sections of code.

  • Works with both light and dark themes using your customized colors for syntax highlighting.
  • Worker thread for rendering
  • Color rendering using InteliJ's tokenizer
  • Scrollable!
  • Embedded into editor window
  • Complete replacement for Code Outline that supports new Intellij builds.

Dracula

Building using Gradle

git clone https://github.com/Vektah/CodeGlance
cd CodeGlance
# run the tests
./gradlew test

# build the plugin and install it in the sandbox then start idea
./gradlew runIdea

# build a release
./gradlew buildPlugin

The result will be saved as build/distributions/CodeGlance-{version}.zip

Running from source in IntellJ

  1. Make sure you have the Plugin DevKit installed.
  2. Checkout sources from github
  3. Create a new Intellij Platform plugin project
  4. Select source directory, chose a plugin sdk (create one that points to your intellij install).
  5. Mark src/main/java as source root, and src/test/java as test root.
  6. In order to run tests you will need to find mockito and testing jars. I usually do this with Gradle.
  7. In module settings set the path to META-INF to src/main/resources
  8. Hit Run.

Show/Hide or Enable/Disable Minimap

  • Ctrl-Shift-G to toggle minimap.
  • Settings > Other Settings > CodeGlance
Comments
  • OS X 10.7 Rendering issue

    OS X 10.7 Rendering issue

    On Apple OS X 10.7 with IDEA 12.1.4 I've got some rendering issues with CodeGlance: 'preview' appears to be stretched down and in some part you are unable to scroll or click to preview after some virtual 'border'.

    There is some screenshots to illustrate:

    screen shot 2013-07-13 at 4 30 01 pm screen shot 2013-07-13 at 4 34 41 pm

    bug retina 
    opened by seigert-xx 19
  • OSX Retina Compatibility

    OSX Retina Compatibility

    Without access to a retina mac its difficult to debug. This will probably sit here until someone with a retina mac submits a PR.

    I am quite happy to point to the relevant sections on IRC.

    bug retina 
    opened by vektah 15
  • Just doesn't show

    Just doesn't show

    Hi,

    I am trying to activate Code Glance for WebStorm now for ages ;-) Currently I am using the latest version of WebStorm (11.0.2) and just updated Code Glance, but it never shows ... Am I missing something. What do I have to do, to get it active?

    Thx a lot! Regards Stefan

    opened by stefanwalther 14
  • CodeGlance won't display in files with more than 400 lines

    CodeGlance won't display in files with more than 400 lines

    After 1.4.3 update, CodeGlance won't display in files with more than 400 lines. Tried by reinstalling but it did not help.

    IntelliJ IDEA Ultimate 15.0.1 Windows 10 Professional, x86_x64 Java 8 x64 1.8 Update 51

    performance 
    opened by dhladik 14
  • CodeGlance broken in latest WebStorm 2017.1

    CodeGlance broken in latest WebStorm 2017.1

    WebStorm 2017.1 EAP Build #WS-171.3566.29, built on February 22, 2017 WebStorm EAP User Expiration date: March 24, 2017 JRE: 1.8.0_112-release-724-b6 amd64 JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o Windows 10 10.0

    does not load at all :(

    regards

    Sean

    opened by born2net 13
  • Not working with PyCharm 2017.3.2

    Not working with PyCharm 2017.3.2

    Just udpated from PyCharm 2017.2.3 to 2017.3.2 and the CodeGlance plugin is no longer working.

    Tried deactivating/reactivating and uninstall/install (with restarts in between) and nothing works.

    Later I re-installed PyCharm with JetBrain's JRE, but that didn't change anything.

    More Info

    • This is on a Windows 10 machine.
    • A colleague has PyCharm 2017.3.1 on a Mac and the plugin is working fine.
    opened by joaonc 11
  • Feature request Xcode like // MARK: something

    Feature request Xcode like // MARK: something

    Hello CodeGlance Team,

    First of all, I wanted to say a big thank you for this project. This is a very helpful.

    If I may, I would like to ask for a request which is widely adopted in Xcode, and is very helpful. In Xcode, if there is a tag: // MARK: Something

    Screen Shot 2019-10-14 at 12 20 02

    The Xcode Code Glance will display it with a different font (much bolder) Please see the screenshot as well.

    This allow from the Code Glance mini map, a faster and clearer way to to just click and get to the lines of code needed.

    Thank you so much!

    opened by patpatpat123 9
  • ide fatal error

    ide fatal error

    error message: net/vektah/codeglance/GlancePanel$onConfigChange$1

    details: net/vektah/codeglance/GlancePanel$onConfigChange$1 java.lang.NoClassDefFoundError: net/vektah/codeglance/GlancePanel$onConfigChange$1 at net.vektah.codeglance.GlancePanel.(GlancePanel.kt:74) at net.vektah.codeglance.EditorPanelInjector.inject(EditorPanelInjector.kt:80) at net.vektah.codeglance.EditorPanelInjector.fileOpened(EditorPanelInjector.kt:26) at sun.reflect.GeneratedMethodAccessor25.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.intellij.util.messages.impl.MessageBusConnectionImpl.deliverMessage(MessageBusConnectionImpl.java:117) at com.intellij.util.messages.impl.MessageBusImpl.doPumpMessages(MessageBusImpl.java:381) at com.intellij.util.messages.impl.MessageBusImpl.pumpMessages(MessageBusImpl.java:368) at com.intellij.util.messages.impl.MessageBusImpl.pumpMessages(MessageBusImpl.java:354) at com.intellij.util.messages.impl.MessageBusImpl.sendMessage(MessageBusImpl.java:347) at com.intellij.util.messages.impl.MessageBusImpl.access$200(MessageBusImpl.java:42) at com.intellij.util.messages.impl.MessageBusImpl$2.invoke(MessageBusImpl.java:230) at com.sun.proxy.$Proxy84.fileOpened(Unknown Source) at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.c(FileEditorManagerImpl.java:964) at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl$9$1.run(FileEditorManagerImpl.java:1057) at com.intellij.openapi.wm.impl.FocusManagerImpl.b(FocusManagerImpl.java:646) at com.intellij.openapi.wm.impl.FocusManagerImpl.a(FocusManagerImpl.java:469) at com.intellij.util.ui.UIUtil.invokeLaterIfNeeded(UIUtil.java:2493) at com.intellij.openapi.wm.impl.FocusManagerImpl.doWhenFocusSettlesDown(FocusManagerImpl.java:462) at com.intellij.openapi.wm.impl.FocusManagerImpl.doWhenFocusSettlesDown(FocusManagerImpl.java:457) at com.intellij.openapi.wm.impl.IdeFocusManagerImpl.doWhenFocusSettlesDown(IdeFocusManagerImpl.java:70) at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl$9.run(FileEditorManagerImpl.java:1054) at com.intellij.openapi.util.BusyObject$Impl$Simple.execute(BusyObject.java:123) at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.notifyPublisher(FileEditorManagerImpl.java:1050) at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.a(FileEditorManagerImpl.java:961) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:301) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) at java.awt.EventQueue.dispatchEvent(EventQueue.java:726) at com.intellij.ide.IdeEventQueue.e(IdeEventQueue.java:843) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:679) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:391) at com.intellij.ide.IdeEventQueue.pumpEventsForHierarchy(IdeEventQueue.java:930) at com.intellij.openapi.progress.util.ProgressWindow.startBlocking(ProgressWindow.java:207) at com.intellij.openapi.progress.util.ProgressWindow.startBlocking(ProgressWindow.java:194) at com.intellij.openapi.application.impl.ApplicationImpl.runProcessWithProgressSynchronously(ApplicationImpl.java:586) at com.intellij.openapi.progress.impl.CoreProgressManager.runProcessWithProgressSynchronously(CoreProgressManager.java:435) at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcessWithProgressSynchronously(ProgressManagerImpl.java:76) at com.intellij.openapi.progress.impl.CoreProgressManager.runProcessWithProgressSynchronously(CoreProgressManager.java:268) at com.intellij.openapi.progress.impl.CoreProgressManager.runProcessWithProgressSynchronously(CoreProgressManager.java:220) at com.intellij.openapi.project.impl.ProjectManagerImpl.openProject(ProjectManagerImpl.java:357) at com.intellij.platform.PlatformProjectOpenProcessor.doOpenProject(PlatformProjectOpenProcessor.java:226) at com.intellij.ide.RecentDirectoryProjectsManager.doOpenProject(RecentDirectoryProjectsManager.java:55) at com.intellij.ide.ReopenProjectAction.actionPerformed(ReopenProjectAction.java:68) at com.intellij.openapi.actionSystem.ex.ActionUtil$1.run(ActionUtil.java:199) at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAware(ActionUtil.java:215) at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.a(ActionMenuItem.java:315) at com.intellij.openapi.wm.impl.FocusManagerImpl.runOnOwnContext(FocusManagerImpl.java:920) at com.intellij.openapi.wm.impl.IdeFocusManagerImpl.runOnOwnContext(IdeFocusManagerImpl.java:130) at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.actionPerformed(ActionMenuItem.java:295) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) at com.intellij.openapi.actionSystem.impl.ActionMenuItem.a(ActionMenuItem.java:112) at com.intellij.openapi.application.TransactionGuardImpl.a(TransactionGuardImpl.java:91) at com.intellij.openapi.application.TransactionGuardImpl.access$300(TransactionGuardImpl.java:41) at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:116) at com.intellij.openapi.application.TransactionGuardImpl.submitTransaction(TransactionGuardImpl.java:126) at com.intellij.openapi.application.TransactionGuard.submitTransaction(TransactionGuard.java:122) at com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed(ActionMenuItem.java:112) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) at javax.swing.JToggleButton$ToggleButtonModel.setPressed(JToggleButton.java:308) at javax.swing.AbstractButton.doClick(AbstractButton.java:376) at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:833) at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:877) at java.awt.Component.processMouseEvent(Component.java:6533) at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) at java.awt.Component.processEvent(Component.java:6298) at java.awt.Container.processEvent(Container.java:2236) at java.awt.Component.dispatchEventImpl(Component.java:4889) at java.awt.Container.dispatchEventImpl(Container.java:2294) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466) at java.awt.Container.dispatchEventImpl(Container.java:2280) at java.awt.Window.dispatchEventImpl(Window.java:2746) at java.awt.Component.dispatchEvent(Component.java:4711) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90) at java.awt.EventQueue$4.run(EventQueue.java:731) at java.awt.EventQueue$4.run(EventQueue.java:729) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) at java.awt.EventQueue.dispatchEvent(EventQueue.java:728) at com.intellij.ide.IdeEventQueue.e(IdeEventQueue.java:843) at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:675) at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:391) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

    opened by ildarkhasanshin 9
  • Distances & sizes incorrect on Retina display

    Distances & sizes incorrect on Retina display

    On a retina display the distances and sizes are off. If you look at the attached screen shot the size of the gray box indicating how much of my document is viewable in CodeGlance is roughly twice as big as what I'm actually able to view in the editor. Plus, the place in my document CodeGlance thinks I'm add is roughly doubled. For example in the screen shot I'm viewing lines 75 - 110 of a 212 line document, but CodeGlance shows me at the end of the document instead of in the middle. I believe this fork fixes it but on an older version. https://github.com/vkravets/CodeGlance/commit/b8927e513a86ecf94855a43ecaf5898f7a684994

    screen shot 2014-02-07 at 9 30 43 am

    opened by Hemphill 9
  • Click/Drag events improvements

    Click/Drag events improvements

    Hello. First of all, thanks for that plugin. After sublime just can't imagine coding without it.

    But I noticed some minor issues compared to sublime. I understand that they are not mb obvious but from my point of view that things rly make minimap more handy.

    1. Drag In sublime you can click in any part of the active area and start dragging smoothly. While here (in CodeGlance) we have a jump (to the center i suppose). According to this clicking on active part of minimap should not scroll a page at all too.
    2. Click 2.1 First, when you click in sublime the page scrolls instantly. I mean it uses smth like MouseDown html event, while CG uses smth like MouseUp (or scrolls when you start dragging). So i think CG must react instantly too (like scrollbar). 2.2 Actucal for big scripts (when minimap height is more that window height so it scrolls with code automatically): in sublime click on a minimap scrolls both page and minimap to a certain position (click point becomes a center of active part), while in CG repeated clicks on the same point scrolls page again and again coz page and its minimap are not syncronized like they are in sublime (sorry for that poor explanation). BTW it causes some sort of jumps too.

    Thank you.

    opened by a1tus 9
  • PhpStorm (10.0.1): CodeGlance 1.4.4 plugin

    PhpStorm (10.0.1): CodeGlance 1.4.4 plugin "disappears" from installed plugins after restart

    • I open settings in PhpStorm, select Plugins
    • Browse repositories, search for CodeGlance
    • Click install
    • It asks to restart PhpStorm, I click ok
    • Plugin gone from installed Plugins list after restart

    Not sure if this is CodeGlance or PhpStorm issue?

    opened by jisuo 8
  • CodeGlance keeps putting large

    CodeGlance keeps putting large "injection failed" messages in logs

    I've found that my logs keep getting filled up with very large stack traces caused by this bit of code.

    Would it be possible to not have the stack trace printed by default?

    opened by G-Rath 0
  • #bug? Setting background picture with opacity hides the

    #bug? Setting background picture with opacity hides the "selected" area

    Thanks to jetbrains not letting us control the background colour of the window without a theme (loading a theme just to set the bg colour has caused me headaches so im just resorting to using a "tiled" background colour image, finally a "darker" background ide! )

    this however caused me to notice this issue

    seems the "viewport" area is "hidden" by the image. the "viewport" colour setting doesnt seem to do anything here either (when a background image is selected and opacity to full -> settings -> appearance & behaviour -> appearance -> background image).

    image

    when the IDE (phpstorm in this case but same for pycharm) loads up i can see the red on codeglance for a fraction of a second then the background image loads in and its gone.

    in my above screenshot it looks like the block is empty./ but if i lower the opacity of my background image then we get this

    image

    the red starts coming through. but the "shape" behind it is very very dull. (i dont use red as my highlight colour, just doing this to make it more visible)

    not sure if this will be even possible to fix. not being able to immediately spot where the viewport is is somewhat hurting my workflow a bit at the moment.

    image

    thanks for an awesome plugin!

    opened by WilliamStam 0
  • Account for 'Show virtual space at bottom of page' intellij setting

    Account for 'Show virtual space at bottom of page' intellij setting

    If the 'Show virtual space at bottom of page' setting is enabled, one page worth of lines are added to the highlighted (visible) section of the glance panel.

    Note: If a user is on in a file with the setting disabled, then enables the setting, the plugin won't update until the file is reopened.

    Before the Commit: before

    After the Commit: after

    opened by supex0fan 0
Releases(1.5.4)
Owner
Adam Scarr
Adam Scarr
An IntelliJ IDEA plugin is used to inspire you to write code.

InspireWritingPlugin An IntelliJ IDEA plugin is used to inspire you to write code. Whenever you write code that exceeds the specified character, the p

Airsaid 6 Feb 11, 2021
A plugin for Android Studio and Intellij IDEA that speeds up your day to day android development.

ADB Idea A plugin for Android Studio and Intellij IDEA that speeds up your day to day android development. The following commands are provided: Uninst

Philippe Breault 2k Dec 28, 2022
IDEA plugin.

#Code Review Plugin Download 团队之间Code Review(Diff) 工具 集成 Trello Get Start 配置Task 插件依赖IDEA task 插件的server信息 Perferences -> Tools -> Tasks -> server 添加T

hxc 4 Dec 11, 2021
IDEA plugin demo.

idea-plugin-demo Template ToDo list Create a new IntelliJ Platform Plugin Template project. Get known with the template documentation. Verify the plug

YISEN CAI 0 Nov 3, 2021
IntelliJ IDEA / PhpStorm InertiaJS Plugin

PhpStorm and IntelliJ IDEA Inertia.js Plugin Provides support in PhpStorm and IntelliJ IDEA Ultimate for Inertia.js. ?? GitHub Issues: feature request

Matthew Hailwood 16 Dec 18, 2022
IntelliJ IDEA plugin for JBang

jbang-intellij-plugin JBang plugin is a plugin for IntelliJ IDEA to integrate JB

jbang - unleash the power of Java 14 Dec 16, 2022
🌏 Android/IDEA localization plugin. supports multiple languages and multiple translators.

English | 简体中文 AndroidLocalizePlugin ?? Android/IDEA localization plugin. supports multiple languages and multiple translators. Features Multiple tran

Airsaid 465 Dec 28, 2022
Idea-plpgdebugger - A plugin to debug PostgreSQL in Intellij

Intellij PL/pg SQL debugger Debug PL/pg SQL in Intellij with Datbase Tool to spe

Alexandre Boyer 24 Dec 30, 2022
A Mindustry modding Intellij IDEA plugin, named Plumy.

mgppi Template ToDo list Create a new IntelliJ Platform Plugin Template project. Get familiar with the template documentation. Verify the pluginGroup,

Plumy Games 2 Jul 24, 2022
This is an IDEA plugin that allows you to connect Android devices via WiFi for debugging your codes.

AdbWifiUtils Github | Issues | README | 中文文档 ● [Description]: This is an IDEA plugin that allows you to connect Android devices via WiFi for debugging

AWeiLoveAndroid 3 Sep 19, 2022
AsyncAPI - IDEA plugin

AsyncAPI - IDEA plugin ⚠️ This plugin doesn't support AsyncAPI 1.x Idea plugin for the java-asyncapi - Helps to edit and validate AsyncAPI schemas. Fe

AsyncAPI Initiative 5 Dec 27, 2022
Library for testing highlighting in plugins for IDEA in KPHP format.

intellij-kphp-highlighting-test-adapter Library for testing highlighting in plugins for IDEA in KPHP format. Installation Kotlin DSL plugins { id(

Makhnev Petr 2 Jul 23, 2022
Ownership-gradle-plugin - Gradle code ownership verification plugin

Gradle code ownership verification plugin A gradle plugin that will verify owner

null 4 Dec 15, 2022
gradle-android-scala-plugin adds scala language support to official gradle android plugin

gradle-android-scala-plugin gradle-android-scala-plugin adds scala language support to official gradle android plugin. See also sample projects at htt

saturday06 345 Dec 10, 2022
eventbus-intellij-plugin 3.8 0.0 L1 Java Plugin to navigate between events posted by EventBus.

eventbus-intellij-plugin Plugin to navigate between events posted by EventBus. Post to onEvent and onEvent to Post Install There are two ways. Prefere

Shinnosuke Kugimiya 315 Aug 8, 2022
Intellij-platform-plugin-template - IntelliJ Platform Plugin Template

IntelliJ Platform Plugin Template TL;DR: Click the Use this template button and

null 0 Jan 1, 2022
BuildPlots-Plugin - PaperMC-Plugin for build contests written in Kotlin.

BuildPlotsPlugin PaperMC-Plugin for build contests. This is my first time using Kotlin and the first plugin I've written after a long time. It is stil

Lukas Heinzl 0 Jan 1, 2022
K6-intellij-plugin - IntelliJ-based Plugin to run k6 tests locally or in the k6 Cloud from your IntelliJ IDE

IntelliJ-based Plugin to run k6 tests locally or in the k6 Cloud from your Intel

Mikhail Bolotov 8 Jan 2, 2023
IntelliJ Plugin for Android Parcelable boilerplate code generation.

IntelliJ/Android Studio Plugin for Android Parcelable boilerplate code generation This tool generates an Android Parcelable implementation based on fi

Michał Charmas 2.1k Dec 27, 2022