Автоматизируем процессы в VSCode с помощью расширения n8n-atom, которое заберёт всю рутину. Проект выдаёт цепочки из ИИ-агентов, действий и вызовов инструментов. Atom преобразует n8n-воркфлоу в обычные файлы, чтобы их могли читать нейронки вроде ChatGPT, Claude и Gemini. ИИ читает код пользователя, редактирует его и дает советы по оптимизации сервисов.
Антивирус Dr.Web обнаружил сторонний код в зависимостях Visual Studio Code.
Суть в том, что Microsoft, с какого-то, пропустила в дистрибутив VSCode с версии 1.116.0 protestware - это вид вируса, который при определённых условиях, начинает показывать разные политические тексты на экране. DRWeb, неожиданно конечно, но респект!
MICROSOFT, WTF?
Я попросил OpenCode найти текст на русском в указанной зависимости в VSCode (у меня как раз 1.116) и знаете что, он нашёл!
В общем, если у вас версия VSCode ниже 1.116, то пока не обновляйтесь, а если уже обновились, то используйте мой патч:
ImageSorcery 01 - Как я свой open source вайбкодил
Скажу честно, я хотел написать статью, для того чтобы рассказать о своём проекте ImageSorcery MCP. Но не хотелось писать рекламный BS о том какой он крутой. Хотелось сделать месседж более личным и искренним. Так статья превратилась в серию постов-заметок о всех тех граблях инструментах и практиках, которые мне удалось попробовать на пути от идеи до 100+ звёзд на гитхабе и ~100 ежедневных установок с pypi. А так как я фанатик экономии, весь стек в основном бесплатный (включая LLM) и часто не самый популярный.
Рост звёзд на гитхабе
В компании где я работаю, у меня сложилась репутация, как это принято сейчас говорить, ИИ-энтузиаста. Из-за чего ко мне однажды обратилась Системный Аналитик, которая только начала внедрять RooCode и столкнулась с какой-то проблемой полнейшего тупняка ИИ. Бесплатная веб версия Claude на раз два превращала Верхнеуровневые Бизнес Требования заказчика в детально проработанное Техническое Задание. Но копировать туда-сюда - не продуктивно, а ещё лимиты эти… Решилась она попробовать рекомендованный мною RooCode с Gemini flash. Установила впервые IDE VSCode, запустила и поставила плагин RooCode, подключила Gemini модель и попыталась скормить ему ту же задачу, но в ответ получила какой-то откровенный бред. Вместе мы выяснили, что для адекватной работы RooCode (а ещё его предшественника Cline и, скорее всего, последователя Kilo Code) требуется не просто запустить VSCode, но ещё и создать в нём проект с соответствующей директорий где-то в системе. А если ещё и все материалы сложить в эту директорию - их можно не копипастить и даже не драгндропать, а меньшонить через @ что намного удобней. (Даже мне стало плохо от обилия англицизмов в этом предложении, извините). Кроме того, выяснилось, что промпт содержал помимо текста ещё ссылку на Figma дизайн. А RooCode, несмотря на то что может используя браузер, какую-то осмысленную деятельность с этой ссылкой вести. При наличии у него Figma MCP справляется гораздо эффективнее.
И теперь бесплатный Gemini flash под капотом RooCode засиял во всей красе. Промпты стали проще и читаемей. И благодаря доступу ко всем необходимым файлам (ВБТ и шаблон) и инструментам, RooCode ваншотом не просто создал качественное ТЗ в формате markdown (привет markdown preview плагин), но ещё и наполнил его нужными скриншотами прямо в теле документа, чего Claude не мог.
Вот только осталась одна проблема: он использовал скриншоты целых экранов, и не смог их порезать на кусочки для документирования соответствующих секций: шапка, меню т.п.
Фигня война! - сказал я, — наверняка есть MCP который это делает.
Погуглив вместе минут 15 мы обнаружили, что такого нет. Но так как нарезка экранов на скриншоты - привычная для системного аналитика задача, она поблагодарила меня за получившийся результат и убежала на другой звонок. А я остался сидеть глядя в пустой монитор с непониманием, почему такая простая и очевидная задача ещё не решена.
Так появилась идея ImageWizard - взять ImageMagic и прикрутить к нему MCP протокол.
А почему сейчас проект и называется иначе и никакой связи с ImageMagic не имеет, расскажу в следующей серии.
Проблемы в работе плагина PVS-Studio для Visual Studio
Несколько пользователей сообщили нам, что в работе плагина PVS-Studio для Visual Studio версии 17.12 и выше происходят проблемы, не позволяющие запустить плагин. В этой заметке мы опишем проблему и предложим способы её решения.
У некоторых пользователей статического анализатора PVS-Studio при использовании плагина для интегрированной среды разработки Microsoft Visual Studio 2022 происходило завершение работы плагина, связанное с внутренней ошибкой. А на экране появлялся страшный список вызовов:
Exception message:
One or more errors occurred.
Exception type:
System.AggregateException
Stack: at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at System.Threading.Tasks.Task.Wait()
at ProgramVerificationSystems.PVSStudio.PVSStudio.InitializeErrorListWindow(Boolean isFromPackageLoadedEvent) in D:\\JenkinsProjects\\workspace\\proj_PVS_Setup_Docker\\WorkDir\\PVS-Studio\\PVS-Studio\\VsPkg.cs:line 2414
Inner Exception:
Exception message:
Exception from HRESULT: 0x80042007
Exception type:
System.Runtime.InteropServices.COMException
Stack: at Microsoft.VisualStudio.Shell.Interop.IVsShell5.LoadPackageWithContext(Guid& packageGuid, Int32 reason, Guid& context)
....
Возникновение этой ошибки обусловлено тем, что в версии Visual Studio 2022 17.12 был изменён API этой среды разработки для взаимодействия с плагинами. Поэтому в версии PVS-Studio 7.33 мы внесли необходимые изменения в плагин для Visual Studio, и на этой версии с указанной средой разработки анализатор работает корректно.
Следовательно, для решения этой проблемы есть следующие варианты:
обновить анализатор PVS-Studio до версии 7.33 или выше;
откатить версию среды разработки Visual Studio 2022 на предыдущую.
Если после выполнения указанных выше рекомендаций ситуация не решилась, или же вы столкнулись с другой проблемой при использовании нашего анализатора, не стесняйтесь сообщить нам о ней с помощью специальной формы на сайте. Мы приложим все возможные усилия, чтобы решить вашу проблему!
Изучал Python на Anaconda/JupyterLab/Notebook/Spider под Windows 11. Возникла потребность все запускать на старом, но прикольном iMac 2011 32 ГБ ОЗУ, 1 ТБ disk, FulHD экран. Оказалось последняя Anaconda для него 2019 года с Python 3.6. Случайно узнал, что есть для Python отличные PyCharm и VScode. Оказалось VScode предпоследней версии работает на этом iMac, причем в ней есть microsoft Python практически новейший версии 3.13 и отладчик работает и pip есть сразу из коробки. Все работает с достойной скоростью. А ведь куплен iMac был за 10 тыс. руб. Добавлю еще, что он тихий даже под рендерингом анимации 3D в VTK и расчетах pandas. Добавлю еще, что с самого офицального python.org на этот iMac смог поставить только Python 3.11, a Jupyter/Spyder отказались работать.
Помните надоевшую проблему в Visual Studio, когда хочешь скопировать текст ошибки, но копируется вся строка целиком с кучей ненужного для гугления мусора? Даже расширения есть, которые это фиксили. Так вот, забудьте об этой проблеме! Вчерашнее обновление VS 2022 решило и эту проблему тоже. С полным списком исправлений можно ознакомиться здесь
Разработчики обновили плагин vscode-pets (VS Code Pets) для Visual Studio Code. Проект добавляет в редактор кода котиков, собак, уток, скрепыша и змейку (специально для программистов на Python). Миловидные зверьки бегают по окну приложения, ищут баги и создают хорошее настроение во время написания кода. Цифровые помощники могут взаимодействовать с пользователем с помощью мыши, а с помощью команды vscode-pets.throw-ball с ними можно поиграть.
Маленькая победа над отступами в IDE Visual Studio
Рабочая IDE Visual Studio 2022, на Windows Недавно дали проект, в котором почему‑то все отступы через tab‑ы. Я привык к «точкам»(spaces). Мне хотелось как‑то быстро конвертнуть проект из табов — в «точки». Быстрое гугление дало, что нужно просто поправить в TextEditor настройку с отступами. Далее, еще советовали Adaptive Formatting. Все советы не помогли, кроме одного, чтобы конвертнуть — нужно сделать вручную замену везде с табов на точки. Я так и сделал. Далее, я попробовал нарушить отступ в одном файле и сделать формат этого файла. И в нем форматирование вернулось — как и было ранее — с табами. Что же не так? Еще немного гугления натолкнуло на мысль, что у меня в проекте есть .editorconfig И вот только там я обнаружил причину моих «страданий» Я поменял в этом конфиге с indent_style = tab на indent_style = space И все заработало как и ожидалось!
Состоялся релиз TypeScript 5.4. В новой версии языка программирования, построенного на основе JavaScript и позволяющего объявлять и описывать типы, в Microsoft поработали над производительностью языка, добавили новые возможности автодополнения кода для редакторов и упростили способы переподключения библиотек. Типы также используются в инструментах редактора TypeScript, таких как автодополнение, навигация по коду и рефакторинг, которые доступны в Visual Studio и VS Code. Проект доступен через NuGet или npm (npm install -D typescript).
В TypeScript 5.4 появился новый тип утилиты NoInfer, добавлена поддержка вызовов require() в пакете --moduleResolution и --module save, быстрое исправление при добавлении отсутствующих параметров, поддержка автоматического импорта для подпутей, исправлены ранее обнаруженные ошибки.
С выходом TypeScript 5.4 Microsoft продолжает работу над TypeScript 5.5. Согласно дорожной карте, бета-версия этого проекта должна выйти 16 апреля, релиз-кандидат — 4 июня, а финальный релиз — 18 июня.
Также стало возможно запускать тестовые ночные сборки TypeScript 5.4 Nightlies через npm, которые выпускаются каждый день в полночь (npm install -D typescript@next) для VS Code, Visual Studio, Sublime Text и IntelliJ.
Тудей я впервые отредактировал файл в vim. Самое сложное что было осознать - по-умолчанию vim юзает режим, я бы назвал его режим просмотра (но он называется командный)! Обычно я открываю редактор, такой как nano, чтобы редактировать text. Редко я открываю редактор чтобы смотреть. Это контринтуитивно, что редактор открыт, а редактировать тут же нельзя - что ж это за редактор такой? А вот такой концепт. Надо нажать в vim клавишу insert и тогда редактировать (INSERT mode). А потом опять выйти (Escape) в режим COMMAND mode и набрать уже не в файл, а команду :w -то есть сохранить. А потом :q -то есть quit.
Если вы время от времени проводите собеседования — то вы наверняка хотите не только поговорить о жизни с кандидатом, но и проверить насколько он хорош в деле. Для этого вам поможет live-кодинг.