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

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 all modified files — If checked, all files modified locally since the last deploy-on-save operation are included in the deployment payload in addition to the explicitly-selected files. If unchecked, only the explicitly-selected files are included in the deployment payload.

  • 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.

Propagate local deletes — If checked, deleting local metadata files will result in the user being prompted as to whether the corresponding metadata should be deleted from the connected organization.

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.

Update offline symbol table on successful deployment — When enabled (default), the offline symbol table entries for SObjects and fields are regenerated automatically on successful deployment of the corresponding metadata files.

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.
  • 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.

  • Use .forceignore — When checked, Illuminated Cloud will use entries from a source format project's .forceignore file for filtering in the build options dialog, metadata subscription editor, and metadata management operations. Ignored files are also visibly distinguished in the IDE's Project view, and Add to .forceignore actions are available to help manage the .forceignore file (recommended).

    • Ignored file status color — When Use .forceignore is enabled, allows configuration of the color used to distinguish ignored files in the IDE's Project view. The standard Ignored file status color is used by default and can be restored using the Restore Default button.
  • 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:

unit_tests_coverage_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).

  • Prompt when executing tests against non-project connections — When enabled (default) and unit test execution would occur against a connection that is not configured for the current project, the user will be prompted whether to continue executing tests against the non-project connection, edit the unit test run configuration settings, or cancel unit test execution.

  • 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.

  • Annotate code coverage on directories beneath source roots|content roots — Determines the level at which aggregate code coverage is reported in the IDE's Project view. By default it is reported at the source root-level and below, but it can be configured to display at the content root-level and below if desired.

  • Show full coverage in Project view — When enabled (default), code coverage in the IDE's Project view is reported as X of Y lines covered (XX.YY%). On smaller displays, it can be useful to use a more concise format of just XX.YY%.


User Interface

Use the available options to specify key user interface behaviors of Illuminated Cloud:

user_interface_config.png

  • User interface > Show meta.xml files — By default, Illuminated Cloud hides supporting meta.xml files in the IDE's Project view. These files are still available through the tabbed editor interface (if so configured using the option below) and through the Navigate > Related Symbol... action. If you wish to include these files explicitly in the Project view, enable this option.

  • User interface > Add Illuminated Cloud toolbar actions in new UI (2022.3+) — When checked, the Illuminated Cloud toolbar actions are added to the top IDE toolbar in the new UI. This option is only available in JetBrains 2022.3 or higher version IDEs and is enabled by default.

  • Use tabbed editors for > Meta.xml files — By default, Illuminated Cloud groups source files and their supporting meta.xml files into a tabbed editor UI with sub-tabs for the source and metadata files respectively. If desired, this tab grouping behavior can be disabled.

user_interface_config_meta_xml_tabbed_editor.png

  • Use tabbed editors for > Lightning bundle files — By default, Illuminated Cloud groups Aura and LWC bundle files into a tabbed editor UI with sub-tabs for the source and metadata files respectively. If desired, this tab grouping behavior can be disabled.

user_interface_config_lightning_tabbed_editor.png

  • Recent connections > Remember recent connections — When enabled, a project-level Recent Connections section is added to all project connection selectors that includes the most used non-project connections. Non-project connections are added to this list automatically when they are used for certain operations from the current project, e.g., metadata deployment/retrieval/removal, Anonymous Apex and SOQL Query execution, Log Analyzer, etc. Enabled by default.

user_interface_recent_connections.png

  • Recent connections > Clear recent connections for project — Allows the user to clear/reset all remembered connections for the current project if desired.

  • Recent connections > Maximum recent connections — Allows the user to configure the number of recent connections that are included in the list in the range 5-20 (10 by default).

  • Recent connections > Sort recent connections by — Allows the user to determine how recent connections are sorted (and therefore retained within the maximum allowed constraint described above) as one of:

    • Last used — by recency of usage; default
    • Most used — by frequency of usage
    • Alphabetic — by case-insensitive connection name

[Home]

Updated