# Installation

SonarQube for IDE can be installed directly from your IDE’s Marketplace.

## Instructions <a href="#instructions" id="instructions"></a>

Installation is usually completed via the IDE, directly from the JetBrains Marketplace. In IntelliJ, go to **Settings** > **Plugins**; search for `SonarQube for IDE` in the **Marketplace** tab. Select **Install**. When complete, you must select **Restart IDE** and confirm the **Restart** to activate the new plugin.

If SonarQube for IDE does not appear in the Marketplace when searching from within the IDE, it means that your IDE is not supported.

{% hint style="info" %}
If your organization centrally manages JetBrains IDEs using JetBrains IDE Services, see the [Deploy at scale](/sonarqube-for-intellij/getting-started/deploy-at-scale.md) page for organization-wide deployment options.
{% endhint %}

## First taste of SonarQube for IDE <a href="#first-taste-of-sonarlint" id="first-taste-of-sonarlint"></a>

Now that you have SonarQube for IDE installed, open or create a new project containing source files in a programming language SonarQube for IDE can analyze out of the box. See the [Rules and languages](/sonarqube-for-intellij/using/rules.md) page for languages that work with your IDE.

Then check out the [Investigating issues](/sonarqube-for-intellij/using/investigating-issues.md) page for details about how to recognize issues found in your code.

{% tabs %}
{% tab title="IDEA" %}
**JetBrains flavor:** IntelliJ IDEA

**Language**: Java

```java
import java.util.ArrayList;
import java.util.List;

public class Main {
  public static void main(String[] args) {
    List<String> texts = new ArrayList<String>();
    if (texts != null) {
      texts.add("Hello World!");
    }
  }
}
```

This code sample should raise two issues:

1. *Remove this expression which always evaluates to "true"*
   * It has three secondary locations explaining the flows
2. *Replace the type specification in this constructor call with the diamond operator ("<>")*
   * It has a quick fix
     {% endtab %}

{% tab title="CLION" %}
**JetBrains flavor:** CLion

**Language**: C++

```cpp
#include <string>

typedef int Integer;

size_t get_size(std::string& s) {
    return s.size();
}
```

This code sample should raise two issues:

1. *"using" is preferred to "typedef" for type aliasing*
   * It has a quick-fix
2. *Make the type of this parameter a reference-to-const*

CLion offers multiple ways of setting up a C++ project using different build tools and allows the use of different compilers. Note that you may need to install dependencies on your machine beforehand.
{% endtab %}

{% tab title="RIDER" %}
**JetBrains flavor:** Rider

**Language**: C#

```csharp
    public class Math {
        int Pow(int num, int exponent)
        {
            return num * Pow(num, exponent - 1);
        }
    }
```

This code sample should raise one issue:

1. *The method is in an indefinite loop*
   {% endtab %}

{% tab title="WEBSTORM" %}
**JetBrains flavor:** WebStorm

**Language**: TypeScript

```typescript
const a = NaN;

if (a === NaN) {
    console.log("a is not a number");
}
```

This code sample should raise one issue:

1. *The code inside the condition is dead code*
   {% endtab %}
   {% endtabs %}

## Rider <a href="#rider" id="rider"></a>

There are specific requirements for Rider which are documented inside the [Scan my project](/sonarqube-for-intellij/using/scan-my-project.md#sonarqube-for-ide-in-rider) expandable on the [Scan my project](/sonarqube-for-intellij/using/scan-my-project.md) page.

## Connect to your server <a href="#updating-sonarlint-in-vs-code" id="updating-sonarlint-in-vs-code"></a>

Connect SonarQube for VS Code to your instance of [SonarQube Server](/sonarqube-server/2026.1/user-guide/connected-mode.md), [SonarQube Cloud](/sonarqube-cloud/analyzing-source-code/connected-mode.md), or [SonarQube Community Build](/sonarqube-community-build/user-guide/connected-mode.md) to expand your analysis capabilities and share quality profiles with your team. See the article about connected mode [Connected mode](/sonarqube-for-intellij/connect-your-ide/connected-mode.md#benefits), and the [Connected mode setup](/sonarqube-for-intellij/connect-your-ide/setup.md) page for full instructions to get going.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.sonarsource.com/sonarqube-for-intellij/getting-started/installation.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
