New abilities to keep your Apex code clean and more changes in Blaze R10 for Mac
It's time for a 'tock' release, if we'd borrow a 'tick-tock' release model from one well-know chip manufacturer. The Welkin Suite Blaze R10 brings a lot of 'here-and-there' improvements in different areas of Salesforce development, and we couldn't hesitate to add support for the new PMD 6.0 with a freedom of custom XPath rules! And the best thing here as all these changes are suggested or inspired by our community, so this is exactly what Salesforce devs are looking for. Have doubts? Check yourself ;)
New PMD 6 support with custom XPath rules
It's very difficult to overestimate benefits of using code analyzers - it took us about 20 minutes on the webinar with Robert Sösemann (creator of the PMD for Apex) to highlight just some of these benefits and we'd talk even more about them Since we've implemented initial PMD support in The Welkin Suite, the guys behind the PMD and PMD for Apex has made a lot of significant changes to this great tool. As they've recently released the new major version - PMD 6.0, we're also updating PMD support in The Welkin Suite IDE.
What does it mean for all of us, Salesforce developers? We'll get all the bugfixes and improvements that were done in the PMD itself, and we'll for sure notice that the number of supported rules for Apex have increased - now we can check Apex using 43 rules from the following categories:
- Best practices - 4 rules
- Code styling - 7 rules
- Design - 10 rules
- Performance - 3 rules
- Security - 11 rules ('must have' for those who are going to submit their packages to the AppExchange)
- Error prone - 8 rules
Still not enough rules and you see a room for improvements here? For sure, we know this feeling and it's great - now you can create your own rules relatively easy! In The Welkin Suite Blaze R10 we've also added custom XPath rules support to the PMD Ruleset Configurator, so you can add your own rules when creating a new ruleset or editing an existing one.
If you haven't tried PMD yourself - spend a couple minutes and try it now just to see what it'll show for your existing codebase and you'll love it! The easiest way to do this is to use our built-in template with some of the most important rules enabled and configured.
Lightning and Visualforce Previewers
In the previous versions of the IDE, we've implemented handy built-in previewers for both Lightning and Visualforce editors to save your time and to show your pages or applications really fast. However, we've missed a point that this is really not always needed to see the previewer. Thankfully, we have great users who point us such things, so we can improve them This is why from now on you have an option to collapse Lightning and Visualforce previewers by default - you can check this option in the 'Application menu → Options → Project UI → Previewers'. In case if you'd need a previewer for a certain page, you can manually expand it in the Visualforce or Lightning editors and the IDE will remember this setting for this page, application, or component. We believe that with all these options we haven't missed any use case and anyone who works with Visualforce and Lightning will find the most comfortable setup!
Another improvement is related to an ability to specify a custom URL or GET parameters for these previewers - while the IDE remembers a lot of things for your comfort, it ignored the URL and parameters that you've entered. In the Blaze R10 the IDE will store and pre-fill custom URL or GET parameters used in the Lightning or Visualforce previewers for each file separately, so if you use some specific conditions for previewing you'll need to enter them only once for a file!
And that's not all about previewers. We have also fixed an "interesting" behavior when the IDE loaded the page or application in the previewer, even if it was collapsed.
Other Changes
Not so much cool and shiny updates this time?
Maybe. However we have a lot of other changes that will for sure add more comfort to your working process in the IDE - let's go through some of them in details.
Starting with the most general update in the IDE - we've moved to the API v.41, so all items you create in the IDE will be created using the API v.41 and all actions like executing Anonymous Apex and SOQL queries will be done using this version as well. And as the Spring'18 Salesforce release is coming in a week - we expect to update to the API v.42 in the next release of The Welkin Suite.
A couple improvements are related to the IDE's performance: first, we've changed the Local History pad to use a native Mac UI, so it will handle large amounts of data much better than before; second, our team has significantly modified the sObjects Inspector's Fields tab, so it will handle even a thousand fields in an object without any issues! By the way, speaking about the sObjects Inspector and fields editing in the IDE, if you won't fill a required attribute for a new field (or for a field that you edit in the IDE) due to some reasons and will try to deploy your changes, The Welkin Suite will also show you a name of a field, that contains an error, rather than just showing you an error that something is missing, as it was before.
Another update is also related to an error message, but this one is about SOQL queries. If there is an error in a query that you're executing - TWS will also show the number of a line with the error in the Errors pad.
Let's also highlight several more important fixes in the Blaze R10.
One of them is that the IDE won't lock your Salesforce user, even if project credentials are incorrect. Previously TWS was making too much API calls to an org in the case of incorrect credentials and, as a result, Salesforce was temporarily locking a user for 15 minutes.
We have also fixed 2 issues related to the IDE customizations that were reverted after restarting the IDE - from now on if you apply a custom color theme or customize built-in UI layouts, these changes won't be reverted to default ones after restarting The Welkin Suite.
Check out the full list of changes below to find out other fixes that are included in this release of The Welkin Suite for Mac.
And we are ready to impress you with more significant changes for your Salesforce tasks already in the next version of The Welkin Suite for Mac. Who knows maybe it won't be even called Blaze ;)
Full list of changes
New Features:
- Added the support for custom XPath rules in the PMD Ruleset Configurator
Improvements:
- Added settings to collapse/expand Visualforce and Lightning previewers by default
- Implemented automated saving & restoring custom URLs and GET parameters for Lightning and Visualforce previewers
- Improved performance of the sObject Fields editor
- Updated the sObjects inspector's Fields editor to show a name of a field, which is missing any required details, when you deploy changes to Salesforce
- Added a line number indication in the Errors pad for error messages after executing SOQL queries
- Changed the Local History pad to use the native Mac UI for better performance
- Updated the bundled PMD code analyzer to the 6.0.1 version
- Updated the IDE to use Salesforce API v.41
Fixes:
- Fixed the issue when custom TWS UI layout was reverted to a default one after restarting the IDE
- Fixed the issue when custom color theme was reverted to a default one after restarting the IDE
- Fixed the issue when there was no ability to rename a subfolder in the Solution Explorer after reopening a solution
- Fixed the issue when Visualforce and Lightning previewers were loading preview pages even if they are collapsed
- Fixed the issue when the IDE caused a lock of a Salesforce user due to the incorrect handling of invalid credentials
- Fixed the issue when Lightning previewer failed to render component and showed 'Loading' process only
- Fixed the incorrect handling of exceptions that caused errors during the work with Immediate Apex
- Fixed the crash of TWS when exporting SOQL query results that contained child relations fields only
- Fixed the error after executing a SOQL query with COUNT in it
- Fixed rare cases of TWS crash caused by updating statuses/results of running tests
Regarding disabling the preview, your instructions aren't quite right: "you can check this option in the 'Application menu → Options → Project UI → Previewers'" It's actually 'Application menu → Preferences → Project UI → Previewers'
Thanks!