Wiki

Clone wiki

IlluminatedCloud / User_Guide / Create_SFDX_Project

[Home]

Creating Salesforce DX Projects

There are several ways you can create Salesforce DX projects in Illuminated Cloud. You can create projects from scratch, from source files stored in the local file system, and from source files in a supported version control system.

Simply select File > New, and choose from the following options:

  • Project — Select Illuminated Cloud SFDX in the list on the left, and use the New Project wizard to create your project, following the instructions below.
  • Project from Existing Sources — Select the source files from which you want to create a project and follow the instructions here to create your project.
  • Project from Version Control — Select the type of version control system where the files from which you want to create a project are located and follow these instructions to create your project.

Creating a Salesforce DX Project from Scratch

For general help on creating a project from scratch, see the corresponding documentation for IntelliJ IDEA and WebStorm (and other lightweight IDEs).

  1. Select File > New > Project to launch the New Project wizard. Note that the New Project Wizard in WebStorm and other lightweight IDEs may be slightly different in appearance, but the general flow should match closely.

    new_sfdx_project.png

  2. Select Illuminated Cloud SFDX from the project type list on the left, then provide values for the following fields:

    • Project Name — The project name. Corresponds to the sfdx force:project:create option -n/--projectname.

    • Namespace — The namespace. Corresponds to the sfdx force:project:create option -s/--namespace. If creating the project for scratch org development, the namespace should have already been registered with the dev hub from which scratch orgs will be created.

    • Package Directory Name — The default package directory name. Corresponds to the sfdx force:project:create option -p/--defaultpackagedir. Just as with the CLI, the default value is force-app.

  3. Check the Generate Manifest option if you want to include a manifest/package.xml file for the project. Corresponds to the sfdx force:project:create option -x/--manifest.

  4. Click Next to proceed to the final step in the New Project wizard.

    new_sfdx_project2.png

  5. Specify a name for the IDE project. By default the IDE project is named the same as the Salesforce DX project name specified in the previous step.

  6. Specify the location in the filesystem where you want the project content to be placed, or accept the default location. If the directory doesn't already exist, you'll be prompted to confirm that you want the IDE to create it for you.

  7. Check the Generate offline symbol table option. An offline symbol table is required by Illuminated Cloud for code completion, offline API documentation, etc., for Salesforce system Apex classes and SObjects, accessible Apex classes from installed managed packages, and custom SObjects. This option should always be selected unless there is a good reason not to generate an offline symbol table for the new project.

  8. If desired, check the Create 'All Tests' Apex unit test run configuration option (checked by default, but the last state is retained across project creations). When checked, the project is created with a project-level Apex unit test run configuration that runs all tests.

  9. If creating a multi-module project, specify the following additional settings as described in detail here:

    Module name — The module name if different from the project name.

    Content root — The path to the module content root under which all module source files reside.

    Module file location — The path to the module's .iml configuration file.

    Project format — The project format. The .idea directory-based format is strongly recommended.

  10. When you are satisfied with your project settings, click Finish to create the project.


You'll be prompted to choose whether you want the new project to be opened in a new window, or to replace the existing window. Choose the option you'd prefer to proceed.

Illuminated begins configuring the Salesforce DX project and prompts you as needed. For example:

  • Illuminated Cloud prompts you to choose an existing org or authorize a new org for the project. Click OK to proceed.

    Choose an existing scratch org (sfdx_connection_icon.png) or non-scratch/OAuth org (oauth_connection_icon.png), or create one for the project following the instructions provided here. You can always change the org for the project later.

    NOTE: The metadata management options that are available for the project will be based on the type of org selected. For example, Push and Pull are available for scratch orgs, while Deploy, Retrieve, and Delete are available for non-scratch orgs.

  • If you previously selected that you wanted to generate an offline symbol table for the connection, Illuminated Cloud loads the system Apex classes and SObject types — essentially the SDK for Apex development — and any custom classes and SObject types available in the organization via managed packages or unmanaged content.

You'll be prompted to reload the project after rebuilding the cache and indices.

reload_rebuild_prompt.png

Choose the option you'd prefer to proceed. Yes is the default selection, and is recommended.

You'll be notified when Illuminated Cloud has finished generating the offline symbol table if you chose to do so.

You can expand External Libraries > Illuminated Cloud > OfflineSymbolTable.zip to view the contents of the generated offline symbol table. For more information, see Generating an Offline Symbol Table.

offline_symbol_table_sfdx.png

Illuminated Cloud now knows about all system identifiers, classes, methods, and fields — essential for taking advantage of features such as intelligent code completion, offline system API documentation, etc. You can now begin working with your project metadata.

sfdx_project.png

[Home]

Updated