VStudio Agent AI — расширение для Visual Studio: локальный ИИ-помощник для исправления и рефакторинга C# кода без облака

  • Автор темы Автор темы samsonnn
  • Дата начала Дата начала

samsonnn

Client
Регистрация
02.06.2015
Сообщения
2 182
Реакции
2 059
Баллы
113
141287


VStudio Agent AI — локальный AI-помощник, который чинит C# код прямо в Visual Studio​

В Visual Studio большая часть времени уходит не на написание кода, а на рутину вокруг него: исправление ошибок компиляции, ручной рефакторинг, проверки по проекту и постоянное удержание контекста.

Даже простые правки часто превращаются в цепочку действий — перейти по ошибке, разобраться в причине, исправить, пересобрать и убедиться, что ничего не сломалось в другом месте. Со временем это начинает реально тормозить работу.

Стало очевидно, что не хватает инструмента, который был бы прямо внутри редактора и понимал контекст проекта целиком.

Я сделал собственную разработку — расширение для Visual Studio с локальным AI-помощником.
Он работает прямо в активном окне разработки: понимает контекст, помогает исправлять ошибки, делает рефакторинг и генерирует код прямо в месте курсора — без облака, без отправки исходников и без подписок.

Решил поделиться этим с сообществом ZennoLab. Я сделал это в первую очередь для себя, чтобы убрать рутину из разработки. Если вам знакомы эти проблемы — скорее всего, инструмент зайдёт и вам.


⚡Выделил → нажал → готово​

Выделяешь код и нажимаешь: Fix (AI Agent)

ИИ понимает:
  • типы
  • контекст метода
  • структуру проекта
  • учитывает ошибки компиляции
И возвращает готовый, компилируемый C# код.

141288




141289




141316




141290




141304



Исправление всего файла с учётом контекста​

Fix Code with AI Agent

Это не подсказка и не локальная правка — файл полностью приводится в порядок с учётом контекста Roslyn.

AI анализирует весь открытый файл и применяет исправления сразу по нему:
  • автоматически добавляет using
  • исправляет ошибки типов и сигнатур
  • выравнивает логику кода
  • сохраняет читаемую и цельную структуру
И возвращает полностью исправленный, компилируемый C# класс

141307



Пишешь как есть — получаешь готовый код​

Apply Instruction (AI Agent)

Просто описываешь задачу обычным языком — без шаблонов и команд.

Например:
  • “добавь валидацию”
  • “сделай async”
  • “оберни в try-catch”
  • “добавь комментарий к методу”
  • “переименуй и поменяй местами логику”
  • “сделай рефакторинг”
Более сложные задачи тоже понимаются:
  • “добавь метод, который принимает … и возвращает …”
  • “создай класс с такими-то методами и раздели ответственность”
  • “перестрой структуру класса и упрости логику”
AI анализирует текущий код и применяет изменения прямо в редакторе.

141312




141313




141314




141315




141317




141318




141319




141320




141321



В чём отличие от обычных AI-инструментов​

Это не чат и не генератор текста — это инструмент, который напрямую работает с кодом и изменяет его как часть среды разработки.

По сути это IDE-уровневый AI-агент, встроенный в процесс разработки:
  • работает с кодом через Roslyn-дерево, а не просто текстом
  • понимает реальные ошибки компиляции и контекст проекта
  • знает, где ты находишься в коде — метод, класс, файл
  • применяет изменения на уровне встроенного рефакторинга Visual Studio


Главное — код остаётся на вашем компьютере​

Никакого облака, API или внешних сервисов.
Исходный код не покидает вашу машину.

Работа полностью локальная:
  • без облака
  • без сторонних API
  • без подписок
  • без отправки исходников
Только ваш компьютер и ваш проект.
Это особенно важно для тех, кто работает с закрытыми проектами или не хочет отдавать код во внешние сервисы.


⚙ Как запустить за 2 минуты​

  1. Установите LM Studio или KoboldCpp
  2. Скачайте модель (например: gpt-oss-20b-MXFP4 / Qwen2.5-14B-Instruct / DeepSeek-Coder-V2-Lite-Instruct) - huggingface
  3. Запустите локальный сервер (Start Server)
  4. Откройте Visual Studio и перейдите в настройки
141324

AI Agent: Reset Settings — полный сброс настроек агента к исходным значениям. Полезно, если нужно начать с чистой конфигурации.

Готово — расширение работает локально.

⌨ Горячие клавиши
  • Ctrl + Alt + 7 — исправить выделенный код
  • Ctrl + Alt + 8 — исправить весь файл
  • Ctrl + Alt + 9 — выполнить инструкцию



⚡ Это не просто генерация кода​

Он не ограничивается только исправлением кода.
Это агент-помощник, который берёт на себя рутину и умеет:
  • дописывать методы и классы по описанию
  • изменять выделенный код по инструкции
  • исправлять ошибки и приводить код к рабочему состоянию
  • сохранять контекст проекта и структуру решения
VStudio Agent AI не заменяет разработчика — он убирает рутину и ускоряет работу.
Все решения принимает разработчик. Агент лишь помогает реализовать их быстрее.


Также решил поделиться исходниками на случай, если кто-то захочет внести свои дополнения, расширить функционал или продолжить развитие проекта.

141358


141331



Что на самом деле происходит внутри VStudio Agent AI​

  • анализ проекта через Roslyn
  • понимание структуры C# решения
  • работа в контексте текущего файла или выделения
  • генерация кода при необходимости (методы, классы, логика)
  • исправление ошибок компиляции
  • применение изменений через безопасный diff
141345


141346


141347


141348


141335


141336


141337


141338


141339


141340


141341


141342


141343


141344


Куда можно развивать VStudio Agent AI​

Сейчас это уже рабочий инструмент, но потенциал у него намного шире. Вот несколько направлений, куда его можно развить дальше.

Контекстная память (RAG)

Добавить механизм Retrieval-Augmented Generation для работы с проектом:
  • индексирование всего решения (классы, методы, зависимости)
  • поиск по смыслу, а не только по тексту
  • использование найденных фрагментов как контекста для AI
Это позволит:
  • помнить архитектуру проекта между сессиями
  • находить похожие реализации в коде
  • учитывать старые решения при новых правках
  • избегать “переписывания с нуля”
шаг к реальному “пониманию проекта” на уровне всей истории кода


☁ Локальные и облачные модели

Добавить переключение между:
  • локальными моделями (DeepSeek, Qwen, GPT-OSS)
  • облачными провайдерами
Это позволит:
  • работать полностью офлайн
  • или получать максимальное качество при необходимости
В настройках:
Local / Cloud mode


Режимы работы: помощник и агент

Разделить поведение на два режима:

Помощник (Assistant):
  • выполняет команды
  • изменяет код по инструкции
  • не делает ничего без запроса
Агент (Agent):
  • сам анализирует ошибки
  • предлагает и применяет исправления
  • может выполнять цепочку действий
В настройках:
Assistant / Agent mode


Встроенный AI-чат в IDE

Добавить полноценный чат внутри Visual Studio:
  • задать вопрос по коду
  • получить совет по архитектуре
  • попросить объяснение
Это превращает инструмент не только в “фиксера”, но и в советчика


Контекст всего проекта

Углубить работу с контекстом:
  • анализ зависимостей между файлами
  • понимание структуры решения
  • исправление не только одного файла, а связанных частей
шаг к настоящему “пониманию проекта”


Умные подсказки и рекомендации

Добавить режим, где агент:
  • предлагает улучшения кода
  • подсказывает рефакторинг
  • предлагает более оптимальные решения
не только исправляет, но и улучшает код


⚙ Гибкая настройка поведения

Настройки под пользователя:
  • строгость изменений
  • уровень “агрессивности” рефакторинга
  • стиль генерации кода
чтобы агент не “ломал стиль проекта”


Итоги

VStudio Agent AI — это не просто эксперимент с AI, а полноценный инструмент, который встраивается прямо в процесс разработки и реально упрощает работу с кодом.

Он не заменяет разработчика, а снимает рутину: помогает исправлять ошибки, ускоряет рефакторинг и позволяет быстрее реализовывать идеи прямо в редакторе.

Этот проект может быть полезен тем, кто хочет писать код быстрее, чище и с меньшими усилиями.
Для тех, кому это интересно — прикрепляю исходный код, расширение и тестовые примеры.

В тестах часть кода намеренно содержит ошибки — они нужны для демонстрации работы агента и проверки его возможностей.

Берите, изучайте, дорабатывайте, ломайте и собирайте заново. Такие вещи развиваются именно благодаря тем, кто не боится экспериментировать и делать лучше.
 

Вложения

Последнее редактирование:
Что нового в обновлённой версии расширения VStudio Agent AI v2:

— Улучшен парсинг ответов для Gemma 4 и всех «думающих» моделей с расширенной логикой рассуждений.
— Повышена стабильность обработки сложных и многоэтапных ответов ИИ.
— Улучшено форматирование кода при генерации методов, классов и структур.
— Более аккуратная вставка и выравнивание кода в проекте.
— Добавлены дополнительные проверки для повышения стабильности и снижения количества ошибок.
— Исправлены мелкие недочёты и внутренняя оптимизация работы расширения.
 

Вложения

Последнее редактирование:

🚀 Что нового в VStudio Agent AI v3​


🧠 1. Семантический слой анализа (Semantic Context Engine)​

  • Добавлен новый модуль SemanticContextBuilder, который строит расширенный контекст на основе Roslyn SemanticModel.
  • AI теперь работает не с “текстом кода”, а с типизированной моделью программы.
👉 Что это изменило:
  • модель перестала угадывать поведение типов
  • появилась опора на реальные сигнатуры и типы из компилятора



🔍 2. Глубокое понимание типов и API​

  • AI теперь получает реальные публичные члены типов (методы, свойства, поля)
  • Поддерживается анализ:
    • generic типов
    • nullable типов
    • пользовательских классов
    • внешних библиотек
👉 Эффект:
  • меньше “магических догадок”
  • выше точность при работе с неизвестными API
  • снижение количества неверных вызовов методов



📦 3. Scope-aware контекст (контекст области видимости)​

  • Добавлен анализ локального scope:
    • локальные переменные
    • параметры методов
    • поля и свойства класса
  • Контекст теперь строится относительно текущего SyntaxNode, а не всего файла
👉 Эффект:
  • AI перестал “смешивать” уровни абстракции
  • улучшилась точность локальных изменений
  • снизилось количество лишнего рефакторинга



🧩 4. Структурное понимание класса​

  • Реализовано извлечение структуры текущего класса:
    • список методов
    • список полей
    • сигнатуры существующих элементов
  • Добавлена защита от дублирования кода
👉 Эффект:
  • AI не создаёт уже существующие методы
  • меньше конфликтов при добавлении новых членов класса



📚 5. Анализ подключённых зависимостей​

  • Добавлена обработка referenced assemblies и NuGet-пакетов
  • Системные библиотеки фильтруются, чтобы не засорять контекст
  • Передаются только релевантные внешние API
👉 Эффект:
  • улучшилось понимание сторонних библиотек (Newtonsoft, ASP.NET, WPF и др.)
  • уменьшилось количество “не найден тип” / “неизвестный метод”


​

⚡ 6. Оптимизация контекстного окна​

  • Введены лимиты на:
    • количество членов типов
    • размер scope-контекста
    • глубину семантического обхода
👉 Эффект:
  • стабильная работа без перегрузки prompt-а
  • предсказуемое время ответа модели
  • снижение token waste



🛡 7. Устойчивость SemanticModel​

  • Добавлены защитные try/catch вокруг анализа SemanticModel
  • Ошибки анализа больше не ломают пайплайн
👉 Эффект:
  • система стала “fail-safe”
  • даже при неполных проектах агент продолжает работу



🎯 8. Улучшенная интеграция Quick Fix (SyntaxNode-level execution)​

  • Контекст теперь передаётся на уровне конкретного SyntaxNode
  • AI работает не с “файлом”, а с точкой изменения
👉 Эффект:
  • точечные исправления стали более точными
  • снизились побочные изменения кода



🔧 9. Общая стабильность и исправления​

  • Исправлены мелкие ошибки обработки контекста
  • Улучшена синхронизация AST planner + fallback LLM
  • Повышена предсказуемость результата генерации



🧠 Итог архитектуры v3​


VStudio Agent AI теперь работает как трёхслойная система:

Код:
Развернуть Свернуть Копировать
Semantic Layer  → понимает код (Roslyn + типы)
AST Layer       → планирует структурные изменения
LLM Layer       → генерирует конкретную реализацию
Compiler Layer  → страхует и чинит ошибки
 

Вложения

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)