SonarCloud / SonarLint

SonarLint Installation Guide:

Prerequisites:

  • VSCode with Salesforce Extensions installed, configured and connected to both Azure DevOps and your ScratchOrg.

  • A SonarCloud account (Free for public projects / ~$10mo for most Salesforce projects) - with a project set up which will be used for the SFDX code analysis, note the projectKey as it will be used in step 14.

Configuration Process:

  1. Install the SonarLint Extension into VSCode, and restart VSCode

  2. Open your VSCode project related to your ScratchOrg

  3. Visit SonarCloud and log in using the Azure DevOps button.

  4. Under the section titled Generate Tokens, enter vscode and click the Generate button.

  5. You will get a new token, copy the token value secure location we will use it later and you will not be able to retrieve it once it is generated.

  6. Open Visual Studio Code, and navigate to the setting section

    • On Windows/Linux - File > Preferences > Settings

    • On macOS - Code > Preferences > Settings

  7. Select User Settings and Search for SonarLint

  8. Ensure that you select User directly under the search box so that you are configuring user settings.

  9. Pick any of the settings and click **Edit in settings.json

  10. Paste the following into the settings.json file

    "sonarlint.connectedMode.connections.sonarcloud": [
        {
          "organizationKey": "<<YOUR COMPANY NAME>>",
          "token": "<<YOUR VSCODE TOKEN GOES HERE>>"
        }
      ],
    "sonarlint.connectedMode.project": {
        "projectKey": "<<YOUR PROJECT KEY>>"
      },
  11. Replace the <<YOUR VSCODE TOKEN GOES HERE>> with the token you created earlier.

  12. Replace the <<YOUR COMPANY NAME>> with your organization key

  13. Replace the <<YOUR PROJECT KEY>> with your project key.

    • You can look up the project key under Administration > Projects Management on your organization's page.

  14. You will also likely want to set the Sonarlint > LS: Java Home to the follow the path to your JDK in the same manner you had do to when installing AdoptOpenJavaSDK

  15. Restart VSCode and reopen your VSCode Project related to your ScratchOrg

The following is a sample settings.json file for reference:

{
    "sonarlint.connectedMode.connections.sonarcloud": [
        {
          "organizationKey": "ecfmg",
          "token": "b33e974....76331859"
        }
      ],
    "sonarlint.connectedMode.project": {
        "projectKey": "sfdc"
      },
    "salesforcedx-vscode-apex.java.home": "/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home",
    "sonarlint.ls.javaHome": "/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home"
}

Last updated