IDEs and Editors

Visual Studio 2022 Setup

winget install -e --id=Microsoft.VisualStudio

Visual Studio Code Setup (Configuration before Installation)

We define the settings path and the settings to disable telemetry. We ensure the settings directory exists. If the settings file exists, we merge with the current settings. Then, we write the settings to the settings file and install Visual Studio Code using winget.

The configuration settings are defined before the installation to ensure that once the Visual Studio Code is installed, it can be immediately configured with the desired settings. This is particularly useful in automated scripts where you want to install and configure the software in one go. However, in this specific case, the configuration settings are written to a file that Visual Studio Code reads on startup. If Visual Studio Code is not installed yet, the settings file will be ready and waiting for when it is. This way, the first time Visual Studio Code is launched after installation, it will already be configured with the desired settings.

Configuration

# Define the settings path
$settingsPath = "$env:APPDATA\Code\User\settings.json"

# Define the settings to disable telemetry
$settings = @{
    "telemetry.enableTelemetry" = $false
    "telemetry.enableCrashReporter" = $false
}

# Ensure the settings directory exists
$settingsDir = Split-Path -Path $settingsPath -Parent
if (!(Test-Path -Path $settingsDir)) {
    New-Item -ItemType Directory -Path $settingsDir -Force
}

# If the settings file exists, merge with the current settings
if (Test-Path -Path $settingsPath) {
    $currentSettings = Get-Content -Path $settingsPath | ConvertFrom-Json -AsHashtable

    # Iterate over each setting
    foreach ($key in $settings.Keys) {
        # Add or overwrite the setting
        $currentSettings[$key] = $settings[$key]
    }

    # Replace the settings with the merged settings
    $settings = $currentSettings
}

# Write the settings to the settings file
$settings | ConvertTo-Json -Depth 100 | Set-Content -Path $settingsPath

Installation

# Install Visual Studio Code
winget install -e --id=Microsoft.VisualStudioCode

Extensions

# Define the extensions
$extensions = @(
    "ms-dotnettools.csharp",
    "ms-vscode.powershell",
    "ms-vscode.vs-keybindings",
    "ms-vscode.vscode-typescript-tslint-plugin",
    "msjsdiag.debugger-for-chrome",
    "redhat.vscode-yaml",
    "VisualStudioExptTeam.vscodeintellicode",
    "vscode-icons-team.vscode-icons",
    "wix.vscode-import-cost"
)

# Install each extension
foreach ($extension in $extensions) {
    code --install-extension $extension
}

JetBrains Products Setup

IntelliJ IDEA Ultimate Edition

# Install using winget (EAP)
winget install -e --id JetBrains.IntelliJIDEA.Ultimate.EAP

# Install using choco
# https://community.chocolatey.org/packages/intellijidea-ultimate
# https://zhile.io/2023/09/04/copy-jetbra-in.html
# https://3.jetbra.in/
choco install intellijidea-ultimate

PyCharm Professional Edition

# Install using winget (EAP)
winget install -e --id JetBrains.PyCharm.Professional.EAP

# Install using choco
# https://community.chocolatey.org/packages/pycharm
choco install pycharm

Visual Studio Keymap Plugin

  1. Open PyCharm.
  2. Go to File > Settings (on Windows) or PyCharm > Preferences (on macOS).
  3. In the Settings/Preferences dialog, select Plugins.
  4. Click the Marketplace tab, and search for Visual Studio Keymap.
  5. Click on Install for the Visual Studio Keymap plugin in the search results and then click OK.
  6. PyCharm will prompt you to restart the IDE. Click Restart.

ReSharper EAP

winget install -e --id JetBrains.ReSharper.EAP

Rider EAP

winget install -e --id JetBrains.Rider.EAP

Android Studio Setup

# Install Android Studio
winget install -e --id=Google.AndroidStudio

Uno Platform Check Setup

# Install Uno Platform Check
dotnet tool install -g uno.check

# Run Uno Platform Check
uno-check --non-interactive