Рубрика «plugin»
Пишем простой плагин для Android Studio
2025-02-06 в 15:15, admin, рубрики: android studio, clean architecture, flutter, intellij, intellij idea plugins, pluginКак создать собственное расширение компилятора C++
2024-12-29 в 17:48, admin, рубрики: c++, clang, gcc, pluginЭто перевод статьи, которая, к сожалению, у меня не доступна без слова из трех букв. А так как тема довольно интересная, то я решил совместить полезное с полезным и не только самому покопаться с примерами из публикации, но и сделать её перевод на Хабре. Вдруг еще кому данный материал будет интересен?
Создание пользовательского расширения компилятора C++ подразумевает понимание базовых механизмов работы компиляторов, изменение или расширение их функциональности и бесшовную интеграцию этих изменений в существующую инфраструктуру компилятора. Это руководство проведет вас через весь процесс, от понимания основ до внедрения и тестирования вашего пользовательского расширения. Целевая аудитория этого руководства — разработчики, которые уже знакомы с C++ и имеют базовое понимание концепций компилятора.
DIY VSCode плагин для Clojure
2022-04-10 в 1:03, admin, рубрики: clojure, clojurescript, diy или сделай сам, plugin, Visual Studio, vscode, Разработка под Linux
На энном году работы с использованием Clojure/Clojurescript в качестве основных языков разработки, я наконец-то дошел до стадии, когда «больше терперть уже нельзя», и написал таки свой плагин для этой цели. Это явилось результатом многолетних поисков, лишений и страданий. Как говаривал Мичурин: мы не можем ждать милостей от природы, взять их у нее – наша задача. Интересующихся прошу под кат.
Пишем свой плагин для IDEA для поддержки нового языка (часть 2)
2022-03-09 в 6:35, admin, рубрики: idea, java, jetbrains, kotlin, monkey, pluginДисклаймер: я не являюсь разработчиком из JetBrains, а жаль, и поэтому в статье и в коде могут быть и скорее всего есть неточности и ошибки.
-
Введение
-
Предусловия
-
Создание основы языкового плагина
-
Создание PSI-дерева
-
- Лексер
-
- Парсер
-
Аннотаторы
-
Подсветка скобок
Часть 2
Пишем свой плагин для IDEA для поддержки нового языка (часть 1)
2022-03-09 в 6:30, admin, рубрики: idea, java, jetbrains, kotlin, monkey, pluginЯ начал писать статьи задолго до сегодняшних событий, и не уверен, что статьи еще могут быть актуальны (так как не уверен уже, что будет завтра), но не охота, чтобы усилия пропали совсем зря.
Дисклаймер: я не являюсь разработчиком из JetBrains, поэтому в статье и в коде могут быть и скорее всего есть неточности и ошибки.
Краткое оглавление
Часть 1
Vuex – решаем старый спор новыми методами
2020-06-06 в 12:23, admin, рубрики: javascript, library, plugin, vue, vuejs, vuejs2, vuex, vuex-map, web-разработка, Программирование, Разработка веб-сайтовВо Vuex есть одна популярная практика — не использовать mapState
и mapMutations
. Вообще. Вместо это мы сразу же при создании нового значения в store делаем для него геттер, а для каждой мутации – экшен.
Что-то наподобие:
export default new Vuex.Store({
state: {
// 1
count: 0
},
getters: {
// 1
count: (state) => state.count
},
mutations: {
// 2
increment(state) {
state.count++;
}
},
actions: {
// 2
increment({ commit }) {
commit('increment');
}
}
});
Холивара не избежать. Это уже доказала вот эта статья. Опять в интернете кто-то не прав, и я должен доказать почему. И я докажу.
Чиним сериализацию объектов в Kotlin раз и навсегда
2020-04-02 в 12:10, admin, рубрики: android, compiler, java, kotlin, plugin, serializable, Блог компании Badoo, разработка мобильных приложений, Разработка под androidНедавно я наткнулся на статью о проблеме c Java-сериализацией объектов в Kotlin. Автор предложил решать её добавлением метода readResolve
к каждому объекту, который наследуется от java.io.Serializable
.
Этот способ выглядит абсолютно правильным, однако его поддержка может оказаться слишком проблематичной. С учетом того, что в нашем проекте эта проблема возникала только при использовании объектов внутри Bundle, мы решили использовать проверку через is
для каждой ветки when
-выражений в случае sealed
классов.
Тем не менее, размышляя об этом, я никак не мог понять, почему Kotlin не генерирует readResolve
в компиляторе, поддерживая singleton-свойства объектов. Мне казалось, что это работа для инструментов, а не для человека. Но раз Kotlin не добавляет эту функцию сам, мы можем ему помочь! Этим мы сейчас и займёмся.
Пишем babel плагин, пошаговое руководство
2020-02-28 в 19:19, admin, рубрики: babel, javascript, plugin, Разработка веб-сайтовСегодня я поделюсь с вами пошаговым руководством как написать свой babel плагин. Вы сможете использовать эти знания для автоматизации правок, рефакторинга или кодогенерации.
Избавляемся от рутины со своим плагином для PhpStorm
2020-02-26 в 15:04, admin, рубрики: badoo, idea, kotlin, php, phpstrom, plugin, Блог компании Badoo, высокая производительность, Программирование, Разработка веб-сайтовПривет! Я тружусь в команде Антиспама, и, как и у большинства бэкенд-разработчиков Badoo, большая часть времени у меня уходит на работу с PHP-кодом.
С этой работой связано много специфических проблем и задач, которые можно решить или упростить. Когда мне надоело вручную делать то, что может делать за меня IDE, я решил попробовать доработать самую распространённую в компании IDE — PhpStorm — и написать плагин, решающий рутинные задачи, упростив тем самым жизнь себе и коллегам.
Так появился плагин Badoo для PhpStorm, который мы сегодня активно используем. За несколько лет его возможности серьёзно расширились, мы его развиваем, и в этой статье я расскажу на примере наших кейсов, как адаптировать IDE под свои задачи и инструменты, и докажу, что это не так сложно, как кажется.
Moxy Strategy plugin
2020-02-02 в 17:28, admin, рубрики: android, kotlin, moxy, plugin, разработка мобильных приложений, Разработка под androidИногда простые вещи очень утомляют, особенно когда их необходимо делать постоянно. Одна из таких вещей при работе с фреймворком Moxy — это добавление стратегий к функциям. Для ускорения этого процесса был написан плагин, который по "alt+enter" предоставляет выбор стратегии если ее нет или диалог с заменой на другую стратегию. Те, кто хочет узнать как это работает, добро пожаловать под кат.