Как стать автором
Обновить
59.13

Текстовые редакторы и IDE *

Подручные инструменты для разработки кода

Сначала показывать
Порог рейтинга
ME:
You an expert Java programmer. Your job is to create PlantUML diagramm for the provided code.

LLM:
Creating a PlantUML diagram for the provided code involves understanding the relationships between the classes, their methods, and their interactions. Below is a PlantUML diagram that represents the key classes and their relationships based on the provided code.
out.png
out.png

AI сильно изменит подход к разработке и DevOps:
Знание и умение запоминать огромное количество технических деталей отходит на второй план, по сравнению с умением формулировать мысли и задавать вопросы.

LLM это как новый компилятор, только вместо кода, мы отправляем ему вопросы на естественном языке и куски кода на проверку.

Если раньше языки программирования оптимизировали для человека, то сейчас AI-Assisted разработка, приведет к тому что структура кода нужно будет оптимизировать для AI.

Машине все равно это camelCase или snake_case и разбита ли ваша программка на сотни файлов в десятках директорий. Машине «удобнее» если все токены будут в одном файле.

yek

git clone https://github.com/apache/iceberg.git
cd iceberg
ls arrow/src/main/java/org/apache/iceberg/arrow
ArrowAllocation.java		DictEncodedArrowConverter.java
ArrowSchemaUtil.java		vectorized
yek --json

2025-02-15T11:56:02.751663Z DEBUG Not a Git repository or unable to open: "."
/var/folders/kr/bxl1m6050xnbq5glx1nbfrx40000gn/T/yek-output/yek-output-ba15253a25ac66a21beb1f5433405467913ac2354fa1fa0c47eed2cc6220cc6a.json
(base) anton@Antons-Mac-mini arrow % ls -lhat /var/folders/kr/bxl1m6050xnbq5glx1nbfrx40000gn/T/yek-output/yek-output-ba15253a25ac66a21beb1f5433405467913ac2354fa1fa0c47eed2cc6220cc6a.json
-rw-r--r--@ 1 anton  staff   192K 15 фев 14:56 /var/folders/kr/bxl1m6050xnbq5glx1nbfrx40000gn/T/yek-output/yek-output-ba15253a25ac66a21beb1f5433405467913ac2354fa1fa0c47eed2cc6220cc6a.json
Теги:
0
Комментарии1

Для тех кому не хочется вылезать из пригретого корпоративного окружения и IDE, RedHat сделал Podman AI Lab.

ai-lab
ai-lab

Адаптация Docker в корпоративном секторе, в свое время, затянулась, потому что не было «конопки» – удобного и простого UI для разработчиков и коробочного решения вроде OpenShift для IT.

На этот раз вендоры быстро отреагировали на запросы корпоративных клиентов. Podman с расширением AI Lab, может устанавливать модели из каталога. Если каких-то моделей не хватает, то можно скачать их с помощью Ollama, а потом импортировать gguf в AI Lab:

cp ~/.ollama/models/blobs/sha256-cebceffdc781935cd9bbc653c7349730223ecd1ff771d40c96f85339effa78fe ~/Downloads/qwen.gguf

Можно запускать локально, если есть мощный GPU ускоритель, или подключить несколько машин к серверу с H100 с помощью podman-machine.

Можно запускать локально, или подключить несколько машин к серверу с H100 (если он у вас где-то завалялся) с помощью podman-machine.

Все очень удобно, «кнопочно», интегрировано с IDE, есть поддержка Quarkus и все исключительно на Podman. Модели стремительно «коммодитизируются», в отличие от платформы, которая быстро адаптируется под запросы клиентов, но очень редко меняет вендора.

К сожалению российские конкуренты RedHat в этом не принимают никакого участия. У них проблемы возникают, даже со сборкой пакетов.

Время собирать пакеты

Теги:
0
Комментарии0

Корпоративный мессенджер Squadus от МойОфис стал доступен в облаке МТС Web Services

В сервис Офис МWS теперь включен Squadus российский корпоративный мессенджер с функциями работы с документами и автоматизации типовых действий с помощью ботов.

Экосистема облачных решений Офис MWS дает возможность компаниям пользоваться корпоративными приложениями МойОфис по модели SaaS. Теперь Офис MWS содержит веб-редакторы документов с поддержкой совместного редактирования, файловое хранилище с системой управления доступом, а также средства коммуникации – почтовую систему и мессенджер Squadus.

Офис MWS поможет бизнесу за один рабочий день развернуть полный комплект офисных приложений от МойОФис. Модель подписки на сервисы позволяет перейти на безопасные отечественные технологии без увеличения капитальных затрат на обновление инфраструктуры.

Squadus – современное решение корпоративного класса с функциями мессенджера, видеоконференцсвязи, а также гибкими возможностями интеграции с другими приложениями и встроенными средствами автоматизации. Интеграция Squadus с корпоративными инструментами Офис MWS создает цифровую платформу для компаний любого размера, которая позволит взаимодействовать в защищенной среде частного облака. Для управления доступом можно задавать детальные настройки в зависимости от роли каждого участника команды, а также заводить гостевой доступ для внешних партнеров и подрядчиков. Встроенные боты автоматизируют рутинные бизнес-процессы – направят уведомления об изменениях в документах, вовремя напомнят о предстоящем событии и пришлют ссылку на встречу.

Пользователям сервиса Офис MWS доступны приложения Squadus для компьютеров и мобильных устройств, которые совместимы с разными операционными системами. Продукт можно применять как отдельно, так и совместно с другими инструментами корпоративных коммуникаций.

Теги:
+4
Комментарии0

Вклад инженеров Axiom JDK в развитие OpenIDE

На текущий момент среди разработчиков Java в качестве основной среды разработки применяется IntelliJ IDEA. Однако, коммерческая версия этого и других продуктов JetBrains, включая IDE, Code With Me, Upsource, TeamCity и Space, а также техническая поддержка теперь не доступны в России. Это побудило нас на создание продукта OpenIDE с открытым исходным кодом и всей инфраструктурой, размещенной на территории РФ.

Как было анонсировано ранее, OpenIDE создается на базе исходного кода IntelliJ IDEA CE и будет развиваться в рамках некоммерческого партнерства Axiom JDK, «Группы Астра» и Haulmont. В этом посте мы расскажем о вкладе команды Axiom JDK в проект.

Рантайм Axiom JDK будет предоставляться в качестве выбора по умолчанию для разработки на Java/Kotlin в OpenIDE. Дополнительно будет возможна установка Axiom JDK из интерфейса OpenIDE. При этом релизный цикл Axiom JDK синхронизирован с OpenJDK и регулярными обновлениями.

Команда Axiom JDK будет выпускать и поддерживать рантайм, используемый для запуска OpenIDE, с набором улучшений. Это, например, расширенное переопределение классов c помощью DCEVM и поддержка JCEF фреймворка для встраивания браузера на базе Chromium. Также планируется ряд улучшений для рендеринга шрифтов, поддержка режимов HiDPI, что обеспечит лучшее масштабирование интерфейса пользователя. А еще это позволит исправлять специфичные для работы IDE ошибки, исправлений для которых еще нет в OpenJDK.

Несмотря на то, что исходный код IntelliJ IDEA CE открыт, в процессе работы IDEA обращается к серверам JetBrains для обновлений, поддержки маркетплейса плагинов, а также других нужд. Этот функционал сейчас перерабатывается с участием инженеров Axiom JDK, что позволит создать локальную российскую библиотеку плагинов, локализованный (и отключаемый) сбор статистики и механизм обновления OpenIDE.

Наконец, команда Axiom JDK занимается настройкой сборочного конвейера OpenIDE, и со временем произведет анализ всех OSS зависимостей OpenIDE и будет обеспечивать оперативное исправлений уязвимостей в ОSS зависимостях в рамках релизного цикла OpenIDE.

Релиз продукта намечен на март 2025 года.

Axiom JDK — единственный российский разработчик JDK. Инженеры команды стояли у истоков Java в России и развивают платформу более 25 лет.

OpenIDE можно использовать взамен IntelliJ IDEA CE. По данным нашего исследования, 78% Java разработчиков используют IntelliJ IDEA Ultimate, а 47% - работают на Community Edition. Мы хотим предоставить сотням тысяч разработчиков открытый инструмент, не уступающий по удобству привычным IDE, чтобы они могли быстро и эффективно работать.

Читайте также у нас на сайте и у партнеров на хабре.

Теги:
Всего голосов 6: ↑6 и ↓0+6
Комментарии0

Индикация языка ввода цветом панели задач

Позволяет получить чрезвычайно заметный индикатор языка, который не мешается и не сильно портит эстетику. Реализовано на Autohotkey v.1, проверено на Windows 10. Использован код отсюда и библиотека AHK_TaskBar_SetAttr.

Код для Autohotkey v.1 (pastebin)

Код для Autohotkey v.1 (яндекс-диск)

Скомпилированный exe для примера

Я джва года хотел такой индикатор. Нашел статью 2015 года с уже нерабочим решением и платную программу, тоже, впрочем, у меня не заработавшую. На практике же выяснилось, что мало иметь заметный индикатор — нужно еще иметь привычку на него смотреть перед вводом текста. Поэтому, возможно, более жизнеспособным решением является программа типа Punto Switcher, аналогов которой есть немало, в том числе на том же AHK.

Теги:
Всего голосов 2: ↑2 и ↓0+4
Комментарии3

Прошлый мой пост снискал некоторую солидарность, так что имеет смысл написать, что же делать, чтобы починить IDEA/gradle.

Итак, если у вас что-то ошибочно красится красным в IDE, у нас есть все этапы принятия (Отрицание и Гнев можно менять местами):

  1. Отрицание

    1. File -> Invalidate caches... -> Clear file system cache and Local History (опционально отметить галочкой ClearVCS Log caches and indexes, мне иногда почему-то помогало)

    2. Перезагружаем, ждём градл индекса, потенциально - продолжаем гореть

  2. Гнев

    1. Пробуем почистить проект через ./gradlew clean

    2. Пробуем собрать через ./gradlew build

  3. Торг - Тут обычно есть два варианта: оно собралось во время Гнева или нет. Если нет - пропускаем второй подпункт

    1. Удаляем контент по пути ~/.m2/repository

    2. goto Отрицание

  4. Депрессия

    1. НЕ ТРОГАЕМ ~/.gradle/gradle.properties . Удаляем контент по пути ~/.gradle/ . Я обычно это делаю через файловый менеджер - выделить всё, развыделить gradle.properties, shift+delete

    2. goto Отрицание

  5. Принятие

    1. Можно переустановить систему, но может не помочь

    2. Лучше проделоть все предыдущие шаги (а вдруг второй раз поможет)

    3. Переклонировать проект (не забудьте закоммитить изменения)

    4. Переустановить IDE (2024.1.6 на данный момент относительно нормально работает, можно даже новый UI выключить) (желательно тогда ещё конфиги и кэши версий удалить, но сами понимаете - потом надо будет ковырять настройки и скачивать IDE)

Другого рецепта счастья у меня для вас сейчас нет, искренне желаю продуктивной работы на фоне стабильных IDE и систем сборки :)

Теги:
Всего голосов 3: ↑2 и ↓1+3
Комментарии2

LanguageSwitcher (Дополнение к прошлому посту)

Теперь LanguageSwitcher можно скачать в виде .exe файла и запустить его без лишней мороки (для тех кто переживает, что ваши данные под угрозой всё еще есть скрипт в исходном виде).

Также теперь Language Switcher можно установить и на Linux в виде скрипта

Все нюансы и подробности описаны в репозитории

Теги:
Всего голосов 3: ↑3 и ↓0+6
Комментарии4

Dctv ghbdtn!

Наверное каждый сталкивался с такой ситуацией, когда набираешь длинное сообщение и не смотришь на монитор, а там что-то вроде названия статьи, а под рукой нет какого нибудь Switcher-a (жаба душит).

Чтобы не стирать всё и не писать заново, предлагаю вам своё бесплатное решение -  скриптом LanguageSwitcher, который значительно облегчит вашу работу с текстом(Пока только для Windows). 

LanguageSwitcher — это скрипт на AutoHotkey, который позволяет быстро переключать раскладку выделенного текста между английской и русской клавиатурами. При этом сохраняется регистр символов.

Для использования достаточно скачать AutoHotKey1.1, уже готовый .ahk скрипт из репозитория и легким движением руки (Ctrl+Shift+L) выделенный текст "Ghbdtn? lhe;bot" превращается в "Привет, дружище".

Более подробная инструкция, включая настройку автозагрузки скрипта описана на GitHub

Теги:
Всего голосов 7: ↑7 и ↓0+13
Комментарии14

Это конечно смешно (или плачевно), но встроенный в Intellij IDEA плагин поддержки синтаксиса языка Python не может обновится, так как якобы нарушает экспортные законы

,
,

Теги:
Всего голосов 5: ↑3 и ↓2+3
Комментарии13

Российские IT-компании готовятся к массовому отключению иностранных сервисов. Большинство привычных сервисов могу скоро просто отвалиться.

Все из-за санкций Минфина США, которые запрещают предоставление услуг в сфере программного обеспечения, IT-консультирования и проектирования на территории РФ.

Российские IT-конторы, соответственно, вынуждены искать бесплатные альтернативы с открытым кодом, на которые не распространяется запрет, а облачные хранилища теперь — только российские.

Кстати, как я смотрю, Сбер очень активно к этому готовился. У них и IDE на базе PyCharm— GIGA IDE, и гит-платформа GitVerse (полный аналог GitHub), и куча еще всего.

Я пока не особо тестил GIGA IDE, т.к. полностью перешел на майковский VS Code. Но он на базе комьюнити версии, только с разными плюшками и ИИ. А гит-платформа выглядит симпатично, ничего больше сказать не могу. Вероятно, всё это имеет очень хороший смысл, если трудишься полностью в их экосистеме.

В любом случае, молодцы, что предоставляют альтернативу.

Теги:
Всего голосов 13: ↑5 и ↓8+1
Комментарии0

Пару месяцев назад (точнее 15 месяцев и 12 дней) я выложил статью про исходный код PostgreSQL где рассказал про инфраструктуру узлов (struct Node) - с помощью него реализуется наследование, полиморфизм и все, все, все.

Вот уже как 2 месяца я работаю разработчиком PostgreSQL. Уже успел реализовать пару фич, закрыть несколько тасок и разбирался с другими проблемами.

Так вот, эти 2 месяца выдались веселыми. Кроме одного момента. Мне надоело постоянно возиться с этими нодами. Проблема в том, что есть наследование и многие переменные имеют свой базовый тип (если не самый базовый Node, который просто 1 поле тэга) - приходится постоянно лезть в (работаю в VS Code) watch панель и писать монструозные конструкции по типу ((RestrictInfo*)((RelOptInfo*)root->rtable[0])->another_field))->value (взято из головы). Причем - чем глубже спускаешься, тем громаднее и неповоротливее выражения становятся.

Я искал различные расширения или способы, чтобы облегчить себе жизнь, но ничего кроме встроенного pprint(Node *).

Мне это не понравилось. И я решил эту проблему по своему. Создал расширение для VS Code, которое позволяет просматривать все переменные и при необходимости кастует узел к нужному типу с отображением всех соответствующих переменных.

Пока у этого расширения 2 фичи:

  1. Приводит наследуемые от Node * переменные к нужному типу и отображает

  2. Дампит переменную-узел в stdout с помощью вызова pprint

Призываю неравнодушных принять участие в его разработке.

Вот ссылка на само расширение.

Теги:
Всего голосов 2: ↑2 и ↓0+4
Комментарии0

МойОфис запустил тестовые функции ИИ на основе GigaChat в мобильном приложении

МойОфис внедрил в мобильное приложение «МойОфис Документы» модель искусственного интеллекта GigaChat для быстрой и эффективной работы с текстом. До 31 августа функциональность доступна всем пользователям в режиме бета-тестирования. По его итогам самые востребованные сценарии будут включены в продукт на постоянной основе.

Что умеет ИИ

• составлять вопросы и тезисы на базе заданной информации;
• сокращать абзацы без потери смысла;
• редактировать и изменять стиль контента;
• переводить текст на другие языки.

Всего доступны пять групп сценариев («Проанализируй и...», «Создай на основе текста», «Переведи», «Отредактируй», «Измени стиль») и 31 команда.

Функция доступна в России для устройств на русском языке. Чтобы протестировать ИИ, нужно скачать «МойОфис Документы». Если приложение уже установлено, пользователям устройств на Android необходимо убедиться, что в настройках профиля указана опция «Предоставлять статистику использования», предварительно обновив программу до последней версии. В течение дня после установки или обновления приложения пользователь увидит приглашение к участию в бета-тестировании.

Теги:
Всего голосов 7: ↑7 и ↓0+9
Комментарии0

Вышел первый официальный релиз интегрированной среды разработки Theia IDE, развиваемой организацией Eclipse Foundation на базе редактора кода Theia и разработанных для него плагинов.

Код проекта написан на TypeScript и распространяется под лицензией EPLv2 (Eclipse Public License).

Проект Theia IDE поставляется как самодостаточное приложение для рабочего стола, рассчитанное на установку на локальных системах, а также в форме online-версии для работы из браузера (для развёртывания online-версии на своём сервере предоставляется готовый Docker-образ).

Проект развивается при участии IBM, Red Hat, Google, ARM, Broadcom, Huawei, Samsung, Ericsson, SAP и Arduino на нейтральной площадке, поддерживаемой Eclipse Foundation и не зависящей от конкретных производителей.

Платформа Theia построена на базе архитектуры фронтенд/бэкенд, подразумевающей запуск двух процессов (отрисовка интерфейса и внутренняя логика), которые взаимодействуют с использованием HTTP при помощи JSON-RPC через WebSockets или REST API. Это разделение позволяет работать через Web (бэкенд, использующий платформу Node.js, запускается на внешнем сервере, а фронтенд с интерфейсом загружается в браузере). В Theia IDE оба процесса запускаются локально, а для создания самодостаточного приложения применяется платформа Electron.

Theia IDE предоставляет средства разработки на Python, Java, JavaScript, C++ и любых других языках, поддержка которых реализована через сервера LSP (Language Server Protocol).

Источник: OpenNET.

Теги:
Всего голосов 2: ↑2 и ↓0+4
Комментарии5

Ближайшие события

NeoVim: Ускорь свою разработку

Взято с https://in.pinterest.com/pin/beware-to-all-vim-programmers--1074249317335744187/

Этот пост отсылается на мою статью. Если Вы хотите почитать про NeoVim больше, смело переходите по этой ссылке: https://habr.com/ru/sandbox/219656/

Скорее всего, если у Вас Linux, то Вы пользовались каким-либо текстовым редактором по типу Vim, Nano, Emacs. Что из них лучше, можно спорить бесконечно (Vim выиграет). Даже если Вы пользуетесь одной из этих программ, наверняка для написания кода Вы используете полноценную IDE. Сейчас я попытаюсь Вас заставить побудить пересесть на Vim, а точнее на NeoVim с Вашей любимой IDE, вроде JetBrains IDE или VSCode.

Я пользуюсь NeoVim. Перед ним я пользовался VSCode, а так же JetBrains IDE в виде GoLand, так как мой основной язык программирования - Golang. Сравнив их, я смело говорю, что если не NeoVim, то VSCode. С JetBrains IDE отдельная история, там сначала больше половины ОЗУ тратилось, а потом еще и AI подсказки перестали нормально работать. Если Вам нравится JetBrains IDE только из-за AI-подсказок, то удаляйте его, скачивайте NeoVim и прикручивайте к нему AI. Это можно сделать и у меня самого стоит Codeium для этого случая.

Возможно Вы скажете, что Вам лень настраивать NeoVim. Я Вам скажу, что при желании настраивать надо будет только подсказки для вашего ЯП. У меня установлен NVChad, но Вы можете установить тот же Lunar Vim. Установив, Вы можете настроить все кнопки под себя(это не сильно сложно).

Сделав это, Вы получаете огромный выигрыш в скорости и удобстве. Пробуйте NeoVim!

Теги:
Всего голосов 5: ↑3 и ↓2+4
Комментарии13

Маленькая победа над отступами в IDE Visual Studio


Рабочая IDE Visual Studio 2022, на Windows
Недавно дали проект, в котором почему‑то все отступы через tab‑ы. Я привык к «точкам»(spaces). Мне хотелось как‑то быстро конвертнуть проект из табов — в «точки».
Быстрое гугление дало, что нужно просто поправить в TextEditor настройку с отступами. Далее, еще советовали Adaptive Formatting.
Все советы не помогли, кроме одного, чтобы конвертнуть — нужно сделать вручную замену везде с табов на точки. Я так и сделал.
Далее, я попробовал нарушить отступ в одном файле и сделать формат этого файла. И в нем форматирование вернулось — как и было ранее — с табами.
Что же не так?
Еще немного гугления натолкнуло на мысль, что у меня в проекте есть .editorconfig
И вот только там я обнаружил причину моих «страданий»
Я поменял в этом конфиге с indent_style = tab на indent_style = space
И все заработало как и ожидалось!

Теги:
Всего голосов 4: ↑0 и ↓4-4
Комментарии4

Apple выпустила Xcode 15.2, поддерживающий разработку приложений для фирменной гарнитуры виртуальной реальности Vision Pro. Среда разработки включает в себя поддержку Swift 5.9, SDK для iOS 17.2, iPadOS 17.2, watchOS 17.2, tvOS 17.2, macOS Sonoma 14.2 и visionOS. Обновление доступно в магазине приложений Mac App Store.

Ранее Apple сообщила, что продажи гарнитуры виртуальной реальности Vision Pro начнутся 2 февраля 2024 года. Сперва устройства будут доступны пользователям в США. Возможность оформить предзаказ откроется 19 января 2024 года, а цена одного комплекта составит 3,5 тыс. долларов.

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Автор Telegram-канала «Код воробья» рассказал, что в Xcode 15.1 появилась возможность настроить автоматическое удаление старых бета-версий. Сам Xcode 15.1 пока находится на стадии Release candidate.

Теги:
Рейтинг0
Комментарии0

Нашел интересную утилиту с открытм исходником для записи скринкастов.

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

Только Windows.
Лицензия MS-PL

Код на GitHub: https://github.com/Code52/carnac
Скачать с GitHub: https://github.com/Code52/carnac/releases

Теги:
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Вышла новая версия WebCalm - плагина для IDEA (и других IDE от JetBrains), который добавляет поддержку JavaScript и CSS. Плагин бесплатный и с открытым исходным кодом.

Логотип WebCalm.
Логотип WebCalm.

За полтора месяца разработки накопилось достаточно много изменений:

  • Улучшена подсветка.

  • Улучшено автодополнение.

  • Возможность inplace переименования.

  • Поддержка семнатической подсветки.

  • Поддержка форматирования.

  • Появился логотип.

  • Поддержка CSS.

Плагин доступен на JetBrains Marketplace.

Исходные коды доступны на GitHub.

Keep Calm ? use WebCalm

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Месяц назад я публиковал пост о том как улучшить подсветку JavaScript и CSS в IntelliJ IDEA Community Edition. Сегодня я представляю вашему вниманию WebCalm. Это бесплатный плагин для IDEA (и других IDE от JetBrains), который добавляет базовую поддержку JavaScript: подсветка синтаксиса, навигация, автодополнение и т.д. Это полезно, если вам иногда необходимо работать с обычными HTML страницами. Например, чтобы добавить GitHub Pages к своему проекту. Для серьёзной web-разработки я всё же рекомендую использовать платную IntelliJ IDEA Ultimate Edition или другие редакторы.

WebCalm и JavaScript-код встроенный в HTML.
WebCalm и JavaScript-код встроенный в HTML.

Возможности:

  • Подсветка синтаксиса.

  • Свёртка кода (Code folding).

  • Просмотр структуры кода (Structure view).

  • Переход к объявлению (Go to declaration).

  • Поиск использований (Find usages).

  • Переименование.

  • Встроенный в HTML код (в тэги script и в атрибуты).

Запланированные возможности:

  • Поддержка CSS.

Плагин доступен на JetBrains Marketplace.

Исходные коды доступны на GitHub.

Плагин всё ещё в разработке и что-то может не работать или работать не как ожидается. Keep Calm 🙏

Теги:
Всего голосов 9: ↑9 и ↓0+9
Комментарии0