![]() ![]() Many developers keep the IntelliJ Community source code open in a separate window while working on their plugin. ![]() It's important that you're familiar with navigating and searching source code, as well as other basic features of IntelliJ IDEA. The following tips will help you navigate through the IntelliJ Platform source code if you already have an idea of what you're looking for. 2 Navigating the IntelliJ Platform Source Code Inspecting the plugin.xml files of other plugins not only helps you discover new features but also shows how things like menu entries or notification groups can be defined in the XML file. To find specific implementations of EPs in third-party plugins, use the IntelliJ Platform Explorer ( see 3.2). The search results will contain many plugin XML files. The file is in the scope Project and Libraries If you have the IntelliJ Platform sources available either in your own plugin project or in a separate instance, you can use Structural Search to find all the files that meet the following criteria: 1.4 Use Advanced SearchĮxplore the plugin.xml files of bundled or 3rd party plugins. One such example is the EPs exposed by the Markdown plugin that adds support for custom languages inside fenced code blocks of Markdown files. However, if a bundled or third-party plugin exposes EPs for others to implement, these EPs are defined in the plugin.xml files of the plugins and not in the *ExtensionPoints.xml files of the IntelliJ Platform. Just use *ExtensionPoints.xml as the search pattern and select the All Places scope. Search everywhere or Go to file helps you search for all files containing extension points. There you'll find more EPs, and browsing through this list helps you discover features you might not have been aware of. Use Go to Declaration on EPs that are implemented in plugin.xml to navigate to its definition in the XML file. Note that in the completion popup, you can call quick documentation, which then shows its properties, the implementation class, as well as a direct link to open usage results from IntelliJ Platform Explorer. This is the first step in discovering new features that haven't been explicitly mentioned in the IntelliJ Platform Docs. When you open a new tag in your plugin.xml file (inside the block with defaultExtensionNs="com.intellij"), the IDE will automatically suggest possible EPs. 1.2 Use Autocompletion InformationĪnother way to discover EPs is by using autocompletion or navigating through EP XML files. Additionally, dedicated Extension Point Lists specific to IDEs are available under Part VIII - Product Specific. On this page, you will find all the EPs, and each entry includes a link to the online source code and a link to the IntelliJ Platform Explorer, which helps you find examples of this EP in other plugins. The most important resource for discovering new EPs is the extensive list provided directly in the IntelliJ Platform SDK Documentation. 1 Extension Points (EPs) 1.1 Browse Lists of EPs ![]() See also Required Experience about necessary technology knowledge. In some cases, implementing an actual IntelliJ Platform plugin might not be necessary, as alternative solutions exist. Furthermore, the tips below will help build your confidence as you explore the IntelliJ Platform. This guide provides a list of proven strategies that can help you overcome these challenges and gather enough information to continue your work. In such situations, it is helpful to be able to navigate the IntelliJ Platform code confidently and to find relevant examples in other plugins. You've already started working on a feature, but you're unsure how the different parts of the IntelliJ Platform interact with each other. You're trying to implement a feature that you've already seen in the IDE, and now you need to find the appropriate extension point or class that allows you to hook into the relevant mechanisms. ![]() Sometimes it can be challenging to implement plugin features for the IntelliJ Platform, especially when you've hit a roadblock, and you're unsure how to move forward. ![]()
0 Comments
Leave a Reply. |