In the new version of The Welkin Suite we've focused on such anticipated improvements like for Apex Code like "Go to Definition", "Comment" and "Uncomment" functionality and ApexDoc support as well as greatly improving overall performance and resources consumption. With this version not only you can work faster, but IDE itself would work faster.
"Go to Definition" for Apex Code
With "Go to Definition" it is extremely easy to move to the classes, enums, interfaces, their members or local variables with one click or a simple hotkey and without remembering in which file and on which line they were declared.
Now when you want to take a look at the item declaration - you can do it in 3 different ways:
- You can right-click on any item in the code and select "Go to Definition" from the context menu
- When caret is in the item bounds you can simply press F12 hotkey (you can easily change the hotkey in Tools -> Options -> Environment -> Keyboard and look exactly for "Edit.Gotodefinition")
- You can hold CTRL and click on any item
If you want to see definition of the item which is not a part of your project, it's a system class/method/etc., it's a part of sObject or it is a trigger - Go to Definition won't do anything.
Development and support of complex projects is much easier when there's at least some documentation available. However everybody knows that separate documentation source for code is not an option. Cause it always will be outdated and on the other hand comments in each line of code don't add anything to the readability - even making it worse.
Great option for limited documentation in a code is ApexDoc standard (you can find the specification on the GitHub). It allows you to add descriptive header comments to the classes, methods, properties in a standard way. This description is enough to understand the logic while not adding any noise in the code.
We agree that idea of clean code improves development performance a lot. That's why we have added ApexDoc support to this release. It consists of two parts: Automated generation of ApexDoc comments and ApexDoc hints in Code Completion.
Automated generation of ApexDoc comments
Once you enter /** on the line above class/enum/interface, method or property declaration standard header is generated with all added parameters (for methods).
"Author" can be generated according to username which is used for project or custom value entered in settings. It's working for classes, enums and interfaces.
You can configure ApexDoc behavior in Tools -> Options -> Text Editor -> Code Assistance -> Apex:
ApexDoc hints in Code Completion
To make ApexDoc even more helpful in development, all comments entered by you or other developers are displayed as a Code Completion hints for appropriate items. You don't have to remember details of each method or use method's names which are 80 characters long.
Comment and Uncomment
It is a common situation when it is required to comment out some line or lines of a code. Instead of doing it manually for each line in The Welkin Suite you can use "Comment block" and "Uncomment block" features.
These functions are available in the editor panel on the top or you can cause its using hotkeys:
- Comment - CTRL+K, CTRL+C
- Uncomment - CTRL+K, CTRL+U
The Welkin Suite is fully oriented to be the fastest Salesforce IDE due to providing features that boost development and being fast and reliable itself at the same time. For this release we have improved IDE performance in all processes, starting from the opening of windows and up to the Code Completion hints, but main areas of improvements are:
- Project opening: required time for The Welkin Suite to open project was dramatically decreased. Now small projects with only 50-100 items in them are opening immediately, while opening of projects with thousands of items is in 40-50 times faster now. For example, project with 2397 files in it is opened in about 2 seconds on an average office PC.
- Memory consumption: we have reviewed whole codebase and fixed a lot of places where memory was used incorrectly and/or it was wasted. As a result memory consumption have decreased by 10-20%.
- Memory leaks: additionally we have eliminated different memory leaks; it led to excessive memory consumption after some time of active work with Salesforce projects.
Bugs that were fixed in this release are:
- Fixed various memory leaks and related crashes
- Fixed issue when Code Completion continued to show completions from previously opened project
- Fixed issue when Code Completion was working in string literals
- Fixed issue when Code Completion was not appeared in some rare cases
- Fixed issue when variable declaration right after the comment was not handled by Code Completion
- Fixed incorrect Code Format behavior for generics
- Fixed incorrect Code Format behavior for the "less" symbol
- Fixed issue when test classes were duplicated in Test Runner after moving them to a different folders
- Fixed issue when Code Coverage value was not updated properly for items
- Fixed crash after user quickly checked and unchecked flag in the Application column in the Logs window
- Fixed issue when static resources were duplicated in a project file after pulling from a Salesforce org
- Fixed issue when pull failed if no changes were done locally
- Fixed multiple issues when pull failed if zipped Static Resources were processed
- Fixed issue where variables which were initialized with SOQL query were not visible for Code Completion
- Fixed crash which was caused by an attempt to create a class instance inside the class itself
- Fixed various minor issues in Code Completion
For the next release we again focus on user's experience improvements and bugfixing. Thanks to all our users who give us great ideas and report issues. If you haven’t done it yet, please drop few words on the forum about your experience with our IDE to let us know if we are moving in the right direction.
You can download The Welkin Suite 0.21.6 here, if you're an existing user - it will be updated automatically asap.
Please let us know what do you think about this release in comments.