Plugin integration issue solved
This release fixes an issue with a JetBrains code change in 2018.2 that caused crashes for our SystemVerilog plugin. The SystemVerilog plugin is once again available on the "app store" for the latest IntelliJ releases. We learned two lessons: First, from now on, we will actively test upcoming IntelliJ releases to detect issues like this before they are released. Secondly, it highlights the need for a stand-alone Electronic Design IDE where we can better control for quality. It has always been on our list of essential features, but this issue brought it home.
IntelliJ based products do not have built-in support for plugins that require C/C++
like macro support. So to support SystemVerilog Compiler Directives (i.e., defines and macro resolution) we had to integrate more deeply with the IntelliJ code base than a standard plugin. This deep integration leaves our plugin somewhat sensitive to changes in the IntelliJ code. Finding and understanding the impact of an IntelliJ code change also took longer than anticipated. From now we will try to test against upcoming releases so that we are not caught off-guard again.
Having support for resolving macros and checking the underlying code is essential for a SystemVerilog IDE otherwise static analysis is not possible. We are actively working to improve this feature with many planned upgrades.
We sincerely apologize for the inconvenience this bug caused and will work hard to ensure this does not happen again.
With that said we would now like to talk about something positive - automatic header files!
Structure View - an automatic header file for SystemVerilog!
With this release, the SystemVerilog plugin now supports the Structure View feature. The structure view is a quick way to get an overview of the current file. It can be thought of as an automatic header file and can be useful for understanding large SystemVerilog classes etc. To bring up Structure View use [ALT][7]
on Linux and Windows and [COMMAND][7]
on mac.
With this feature, the SystemVerilog plugin now supports all essential JetBrains Editor features. Now starts the real work adding great checks in tool integration to take the experience to the next level. The structure we have in place will allow us to add meaningful checks, automatic fixes and suggestions to really reduce compile errors, check and fixes for common code mistakes and much more. We think you will like it.