The Welkin Suite IDE 0.20.11 - Release notes

Just now we have released version 0.20.11 with a focus on Apex Code Assistance improvements and Apex Test Runner improvements.The main focus for this release was on the Code Assistance functionality - we have fully rewritten the Code Completion logic and have added some nice improvements.

Apex Code Completion v.2

During the last month we've fully rewritten the logic for Code Completion. While not being a "new feature" this provides great possibilities for everyone.

From a user's perspective they are:

An improved behavior of Code Completion which will insert incorrect completions much more rarely than previously (however we won't say that it's ideal - share your experiences with us on the forum and we'll make it better).

Added support for the completion of keywords.

Added recognition of different code blocks like enums and declarations of classes, etc.

Ability to configure the Code Completion behavior.

From TWS development perspective they are:

A highly increased flexibility for further improvements and fixes.

A great base for Code Assistance features like "Go to definition", "Find all references" and even refactoring options.

We have added ability to configure Code Completion behavior in the way you want, available options are:

Show Code Completion - There is an ability to turn on or off this feature.

Show Code Completion when typing - When this option is turned on you will see the completion list while typing.

Preselect Completions in the Completion List – The one completion which most suitable will be selected by default and you can insert it with one click.

Show Code Snippets in the Completion List - You can allow The Welkin Suite to display code snippets in the completion list.

Commit a completion by typing the following characters - You can simply set up and change the symbols which will insert values from the completion list. By default they are: {}[]().,:;+-*/%&|^!~=<>?@#'"\

While there's an option to disable this feature, we kindly ask you to report to us first if this is an annoying behavior so we can fix it and then only after that if it's still critically annoying - disable the feature until we release an update.

In terms of exact changes in Code Completion logic we'll just highlight some of the improvements in this release:

Code Completion database was updated to include full Apex v.34 reference (classes and interfaces excluding enums and exceptions)

Improved behavior for instance and static members

Improved behavior for local variables

Started improving behavior for inline declarations (e.g. in "classical" for loop)

Improved general Code Completion performance and reliability

Also we'll be happy to know what exactly Code Assistance features you'd like to see (we have "Go to definition" and "Find all references" for Apex in our backlog already) - share your thoughts with us and we'll work on making them real. The Welkin Suite > Release notes Beta 3 Sprint 12 > Code Completion.png

Apex Test Runner improvements

Second focus for this release was Apex Test Runner which we'd like to polish to an ideal state.In this release we have added icons and text status for regular test jobs (previously they were displayed only for jobs that were started as a "deployment validation") and we fixed an issue with the jobs sorting order in the Test Results panel.For both regular and "deployment" apex test jobs we have also changed the status text description, now it looks like this:

Passed (Y/Y) - when all test classes in a job or when all test methods in a class are passed

Failed (X/Y) - when there's at least one test class in a job or test method in a class that fail. X is the number of failed items while Y is a total number of items.

We hope that this change will make it easier to read the test results in less time.And finally we have optimized the process of loading test results - details about apex test methods are now retrieved from the Salesforce org only when you expand a test class (e.g. on-demand), previously they were retrieved immediately when available.This approach will surly increase the Test Runner performance and reduce the number of API calls to Salesforce.

Code snippets for Apex code

Code snippets have been added which allow you to insert commonly used expressions using the Code Completion. In the Code Completion list, you will notice such things as "for" - selecting them will automatically insert a block of code with changeable parameters which can be easily edited. Additionally you can press the CTRL+K+X hotkey and select any of the snippets that you'd like to insert.

The full list of currently supported snippets is:

assertEquals - System.assertEquals call

assertNotEquals - System.assertNotEquals call

class - class definition

classHeader - ApexDoc class header

const - constant definition

ctor - constructor definition

do - do...while loop

else - else block

enum - enum definition

for - "classical" for loop

forr - "classical" reverse for loop

if - if block

interface - interface definition

methodHeader - ApexDoc method header

newList - new List<T1> initialization

newMap - new Map<T1,T2> initialization

newSet - new Set<T> initialization

propfull - full property definition

try - try...catch block

while - while loop

Local History update

In the last release we created an incredibly helpful Local History which tracks the changes in the project.Based on your feedbacks, we have improved the naming of versions for some situations, such as:

For versions that are relatedwith these changes, the "item" word has been changed to the actual file name that was affected in the corresponding version, thus it will be easier to find these changes in the history. The Welkin Suite > Release notes Beta 3 Sprint 12 > LocalHistoryItemLife.png

Other

Of course we fixed a few other bugs:

Fixed the issue when a test wasn’t displayed in the Test Runner when it had the @isTest attribute with parameters

Fixed the issue when syntax highlighting didn’t work for Objects and Triggers in the Diff View window

Fixed the issue when the jobs sorting order in the Test Results panel was incorrect - previously deployment validation runs were displayed first, ignoring the run date

Fixed the rare issue when TWS crashed while typing code

Fixed the rare issue when TWS was hanging when building a project

Fixed some other minor crashes

For the next release we are going to focus on under-the-hood performance improvements as well as some other small features and updates.

Day by day we are working to make The Welkin Suite the best platform for force.com development. But it's impossible without your help. Write down a few words about your experience with TWS or about desired features on our forum so we will know better what exactly requires some more love from us to make your development process better.

Download and try The Welkin Suite yourself. P.S.: Finally we've got comments working, so let us know what do you think about this release.