Summer '18 support

Issue #1002 resolved
Jason Clark created an issue

This story is for all changes related to the Salesforce Summer '18/API v43.0 release.

Summer '18 pre-release builds will be attached here for those who are already working in Summer '18 orgs. Once Summer '18 is available in all orgs the official builds will include these changes.

Currently these builds include the following:

  • API client updated to v43.0
  • Apex switch statement including:
    • Parser support for all variants (literal, enum constant, and SObject)
    • Syntax highlighter
    • Code formatter including new switch-specific configuration settings
    • Full auto-completion support
    • Reference injection
    • Illegal assignment inspection enhancements
  • @NamespaceAccessible annotation
  • New Salesforce DX org shape features (CascadeDelete, ContactsToMultipleAccounts, StateAndCountryPicklist)
  • skipCodeCoverage unit test execution option. By default code coverage is only collected now when tests are explicitly run with coverage. Run/debug actions specify this new option and will not change code coverage metrics. This can be configured as desired using Illuminated Cloud>Configure Application>Unit Tests and Code Coverage>Always Collect Code Coverage.
  • UITheme.getUITheme() Visualforce function
  • Bundled framework/library updates:
    • Lightning standard component library for new and updated components
    • SLDS to 2.6.0
    • Aura JavaScript interfaces to latest
    • Integrated API docs for everything except for Lightning components. Lightning component documentation has changed significantly in this release so v42.0 component docs are still included. A future release will update for these documentation changes.

Comments (20)

  1. Scott Wells repo owner

    Thanks for logging. This is already mostly implemented (though not yet released, of course). I've already updated the Apex parser, syntax highlighter, formatter, and keyword code completion. I still need to add the specialized identifier code completion (enum constants, SObject types, etc.) and reference injection, and I plan to add a live template to facilitate creation of switch statements and a code intention to create missing when clauses.

    I can go ahead and get out an early version of it with the grammar change. That would eliminate the issues you're seeing even if it's not 100% functionally complete right now. I'll probably start by posting a pre-release build here for those playing with the new feature to validate it before putting it into an official build. Let me know if you're interested in that.

  2. Jason Clark reporter

    Awesome, thanks for the update. Honestly, not a rush for me to get a pre-release version, due to this issue: Thought I'd give switch a try in some new code I'm working on, but I needed it for string value switching, and no way I'm filling my code with literals. I'm sure I'll be using it with enums and SObject types at some point, but probably not today. I'll keep an eye on the release notes and give it a spin in IC when it's ready.

  3. Scott Wells repo owner

    Okay, here's a build with preliminary support for the new switch statement. You can install it using Settings>Plugins>Install plugin from disk.

    As stated earlier, it currently has the following features:

    • Full parser support for all statement variants
    • Syntax highlighter support
    • Formatter support including new config options for the new statement
    • Keyword completion

    It does not yet have the following features though they are planned for when Summer '18 is officially released:

    • Identifier completion, in particular for enum constants, SObject types, etc., based on the statement variant
    • Reference injection for when variables, again in particular the same as above
    • Live template to help generate a switch statement
    • Code intention to generate missing when clauses when all branches are known and/or the when else clause

    Please let me know if you find any issues with the completed features, ideally with standalone code samples that reproduce the issues.

  4. Scott Wells repo owner

    Also note that while the attached build is for IC2, I will also be adding all of this to IC1 except for the code intention. If you're using IC1 and would like a pre-release build, let me know and I'll put one together.

  5. Scott Wells repo owner

    Atillio, I'm deep in the updates for Summer '18 with intent to release on Monday for both IC1 and IC2. I'll see if I can post an IC1 build this evening, but worst case scenario you'll have access to it on Monday.

  6. Scott Wells repo owner

    Pre-release Summer '18 builds for IC1 and IC2. Downloading the appropriate build for your IDE:

    • IC1 on IntelliJ IDEA 12 -
    • IC1 on IntelliJ IDEA 13 -
    • IC1 on IntelliJ IDEA 14+ -
    • IC2 on IntelliJ IDEA or WebStorm -

    Install using Settings>Plugins>Install plugin from disk. Note that if you take automatic updates, you will be reverting to the official build.

    Also note that these builds will not work with Spring '18 orgs due to differences in the WSDLs from which the API clients were generated.

    If you use these builds, please let me know if you see any issues, either with new features or in the form of regressions vs. the official releases. I will address reported issues in short order based on severity.


  7. Scott Wells repo owner

    @tonyfwhite, you'll just need to regenerate your OST once you're using the new build (attached here or available as an official build tomorrow morning) with API version 43.0 and it should include all new system Apex classes/methods.

  8. Log in to comment