База знаний (цифровой суверенитет)
  • Интеграция языка Rust в VS Code

    IDE VS Code
    1 3 3

    A
    951
    0

    🧩 1. Установите главное расширение

    Откройте VS Code → Extensions (Ctrl+Shift+X) и установите:

    👉 rust-analyzer (официальное расширение)

    Или через терминал:

    code --install-extension rust-lang.rust-analyzer
    

    ⚙️ 2. Проверьте Rust в системе

    В терминале:

    rustc --version
    cargo --version
    

    Если команды работают — VS Code уже сможет их использовать.


    🔧 3. Установите полезные компоненты Rust (но обычно они уже установлены)

    rustup component add rustfmt
    rustup component add clippy
    

    Это даст:

    • автоформатирование кода
    • анализ ошибок и подсказки

    🧠 4. Настройте rust-analyzer (важно)

    Откройте настройки (Ctrl+,) и найди:

    Включите:

    • Rust-analyzer: Check On Saveclippy

    Или вручную в settings.json:

    {
        "rust-analyzer.check.command": "clippy"
    }
    

    🚀 5. Создайте тестовый проект

    cargo new hello_rust
    cd hello_rust
    code .
    

    VS Code автоматически:

    • подхватит проект
    • включит подсветку
    • начнёт анализ кода

    ▶️ 6. Запуск и отладка

    Быстрый запуск:

    cargo run
    

    Кнопка Run в VS Code:

    Появится автоматически (через rust-analyzer)


    🐞 7. Отладка (debug)

    Установите расширение:

    👉 CodeLLDB

    code --install-extension vadimcn.vscode-lldb
    

    После этого:

    1. Перейдите в Run & Debug
    2. Нажмите "create launch.json"
    3. Выберите LLDB

    Пример launch.json:

    {
        "configurations": [
            {
                "name": "Debug",
                "type": "lldb",
                "request": "launch",
                "program": "${workspaceFolder}/target/debug/hello_rust",
                "args": [],
                "cwd": "${workspaceFolder}"
            }
        ]
    }
    

    🧱 8. Полезные расширения

    • crates — показывает версии библиотек
    • Even Better TOML — для Cargo.toml
    • Error Lens — подсветка ошибок прямо в коде

    💡 Важный момент (который многие упускают)

    Rust-analyzer — это не просто подсветка, а почти компилятор:

    • анализирует код в реальном времени
    • понимает Cargo
    • даёт автодополнение уровня IDE

    🔥 Итог

    После настройки вы получаете:

    • автодополнение как в IntelliJ
    • мгновенные ошибки
    • форматирование
    • встроенный debug
  • A
    951
    0

    🧠 ПОЯСНЕНИЕ - Как включить Clippy в rust-analyzer

    Наша цель:

    👉 чтобы при сохранении файла (Ctrl+S)
    👉 автоматически запускался Clippy
    👉 и показывал предупреждения прямо в Visual Studio Code


    ✅ Шаг 1. Убедиться, что Clippy установлен

    В терминале:

    rustup component add clippy
    

    ✔ Если уже установлен — просто пропустится


    ✅ Шаг 2. Открыть настройки VS Code

    Нажмите:

    Ctrl + ,
    

    Откроется окно настроек


    ✅ Шаг 3. Найти нужную настройку

    В строке поиска сверху введите:

    rust analyzer check
    

    ✅ Шаг 4. Включить проверку при сохранении

    Найдите:

    👉 Rust-analyzer: Check On Save

    ✔ Поставь галочку (включить)


    ✅ Шаг 5. Переключить на Clippy

    Чуть ниже будет:

    👉 Rust-analyzer: Check: Command

    Сейчас там обычно:

    check
    

    👉 Нажмите и выберите:

    clippy
    

    🟢 В итоге должно быть так:

    • ✔ Check On Save → включено
    • ✔ Check Command → clippy

    🔍 Шаг 6. Проверка (ОЧЕНЬ ВАЖНО)

    Откройте src/main.rs и вставьте:

    fn main() {
        let x = 5;
    }
    

    Нажмите:

    Ctrl + S
    

    👉 Что должно произойти:

    Вы увидите предупреждение:

    • переменная x не используется
    • подсветка прямо в коде

    👉 Это значит, что Clippy работает ✔


    ⚠️ Если НЕ работает

    Проверьте 3 вещи:

    1. Открыта ли папка проекта?

    Должен быть Cargo.toml


    2. Установлен ли Clippy?

    rustup component list | grep clippy
    

    3. Перезапустите VS Code

    Иногда нужно после настройки


    💡 Альтернатива (через settings.json)

    Если хотите точный контроль:

    1. Нажмите:
    Ctrl + Shift + P
    
    1. Введите:
    settings json
    
    1. Выберите:
      Preferences: Open Settings (JSON)

    2. Вставьте:

    {
        "rust-analyzer.check.command": "clippy"
    }
    

    🔥 Коротко (суть)

    👉 Было:

    • только cargo check (минимальная проверка)

    👉 Стало:

    • cargo clippy (умный анализ кода)

    🚀 Результат

    Теперь при каждом сохранении:

    • ошибки появляются сразу
    • плохие практики подсвечиваются
    • код становится чище
  • A
    951
    0

    ДОПОЛНИТЕЛЬНО


    🧩 КРИТИЧЕСКИЙ момент: всегда открывайте папку проекта

    ❗ Это главная причина 90% проблем

    👉 НЕЛЬЗЯ:

    • открывать отдельный .rs файл

    👉 НУЖНО:

    • открывать папку с Cargo.toml

    Правильно:

    cargo new hello_rust
    cd hello_rust
    code .
    

    Структура:

    hello_rust/
    ├── Cargo.toml   ← главный файл проекта
    └── src/
        └── main.rs
    

    👉 Именно Cargo.toml делает проект “понятным” для rust-analyzer


    ⚙️ Как работает связка (глубокое понимание)

    • rustc → компилятор
    • cargo → сборка, зависимости, запуск
    • rust-analyzer → “мозг” в редакторе

    👉 rust-analyzer НЕ компилирует напрямую
    👉 он вызывает:

    cargo check / cargo clippy
    

    Поэтому:

    • без Cargo проекта он бесполезен ❌
    • с проектом — становится IDE ✔

    🔄 Автоматизация (чтобы было как в IDE)

    Добавьте в settings.json:

    {
        "rust-analyzer.check.command": "clippy",
        "editor.formatOnSave": true,
        "[rust]": {
            "editor.defaultFormatter": "rust-lang.rust-analyzer"
        }
    }
    

    👉 Теперь:

    • Ctrl+S → форматирование + проверка
    • код всегда “чистый”

    ▶️ Нормальный запуск без терминала (кнопка ▶)

    По умолчанию VS Code не всегда даёт удобный Run.

    Сделаем правильно:

    Вариант 1 (рекомендуется): через Run & Debug

    Создайте .vscode/launch.json:

    {
        "configurations": [
            {
                "name": "Run",
                "type": "lldb",
                "request": "launch",
                "program": "${workspaceFolder}/target/debug/hello_rust",
                "args": [],
                "cwd": "${workspaceFolder}"
            }
        ]
    }
    

    👉 Теперь:

    • F5 — запуск
    • F9 — breakpoint
    • полноценный debug

    🔁 13. Горячий цикл разработки (очень важно)

    По умолчанию:

    cargo run
    

    Но это неудобно.

    👉 Установите:

    cargo install cargo-watch
    

    И запускайте:

    cargo watch -x run
    

    👉 Теперь:

    • сохраняете файл
    • программа автоматически перезапускается

    (почти как в Node.js / Go)


    📦 Работа с зависимостями

    Добавление библиотеки:

    cargo add serde
    

    или вручную в Cargo.toml:

    [dependencies]
    serde = "1.0"
    

    После этого:

    cargo build
    

    👉 rust-analyzer сразу подхватит изменения


    🧠 Как понять, что всё настроено правильно

    ✔ Есть автодополнение
    ✔ Ошибки появляются сразу
    ✔ Clippy ругается
    ✔ форматирование работает
    ✔ проект запускается через F5

    Если этого нет — почти всегда проблема в:
    👉 не открыта папка проекта


    ⚠️ Частые ошибки (и почему они происходят)

    ❌ “workspaceFolder not found”

    → открыт файл, а не папка


    ❌ нет подсветки/подсказок

    → rust-analyzer не видит Cargo


    ❌ clippy не работает

    → не установлен:

    rustup component add clippy
    

    ❌ не запускается debug

    → нет CodeLLDB


    🧱 Минимальный “идеальный” набор

    Обязательно:

    • rust-analyzer
    • CodeLLDB

    Опционально:

    • crates
    • Even Better TOML
    • Error Lens

    🔥 Финальная картина

    Вы получаете:

    👉 редактор уровня IDE
    👉 контроль через Cargo
    👉 мгновенную обратную связь
    👉 удобный debug


    💡 Самое важное, что нужно запомнить

    1. Rust = Cargo-проекты
    2. VS Code = работает через rust-analyzer
    3. rust-analyzer = работает через cargo
    4. Всё крутится вокруг Cargo.toml