Wiki

Clone wiki

IlluminatedCloud / User_Guide / Configuring_Application_Settings

[Home]

Configuring Application Settings

Illuminated Cloud provides several options that you can use to control application behavior. You can access these configuration options by selecting Configure Application from the Tools > Illuminated Cloud menu, Illuminated Cloud context menu, or toolbar icon (select View > Toolbar to enable the toolbar, if it isn't visible).

Related configuration options are grouped as follows:

NOTE: If you're unsure about the meaning of a particular configuration option, simply hover over it to view its associated tooltip.


Validation and Deployment

Use the available options to configure how and when metadata gets moved between a project and its associated connection. Options are grouped according to whether they relate to deployment behavior, automatic metadata subscription management, tooling API usage, or near-real-time source code validation.

validation_deployment_config.png

Override Save All action — If checked, only those changes to the files you are working on are saved. We strongly recommend you enable this option to maintain consistent behavior with the base IDE. You can then use the Deploy all modified files option to indicate whether all files modified since the last save should be deployed or only the current file.

Deploy on save — If checked, indicates that you want your changes automatically propagated to the server every time you save files in the IDE.

  • Deploy on external change — Leave this option unchecked unless you want changes made outside of the IDE (e.g., using a command line, source control system, or file manager) to be automatically deployed when the IDE detects the changes. We recommend you uncheck this option so that only changes you make to the current file are deployed, not changes made in other tabs / buffers.
  • Deploy static resource bundle on contents change — Illuminated Cloud can extract archive-type static resources so you can work with the contents using the IDE's associated editor. If checked, the corresponding static resource will be automatically rebuilt when you explicitly request a deployment that includes a static resource. If unchecked, you'll need to explicitly deploy the static resource.

Use separate source root for static resource bundles — Check this option if you want the directory that's created for static resource bundles in your non-Salesforce DX projects to be created in a separate top-level source root directory called resource-bundles. Uncheck this option if you want them placed directly in your source root. We recommend you check this option to maintain compatibility with other tools that support resource bundles and retain the ability for other tools to deploy the source project.

Metadata subscription — Choose whether and how you want your metadata subscription to be updated with metadata files that you add and remove from your project (e.g., new classes or Lightning components you create) in the IDE:

  • Prompt — Select this option if you want the IDE to show you the impact of any changes on your metadata subscription so you can choose whether or not you want to accept those updates. RECOMMENDED.

  • Always Update — Select this option if you want the IDE to automatically update your metadata subscription with all changes.

  • Never Update — Select this option if you want to manage your metadata subscription, preventing the IDE from making any updates automatically.

  • Sort package.xml entries — Check this option to maintain the selected package.xml file's entries in proper lexicographic order as they are added and removed by Illuminated Cloud.

    NOTE: This option applies only to modules that use a package.xml metadata subscription.

Prefer Tooling API for — Check whether you want to use the Tooling API to deploy each of the listed metadata types.

  • If unchecked, the Metadata API will be used. We recommend using the Tooling API wherever possible to enhance deployment performance. The one exception to this recommendation is for Lightning Web Components due to a current issue that can result in a failed deployment in LWC bundles which import custom fields.
  • We also recommend you check the Use Salesforce-reported organization type option unless there is a valid use case for overriding the type when you configure the connection (e.g., you're testing against a Developer Edition org as if it were a Production org).

Validate on edit — Use these options to choose whether you want the IDE to perform near-real-time validation of your source code as you're writing it against each of the listed metadata types.

Validate when local errors are present in each case means the following:

  • If unchecked, and if the IDE's parser has identified errors, the file will not be sent to the server for validation.
  • If checked, the file will always be sent to the server for validation.

Use the On edit delay field to enter a value (in milliseconds) to wait after you've stopped editing a file before performing a check-only deployment on the file against the server and annotating any errors in the editor. This is helpful if you want to ensure your code is valid before committing it to the organization.

NOTE: These options are not enabled by default as the real-time code inspection and client-side code analysis features included with Illuminated Cloud 2 provide similar functionality without the performance hit of having to continually connect to the server and consume precious API requests for source code validation.


Salesforce DX

Illuminated Cloud requires access to the Salesforce CLI to perform Salesforce DX-specific operations and connect to SFDX orgs (scratch and non-scratch).

sfdx_config.png

If you haven't already done so, click the link provided to download the Salesforce CLI. Then use the browse button to locate the SFDX executable (called sfdx on Mac/Linux and sfdx.cmd on Windows) and register it with the IDE.

Now you can use the available options to specify how you want Illuminated Cloud to interact with the Salesforce CLI:

  • Log Salesforce DX commands — Enable this option to display the output of any Salesforce DX commands that are executed in the Messages tool window.

  • Show messages from the Salesforce DX error stream — Check this option to display messages emitted to the Salesforce CLI's standard error stream in a toaster notification (recommended).

    NOTE: This information is also written to the log (Help > Show Log in Explorer/Finder/Files), so if the toaster notifications become too noisy and you want to disable it as a result, you can still access the error messages in the log.

  • Automatically set default username — When checked, Illuminated Cloud will automatically set the CLI's default username when an OAuth or scratch org connection is associated with an Illuminated Cloud module. For existing projects, Illuminated Cloud will inform the user when the CLI's default username is not configured properly or at all, and will assist in setting the CLI's default username accordingly (recommended).

  • Always force push and pull — When checked, force:source:push and force:source:pull actions are always executed with the -f flag causing any conflicts to be overwritten.

    NOTE: This option is disabled by default, and we strongly recommend you enable it only if you are experiencing issues where conflicts are being reported incorrectly and overwriting them is the only way to resolve them.

  • When the cached connection list appears stale — Determines the actions that occur when the cached CLI connection list information appears stale relative to the corresponding files under the user's .sfdx directory. Options include:

    • Refresh (default) - Immediately and synchronously runs sfdx force:org:list --skipconnectionstatus to repopulate the connection list cache. This can be faster but can yield stale connection status information.
    • Force Refresh - Immediately and synchronously runs sfdx force:org:list to repopulate the connection list cache. This can be slower but yields accurate connection status information.
    • Notify - Displays a stale cache notification to the end user with options to refresh, force refresh, defer the notification, or configure the stale cache behavior.
    • Do Nothing - No action is taken. The user is responsible for maintaining the connection cache via the connection manager and/or named actions.
  • When the cached connection details appear stale — Determines the actions that occur when the cached CLI connection detail information appears stale relative to the corresponding file under the user's .sfdx directory. Options include:

    • Refresh (default) - Immediately and synchronously runs sfdx force:org:display to repopulate the connection details cache for the specific connection.
    • Notify - Displays a stale cache notification to the end user with options to refresh, defer the notification, or configure the stale cache behavior.
    • Do Nothing - No action is taken. The user is responsible for maintaining the connection cache via the connection manager and/or named actions.
  • Use the Automatically push to server on options to specify whether you want the Salesforce org to be automatically kept up-to-date with changes you make in the IDE.

To explicitly update the Salesforce org yourself (e.g., using the Illuminated Cloud push to server feature or the CLI) and never have it updated automatically in response to IDE actions, disable all of these options.

NOTE: If you checked the Deploy on save option on the Validation and Deployment tab, you'll also need to enable these push options for it to work correctly.


Unit Tests and Code Coverage

Use the available options to specify how Apex unit tests are run and code coverage is collected and displayed within Illuminated Cloud:

APEX_API_config.png

  • Always run unit tests asynchronously — By default, Illuminated Cloud will run test execution requests for a single Apex class synchronously, often resulting in faster test execution. If you are experiencing issues where unit tests being run synchronously are reporting false negatives, check this option to run unit tests asynchronously instead.

  • Always collect code coverage when tests are run — Illuminated Cloud doesn't collect code coverage metrics unless you explicitly choose the Run with coverage command in the IDE. Check this option if you want to collect code coverage information whenever tests are run, regardless of how you run them (e.g., in standard execution and debug mode).

  • Ignore/Fail unit tests for which no status is reported — If you choose Ignore and no other methods failed, your overall test execution will be reported as having passed (but you also won't know whether tests were skipped without reviewing the test execution results). Choose Fail if you want to be notified of any such skipped methods. In this case, the overall test execution will be marked as "Failed", even if there were no explicit test failures.

[Home]

Updated