Over a million developers have joined DZone.

How to Add a Toggle Breakpoint Option in Popup Menu of WST Editor

· Java Zone

Microservices! They are everywhere, or at least, the term is. When should you use a microservice architecture? What factors should be considered when making that decision? Do the benefits outweigh the costs? Why is everyone so excited about them, anyway?  Brought to you in partnership with IBM.

This problem is a little tricky if your custom editor is extending the WST editor. By default, the WST editor popup menu doesn’t contain the toggle breakpoint option as compared to the Java Editor. You can compare the popup menus shown by these two editors by looking at these figures.

 

Java               xml

              Java Editor – popupMenu                                  XML Editor - popupMenu

 

Now if you want to implement a toggle breakpoint into your pop up menu, you would need to follow the process given below:

The popup menu has two types of contribution, one is object contribution and the other is viewer contribution. For adding a toggle breakpoint in the pop up menu you need to implement viewer contribution. Here is the code snippet which will help you in implementation:

<extension point="org.eclipse.ui.popupMenus">
<viewerContribution id="com.xyz.debug.ui.RulerPopupActions"
targetID="com.xyz.Editor.ID">

<action
id="com.xyz.Editor.toggleBreakpointAction" label="Toggle Breakpoint"
class="org.eclipse.debug.ui.actions.RulerToggleBreakpointActionDelegate"
menubarPath="additions">
</action>
</viewerContribution>
</extension>

 

The trick involved here is to find the targetID for the viewer configuration. You can find it at many places. On the web targetID looks like ->

 >content type<.>editor type keyword<.>place to contribute keyword<

What if you want to know what the exact target ID of your editor? You can find exact target id by debugging AbstractTextEditor.getRulerContextMenuId() method which gives you the run time actual ruler context menu id (TargetId) of your custom editor.

Now you are good to go with setting up the toggle breakpoint in your custom language editor.

Discover how the Watson team is further developing SDKs in Java, Node.js, Python, iOS, and Android to access these services and make programming easy. Brought to you in partnership with IBM.

Topics:

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

SEE AN EXAMPLE
Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.
Subscribe

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}