# Installation

For the most part, SonarQube for IDE can be installed directly from your IDE’s Marketplace. Offline installations are also possible and previous versions are available if needed.

## 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](https://docs.sonarsource.com/sonarqube-for-intellij/getting-started/deploy-at-scale "mention") 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](https://docs.sonarsource.com/sonarqube-for-intellij/using/rules "mention") page for languages that work with your IDE.

Then check out the [investigating-issues](https://docs.sonarsource.com/sonarqube-for-intellij/using/investigating-issues "mention") 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 [#sonarqube-for-ide-in-rider](https://docs.sonarsource.com/sonarqube-for-intellij/using/scan-my-project#sonarqube-for-ide-in-rider "mention") expandable on the [scan-my-project](https://docs.sonarsource.com/sonarqube-for-intellij/using/scan-my-project "mention") 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](https://app.gitbook.com/s/LWhbesChsC4Yd1BbhHhS/user-guide/connected-mode), [SonarQube Cloud](https://app.gitbook.com/s/B4UT2GNiZKjtxFtcFAL7/analyzing-source-code/connected-mode), or [SonarQube Community Build](https://app.gitbook.com/s/bqrfLGeD0Y9vE5l9Le42/user-guide/connected-mode) to expand your analysis capabilities and share quality profiles with your team. See the article about connected mode [#benefits](https://docs.sonarsource.com/sonarqube-for-intellij/connect-your-ide/connected-mode#benefits "mention"), and the [setup](https://docs.sonarsource.com/sonarqube-for-intellij/connect-your-ide/setup "mention") page for full instructions to get going.
