Как стать автором
Поиск
Написать публикацию
Обновить
79.82

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

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

Сначала показывать
Порог рейтинга
Уровень сложности

Вы неправильно настраиваете Emacs: не пытайтесь сделать из него что-то другое

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров5.8K

Сегодня разбираем, что не так с кривой обучения GNU Emacs, и почему многие бросают его, так и не разобравшись.

(goto-address-at-point)

От кода к смыслу: улучшенная панель Structure в IntelliJ IDEA 2024.3

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров6.7K

Совсем недавно вышла IntelliJ IDEA 2024.3 – последний мажорный релиз IDE в этом году. И одним из самых важных нововведений этой версии стала улучшенная панель Structure. 

Команда Spring АйО перевела статью Siva Katamreddy (Developer Advocate в JetBrains), в которой Siva рассказывает, как улучшенная панель помогает решать задачи, и делится историей создания этой функциональности.

Читать далее

Расширения VSCode для комфортной работы с проектами

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров44K

Для работы с проектами существует куча редакторов кода и IDE (VSCode, NeoVim, SublimeText, WebStorm и т.д.). В данный момент наиболее популярны VSCode и Webstorm и у каждого есть свои плюсы и минусы. Webstorm является примером прекрасного IDE от компании JetBrains, где многие вспомогательные модули идут “из коробки”. К сожалению, сейчас нет возможности легально получить доступ к этому продукту гражданам России, поэтому многим приходится искать альтернативу. Такой альтернативой вполне может стать Visual Studio Code от компании Microsoft, который имеет открытую кодовую базу, полностью бесплатный и гибко настраиваемый под ваши нужды. В данной статье мы рассмотрим пример настройки рабочего пространства VSCode для комфортной работы с нашими проектами. Я покажу вам, какими расширениями я пользуюсь для лучшего удобства и продуктивности. Эти расширения я использую давно и они хорошо зарекомендовали себя, но возможно некоторые из них могут не подойти под ваш стиль работы и написания кода. Итак, начнем!

Читать далее

Когда есть разница регистров, но это не верхний и не нижний регистры?

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров7.1K

Если вы начнёте изучать стандарт Unicode, то, к своему удивлению, можете обнаружить некоторые символы, имеющие различия в регистре, при этом они сами по себе ни в верхнем, ни в нижнем регистре.

У-у-у-у, загадочно и пугающе.

Иными словами, это символ c, обладающий следующими свойствами:

toUpper(c) ≠ toLower(c), однако

c ≠ toUpper(c) и c ≠ toLower(c).

Поздравляю, вы обнаружили таинственный третий регистр: Title case.

Читать далее

Неформатированный текст не так уж прост

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров1.9K

Когда мы взаимодействуем с текстовым файлом при помощи редактора, то, что мы видим, не всегда отражает содержимое файла. Да, содержимое файла с неформатированным текстом — это байтовые коды, закодированные в таких форматах, как ASCII, UTF8 и UTF16, и в этих байтовых кодах находится источник истины. Но в конечном итоге, именно текстовый редактор выбирает, как интерпретировать и отображать пользователю источник истины (двоичные коды). Это значит, что два файла могут выглядеть одинаково или один и тот же файл может выглядеть по-разному в зависимости от редактора.

Текстовый редактор может подсвечивать (или нет) отдельные части на основании распознанного им синтаксиса, может управлять отображением табов (2 пробела, 4 пробела или даже 8). Он решает, как кодировать нажатие клавиши Tab, например, как \t или как заданное количество пробелов. То же относится и к нажатию на клавишу Enter для создания новой строки — будет ли она кодироваться как \n (UNIX) или \r\n (Windows), зависит от конфигурации редактора.

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

Основная цель моей статьи — поделиться своим опытом и проблемами, с которыми можно столкнуться, работая с неформатированным текстом.

Читать далее

Не играй в догонялки со Spring — Explyt Spring plugin для IDEA Community

Уровень сложностиПростой
Время на прочтение14 мин
Количество просмотров6.5K

Всем привет. После моей предыдущей статьи о Maven плагине, где я предложил новый подход к реализации и создал свою версию для IDEA (вместо того чтобы писать свой мини-мавен, я делегировал всю основную работу ему посредством Maven плагина), меня пригласили работать над Spring плагином в IT-стартап Explyt. Компания занимается автоматической генерацией тестов на базе AI и формальных методов. В процессе работы столкнулся с проблемами, похожими на те, которые решал в своем Maven плагине. У меня возникло некое дежавю, и я подумал: почему бы не использовать подобный подход, чтобы доработать и улучшить Dependency Injection Explyt Spring плагина? Текст для тех, кто работает со Spring-плагинами и хочет разобраться, как эффективно применять готовую логику Спринга для новых задач. Заходите под кат, подробно поделюсь своим кейсом, покажу код, расскажу про итерации и объясню логику.

Читать далее

Zettelkasten и Obsidian: ваш помощник в структурировании знаний

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров23K

Представьте себе систему, которая поможет вам организовать и связывать все ваши идеи, проекты и задачи так, как если бы у вас появился второй мозг. Узнайте, как Zettelkasten и Obsidian помогают программистам и исследователям максимально эффективно работать с информацией.

Наращивать нейроны

Переходим с STM32 на GD32

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров21K

Микроконтроллеры STM32 и GigaDevice GD32 часто сравнивают из-за схожей архитектуры и совместимости. GD32 является своеобразным «клоном» STM32, использующим такое же ядро ARM Cortex-M. Основное отличие между ними — это цена, так как GD32 обычно дешевле, что делает его привлекательным для проектов с ограниченным бюджетом. Однако несмотря на схожесть, существуют различия в характеристиках и уровне поддержки, которые могут повлиять на выбор между этими двумя семействами микроконтроллеров.
Читать дальше →

Рабочая C++ IDE в docker container

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров8K

Привет, хабр! Программирую на C++ / Qt / QML в среде разработки QtCreator уже 6-ой год. У меня есть определенные пересечения мыслей с мозгом груга и еще мне постоянно хочется избавиться от глупой и рутинной работы, которая есть на разных этапах разработки. Одна из таких работ - возня с IDE и рабочим окружением, особенно в мире C++ разработки. В статье постараюсь раскрыть проблему и описать свой текущий подход к решению.

Читать далее

Markdown Editor: WYSIWYG и markup-редактор на базе Gravity UI

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров17K

Привет, Хабр! Меня зовут Сергей Махнаткин, я работаю разработчиком в отделе User Experience в Yandex Cloud. В прошлом году мы писали о нашей дизайн-системе и библиотеке компонентов Gravity UI. С тех пор система не раз обновлялась и обрастала новыми функциями, и сегодня я хочу рассказать о новом инструменте — Markdown Editor, который значительно упрощает процесс работы с документацией.

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

Читать далее

Улучшаем автокомплит в смешанных Java-Kotlin проектах

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров1.9K

Недавно я наткнулся на статью, где описывается, как можно убрать мешающие варианты из автокомплита в Android Studio. Но тот способ касается только классов — с методами у меня так же не получилось, и тогда мне пришла идея.

Что за идея?

Obsidian+Github вместо Notion: синхронизация, бекап и версионность (3-в-1)

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров110K

О том, как сделать прозрачную синхронизацию заметок Obsidian между устройствами (Desktop, Android, iOS) через GitHub:

1. Без сторонних приложений (вроде iCloud, SyncThing, Termux и пр)
2. Бесплатно
3. Бонусом — резервная копия: как самих заметок, так и истории изменений.

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

Инструкция:

IntelliJ IDEA 2024.3 EAP: Новые Возможности и Улучшения

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров7.3K

Команда Spring АйО рада поделиться с вами свежей новостью от JetBrains: стала доступна первая EAP-версия IntelliJ IDEA 2024.3. Среди нововведений улучшения для java и kotlin, прокаченный AI Assistant, а также улучшенный UX.

Читать далее

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

Бложим как фрики

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров2.5K

Сидишь бывало, записываешь всякие штукуёвины, которые сам вечно забываешь и вдруг кааак захотелось начать наносить людям добро и причинять радость вопреки их желаниям, а тут ещё и народ периодически спрашивает, стало быть надо завести блох, но не в свитере, а который будет удобный, быстрый, защищённый, красивый и не будет зависеть от модных веяний на очередной платформе-однодневке, не будет обмазан странными всплывашками, баннерами, пропагандой...

Будет обмазан Markdown, Hugo, GitHub (в качестве CD и халявного хостинга) и Obsidian

Страдать далее

Игрострой. С чего начинать

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров5.9K

Привет всем! Меня зовут Ш. Сергей!

Я очень не хотел создавать подобные темы. И уже есть темы которые я уже создавал и там многое уже написано. А так же есть множество подобных тем, где люди написали больше меня и вероятно для кого-то более полезно чем я. Это и не удивительно, ведь я программист на Pascal/Assembler, от которых сейчас многие открещиваются как только могут.

В этой статье я постараюсь затронуть тему для всех ЯП и в своём большинстве для начинающих программистов. Так как именно они зачастую будут стоять перед выбором: "с чего же начинать?"

ознакомиться

Что нового в IntelliJ IDEA 2024.2

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров17K

Недавно вышла новая версия IntelliJ IDEA 2024.2, в которой появилось довольно много новых фич. Команда Amplicode подготовила обзор основных возможностей IDE, которые на данный момент доступны российским разработчикам без каких-либо ограничений.

Читать далее

Обзор LSP: что это такое, зачем нужно, как работает

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров9.2K

Представьте: у вас есть N редакторов или IDE и M языков программирования. Получается, что для их корректной работы вам необходимо поддерживать N*M плагинов. Но что, если таких редакторов и языков много?.. Решением может стать LSP — единый интерфейс взаимодействия языкового сервера и редакторов, который помогает сузить проблему до N+М.

Меня зовут Денис Маматин, я работаю в отделе R&D СберТеха. Наша команда занимается разработкой и тестированием новых технологий. В этой статье я расскажу, что такое LSP‑протокол, как он поможет упростить разработку, и рассмотрю небольшой пример LSP‑сервера.

Читать далее

Новый AI UI дизайнер для «Silverlight» приложений

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров2.2K

Мы занимаемся разработкой фреймворка OpenSilveropensource наследника платформы Silverlight. В версии 3.0 мы добавили современный UI дизайнер в Visual Studio расширение и сделали веб-версию дизайнера.

Читать далее

Не используйте Lombok с JPA, пока не прочтете эту статью

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров14K

Lombok — действительно отличный инструмент. Одна строчка кода, и все ваши JPA сущности перестают корректно работать ;) Но это только в том случае, если вы не знаете, какие фичи Lombok можно использовать вместе с JPA, а какие лучше не стоит. 

В этой статье я расскажу про большинство подводных камней, с которыми можно столкнуться, используя Lombok вместе с JPA, и про то, как их обойти используя Amplicode.

Читать далее

Выявление bidirectional unicode троянов

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров3.4K

Двое специалистов в своей довольно старой публикации Trojan Source: Invisible Vulnerabilities описали одну из интересных атак, суть которой заключается в следующем: при просмотре исходного кода вы видите одно, но при компиляции в конечном приложении будет реализована совсем другая логика. Суть атаки проста: не все редакторы кода отображают unicode символы и рецензенты кода их попросту не увидят. Для реализации атаки необходимо использовать определенные символы в кодировке unicode, которые заставляют компилятор читать исходный код в другом направлении либо вызывать совсем другие функции.

Читать далее