MotionCode | IT 👨💻
Что дальше?
😳 51 голос за расширения
В принципе, предсказуемо. И по этому я уже несколько дней переделываю систему расширений и пишу документацию к ним. Сейчас занят проработкой API для создания своих языков и документаций (скриншот номер 2)
Включайте уведомления, и предлагайте свои идеи для расширений снизу в комментариях 💬
В принципе, предсказуемо. И по этому я уже несколько дней переделываю систему расширений и пишу документацию к ним. Сейчас занят проработкой API для создания своих языков и документаций (скриншот номер 2)
Включайте уведомления, и предлагайте свои идеи для расширений снизу в комментариях 💬
❤6
MotionCode | IT 👨💻
Что дальше?
🙋Вы еще не забыли что я существую?
Я взял небольшой отдых от разработки, немного выгорел, но несмотря на это возвращаюсь к разработке IDE
Что бы отвлечься я взялся за разработку своего языка (надстройки над js) - наследника PrettyScript. Да, решил создать с нуля с более нормальными технологиями и назвать по другому - Slim (отсылка на то, что в языке есть упрощения, синтаксический сахар. Но так же и новвоведения)
Синтаксис вы видите на скриншоте - это structs: вы создаете конструкцию и таким образом можете проверить обьект на поля, круто же? 😺
На счет IDE - сейчас активно буду допиливать расширения, а документация к ним уже почти написана (Wiki в GitHub Repo). Постараюсь сделать их flexible но держите в голове что это буквально мой первый опыт создания таких штук и с первого раза ничего ни у кого не получится никогда, даже у меня =)
Спасибо, что следите! ❤️
Я взял небольшой отдых от разработки, немного выгорел, но несмотря на это возвращаюсь к разработке IDE
Что бы отвлечься я взялся за разработку своего языка (надстройки над js) - наследника PrettyScript. Да, решил создать с нуля с более нормальными технологиями и назвать по другому - Slim (отсылка на то, что в языке есть упрощения, синтаксический сахар. Но так же и новвоведения)
Синтаксис вы видите на скриншоте - это structs: вы создаете конструкцию и таким образом можете проверить обьект на поля, круто же? 😺
На счет IDE - сейчас активно буду допиливать расширения, а документация к ним уже почти написана (Wiki в GitHub Repo). Постараюсь сделать их flexible но держите в голове что это буквально мой первый опыт создания таких штук и с первого раза ничего ни у кого не получится никогда, даже у меня =)
Спасибо, что следите! ❤️
❤6🙏3👍1
📕 Я всерьез хочу заняться полной разработкой аналога js — SLIM
Главная цель: убрать несколько самых проблемных мест самого Javascript, добавить больше синтаксического сахара, добавить новые конструкции по типу структур обьектов и сделать разработку проще
Так как я собираю аудиторию веб-разработчиков, есть ли у вас что предложить в мой язык? Так же как и IDE это будет "народный" язык 😺
Главная цель: убрать несколько самых проблемных мест самого Javascript, добавить больше синтаксического сахара, добавить новые конструкции по типу структур обьектов и сделать разработку проще
Так как я собираю аудиторию веб-разработчиков, есть ли у вас что предложить в мой язык? Так же как и IDE это будет "народный" язык 😺
❤11🤡2👍1
🗝 Че там по обновлениям?
Сейчас мне очень круто, потому что я пытаюсь делать и IDE, и язык одновременно
Плюсом, я не очень понимаю куда мне двигаться в направлении IDE (что исправлять или добавлять), именно по этому я прошу ВАС писать свои идеи, которые по вашему мнению, будут двигать ее вперед. Хотелось бы выделить особенно API расширений. Я хочу, что бы фишкой моей IDE была легкость во всем: от понимания элементов до написания чего-то своего, авторского
Но, давайте я расскажу что прямо сейчас есть в IDE:
Уже изменил систему расширений. До этого, как я понял после сравнения, она была просто ужасной. Сейчас я оптимизировал ее и переписал пару штук (это сложнее, чем кажется). Теперь, у нас есть документация к расширениям. Моя модель работает от разрешений, то есть если в конфиге прописано
Теперь, вы сможете легко написать свою подсветку к языку или навести косметические улучшения в IDE, на ваш вкус 🖌
Я долго писал документацию, но вот ссылки:
- Начало создания своего расширения
- Как создать свой язык
- Как создать свою on-hover документацию в редакторе
Дополнительно:
- Как создать свою тему
- Максимально beginner-friendly гайд на то, как запустить у себя IDE
Ну, и еще пофиксил и сделал нормальную менюшку для смены табов в редакторе 🤫
Сейчас мне очень круто, потому что я пытаюсь делать и IDE, и язык одновременно
Плюсом, я не очень понимаю куда мне двигаться в направлении IDE (что исправлять или добавлять), именно по этому я прошу ВАС писать свои идеи, которые по вашему мнению, будут двигать ее вперед. Хотелось бы выделить особенно API расширений. Я хочу, что бы фишкой моей IDE была легкость во всем: от понимания элементов до написания чего-то своего, авторского
Но, давайте я расскажу что прямо сейчас есть в IDE:
Уже изменил систему расширений. До этого, как я понял после сравнения, она была просто ужасной. Сейчас я оптимизировал ее и переписал пару штук (это сложнее, чем кажется). Теперь, у нас есть документация к расширениям. Моя модель работает от разрешений, то есть если в конфиге прописано
audio.play, то внутри расширения вы сможете использовать app.audio.play().Теперь, вы сможете легко написать свою подсветку к языку или навести косметические улучшения в IDE, на ваш вкус 🖌
Я долго писал документацию, но вот ссылки:
- Начало создания своего расширения
- Как создать свой язык
- Как создать свою on-hover документацию в редакторе
Дополнительно:
- Как создать свою тему
- Максимально beginner-friendly гайд на то, как запустить у себя IDE
GitHub
[EXTENSIONS] Introduction
CodeMotion - IDE for web-developers. Contribute to cdmtn-dev/codemotion-ide development by creating an account on GitHub.
❤3👍1🔥1
📺 Вы, кстати, вообще знали что в IDE встроен скриншоттер кода?
Да, у меня изначально был встроен легкий вариант аналога CodeSnippet для VSCode который умеет скриншотить код или его области
Только у меня он изначально был очень некрасивый. Он просто буквально брал окно и очень размыто его скриншотил. Помимо мелких правок я решил заняться переделкой, и за 30~ минут сделал красивый "скриншоттер". Результат его работы показан сверху
Самый главный плюс - он встроен и доработан теперь, но пока недоступен так как сейчас я переписываю IDE так, что бы вы могли запустить её на Win, Linux или MacOS 👨💻
Ждем?
Да, у меня изначально был встроен легкий вариант аналога CodeSnippet для VSCode который умеет скриншотить код или его области
Только у меня он изначально был очень некрасивый. Он просто буквально брал окно и очень размыто его скриншотил. Помимо мелких правок я решил заняться переделкой, и за 30~ минут сделал красивый "скриншоттер". Результат его работы показан сверху
Самый главный плюс - он встроен и доработан теперь, но пока недоступен так как сейчас я переписываю IDE так, что бы вы могли запустить её на Win, Linux или MacOS 👨💻
Ждем?
❤5👍1
😊 Готовы протестировать CodeMotion IDE?
https://github.com/cdmtn-dev/codemotion-ide/releases/tag/alpha
Да, самая первая АЛЬФА DEV версия уже доступна для скачивания. Пока что только на Windows 10/11
Важно понимать, что это первая версия продукта, которая может не соответствовать ожиданиям
Что бы сообщить о баге/идее, вы можете вступить в специальную группу, которая нужна только для такого рода: @cdmtnbugs. Там есть специальная форма в закрепе - это лучший способ оформить ваш багрепорт/идею
Версии на другие ОС тоже будут 😪
https://github.com/cdmtn-dev/codemotion-ide/releases/tag/alpha
Да, самая первая АЛЬФА DEV версия уже доступна для скачивания. Пока что только на Windows 10/11
Важно понимать, что это первая версия продукта, которая может не соответствовать ожиданиям
Что бы сообщить о баге/идее, вы можете вступить в специальную группу, которая нужна только для такого рода: @cdmtnbugs. Там есть специальная форма в закрепе - это лучший способ оформить ваш багрепорт/идею
Версии на другие ОС тоже будут 😪
🔥10👍1
⚙️ Прошло совсем немного с начала-бета теста, но уже есть результаты
Спасибо активным участникам нашего комьюнити за тестредактора IDE! ВЫ помогли мне исправить ошибки и добавить новый функционал. Именно по этому комьюнити должно существовать - ведь много людей заметят больше, чем один инди разработчик
Что нового? (0.0.2.1):
- Добавлен ресайз и скрытие сайдбара одной кнопкой. Теперь область редактора может быть еще больше
- Добавлена новая визуальная настройка "цветные табы" которая добавляет табам цвет их языка
- Улучшен вывод "движка" диагностик ошибок для javascript/typescript
- Добавлены много новых языков: Java, Kotlin, Vue.js (фреймворк), BAT
- "Движок" контекстов и диагностика были полностью переписаны под более оптимизированный варианты и стали еще быстрее
Вступайте в группу бета-тестеров: @cdmtnbugs
Я пока не буду компилировать эту версию, но скоро залью коммиты на Github repo. После уже будет скомпилирована версия 0.0.2.1 😺
Спасибо активным участникам нашего комьюнити за тест
Что нового? (0.0.2.1):
- Добавлен ресайз и скрытие сайдбара одной кнопкой. Теперь область редактора может быть еще больше
- Добавлена новая визуальная настройка "цветные табы" которая добавляет табам цвет их языка
- Улучшен вывод "движка" диагностик ошибок для javascript/typescript
- Добавлены много новых языков: Java, Kotlin, Vue.js (фреймворк), BAT
- "Движок" контекстов и диагностика были полностью переписаны под более оптимизированный варианты и стали еще быстрее
Вступайте в группу бета-тестеров: @cdmtnbugs
Я пока не буду компилировать эту версию, но скоро залью коммиты на Github repo. После уже будет скомпилирована версия 0.0.2.1 😺
❤6☃2👍1
😃 Сделал небольшой перерыв от разработки IDE, снова взялся на язык
В моем языке Slim уже есть вещи, которые упростят жизнь js программистам, которыми я бы и сам пользовался на постоянной основе и думаю в будущем, когда язык будет достаточно развит - встроить его в мои другие продукты (в IDE, например, скрины для картинки я сделал кстати именно в ней).
Что уже полностью готово?
- struct: Структуры для проверки входящих данных. Обьявляешь структуру где пишешь ключи и их типы, а потом можешь проверить любой обьект на соответствие этим ключам и типам в них. Есть два типа проверки: который крашает программу если нашли ошибку, и который выкидывает обьект с результатом проверки
- enum: Если вы растер, то это не то, что вы подумали, но близко. Пока enum - это просто удобное хранилище данных, но выведенное в отдельный тип и структуру 🤷♀️
- операторы: empty (пустой ли обьект/строка), kindof ([] = null[]), sizeof (размер обьекта/строки), lock (заблокировать обьект для модификации).
В моем языке Slim уже есть вещи, которые упростят жизнь js программистам, которыми я бы и сам пользовался на постоянной основе и думаю в будущем, когда язык будет достаточно развит - встроить его в мои другие продукты (в IDE, например, скрины для картинки я сделал кстати именно в ней).
Что уже полностью готово?
- struct: Структуры для проверки входящих данных. Обьявляешь структуру где пишешь ключи и их типы, а потом можешь проверить любой обьект на соответствие этим ключам и типам в них. Есть два типа проверки: который крашает программу если нашли ошибку, и который выкидывает обьект с результатом проверки
- enum: Если вы растер, то это не то, что вы подумали, но близко. Пока enum - это просто удобное хранилище данных, но выведенное в отдельный тип и структуру 🤷♀️
- операторы: empty (пустой ли обьект/строка), kindof ([] = null[]), sizeof (размер обьекта/строки), lock (заблокировать обьект для модификации).
👍6❤3💩1
🗽 Slim уже на GitHub!
"Очередная" моя разработка - Slim Language. Надстройка над JS которая должна (по идее) упростить жизнь тем, кто проворачивает манипуляции с js в вебе, а особенно работает с данными
Подробнее (и с примерами) на гитхабе проекта:
https://github.com/cdmtn-dev/Slim-Language
"Очередная" моя разработка - Slim Language. Надстройка над JS которая должна (по идее) упростить жизнь тем, кто проворачивает манипуляции с js в вебе, а особенно работает с данными
Подробнее (и с примерами) на гитхабе проекта:
https://github.com/cdmtn-dev/Slim-Language
❤6
⚙️ Потихоньку дорабатываю расширения
Как видно на скриншоте, у каждого файла сейчас есть своя иконка. И если вы присмотритесь, то поймете что эти файлы - обычные json/js. Да, теперь с помощью расширений можно заменять привычные иконки (и имена в редакторе) у конкретных имен файлов, а так же у конкретных расширений
Это уже было в расширениях, но было сделано топорно. Сейчас я взялся и сделал полноценную систему, которая будет работать без багов
Так же, теперь в расширениях можно добавить свою локализацию и она будет в меню выбора языка
Как видно на скриншоте, у каждого файла сейчас есть своя иконка. И если вы присмотритесь, то поймете что эти файлы - обычные json/js. Да, теперь с помощью расширений можно заменять привычные иконки (и имена в редакторе) у конкретных имен файлов, а так же у конкретных расширений
Это уже было в расширениях, но было сделано топорно. Сейчас я взялся и сделал полноценную систему, которая будет работать без багов
Так же, теперь в расширениях можно добавить свою локализацию и она будет в меню выбора языка
❤7👏2
This media is not supported in your browser
VIEW IN TELEGRAM
⚙️ Расширения пошли еще чуть дальше
Добавил в гитхаб версию началку для управления UI (интерфейсом) программы
Это значит, что в скором времени вы сможете:
- Удалять что-то из UI
- Добавлять что то к UI
- Добавлять что то отдельно от UI приложения (прикрепленное видео, уже есть)
- Модифицировать какие то элементы в UI
Документацию уже написал. Если вы просто мечтали поставить своего любимого персонажа в угол экрана - вот ваш звездный час
CodeMotion Github: Ссылка
Документация к управлению UI: Ссылка
Добавил в гитхаб версию началку для управления UI (интерфейсом) программы
Это значит, что в скором времени вы сможете:
- Удалять что-то из UI
- Добавлять что то к UI
- Добавлять что то отдельно от UI приложения (прикрепленное видео, уже есть)
- Модифицировать какие то элементы в UI
Документацию уже написал. Если вы просто мечтали поставить своего любимого персонажа в угол экрана - вот ваш звездный час
CodeMotion Github: Ссылка
Документация к управлению UI: Ссылка
❤12
Media is too big
VIEW IN TELEGRAM
🧑💻 TEMPLATES!!!
Кто помнит, что в VSCode можно при сочетании shift + 1 + enter создать шаблонный HTML контент внутри .html? Я посчитал что это не очень удобно, это же нужно еще и узнать как то
По этому в мою IDE я добавил фишку - когда заходишь в какой то файл, если я или расширение поддерживает шаблоны для него, то буквально в 2 клика у вас уже есть шаблон
Да, шаблоны могут добавлять и авторы расширений для своих или других языков, но есть и сразу встроенные для HTML, JS и PHP. Шаблон при этом можно использовать только при пустом файле и только если его расширение будет в общем списке шаблонов (которые и расширяется расширением)
⚙️ CodeMotion Github: Ссылка
⚙️ Как зарегистрировать свой шаблон с помощью расширений: Ссылка
Кто помнит, что в VSCode можно при сочетании shift + 1 + enter создать шаблонный HTML контент внутри .html? Я посчитал что это не очень удобно, это же нужно еще и узнать как то
По этому в мою IDE я добавил фишку - когда заходишь в какой то файл, если я или расширение поддерживает шаблоны для него, то буквально в 2 клика у вас уже есть шаблон
Да, шаблоны могут добавлять и авторы расширений для своих или других языков, но есть и сразу встроенные для HTML, JS и PHP. Шаблон при этом можно использовать только при пустом файле и только если его расширение будет в общем списке шаблонов (которые и расширяется расширением)
⚙️ CodeMotion Github: Ссылка
⚙️ Как зарегистрировать свой шаблон с помощью расширений: Ссылка
❤10
🛬 Slim продолжает развиваться
(На картинке его синтаксис сейчас)
Если что, я делаю не только IDE, а и свой язык (надстройку над js, но TypeScript тоже называют языком), и, иногда позволяю себе отвлечься и заняться им вместо приложения (потому что я тоже человек)
Без пользы это не проходит. Сейчас работаю над типами в Slim которые будут закрепляться за переменными в рантайме и, благодаря прямой компиляции в чистый js, работать ожидаемо. Сейчас я внедрил все типы которые есть в struct так же и в переменные - теперь, можно обьявлять переменную с типом и она будет ходить с ним
Так же переписал компилятор что бы он тащил меньше зависимостей, почистил код, переосмыслил некоторые моменты... по мелочи в общем. Скоро залью на гитхаб, нужно еще кое-что подпилить ⛈
⚙️ Slim Github: Ссылка
(На картинке его синтаксис сейчас)
Если что, я делаю не только IDE, а и свой язык (надстройку над js, но TypeScript тоже называют языком), и, иногда позволяю себе отвлечься и заняться им вместо приложения (потому что я тоже человек)
Без пользы это не проходит. Сейчас работаю над типами в Slim которые будут закрепляться за переменными в рантайме и, благодаря прямой компиляции в чистый js, работать ожидаемо. Сейчас я внедрил все типы которые есть в struct так же и в переменные - теперь, можно обьявлять переменную с типом и она будет ходить с ним
Так же переписал компилятор что бы он тащил меньше зависимостей, почистил код, переосмыслил некоторые моменты... по мелочи в общем. Скоро залью на гитхаб, нужно еще кое-что подпилить ⛈
⚙️ Slim Github: Ссылка
👏6👍1
📝 Мини обновление IDE
Долговато не было новостей, но не бойтесь, это связано как раз таки с развитием моих проектов и ростом канала, но я продолжаю стабильно поддерживать и обновлять все мои проекты
Что нового в самой последней версии CodeMotion IDE?
- Теперь вы можете (с помощью расширений) создавать свои верхние элементы в топбаре. Там можно писать что угодно, вставлять какую угодно картинку/иконку и менять это как вы пожелаете (скриншот 1). Это позволит отображать статусы у расширений и добавлять другие прикольные штуки
- IDE стала визуально чище. Исправилось большинство моментов, когда неочевидные или незаметные вещи встречались в интерфейсе
- Добавилось авто-восстановление закрытого проекта. Если вы закрыли проект, при этом у вас включена нужная настройка, то при след. открытии у вас откроется тот же проект
- Теперь несохраненная вкладка предупреждает тебя перед закрытием
TODO:
- Регенерация инвайт-кода для организаций
- Добавление больше элементов для ui.createElement в расширениях и модальные окна
Долговато не было новостей, но не бойтесь, это связано как раз таки с развитием моих проектов и ростом канала, но я продолжаю стабильно поддерживать и обновлять все мои проекты
Что нового в самой последней версии CodeMotion IDE?
- Теперь вы можете (с помощью расширений) создавать свои верхние элементы в топбаре. Там можно писать что угодно, вставлять какую угодно картинку/иконку и менять это как вы пожелаете (скриншот 1). Это позволит отображать статусы у расширений и добавлять другие прикольные штуки
- IDE стала визуально чище. Исправилось большинство моментов, когда неочевидные или незаметные вещи встречались в интерфейсе
- Добавилось авто-восстановление закрытого проекта. Если вы закрыли проект, при этом у вас включена нужная настройка, то при след. открытии у вас откроется тот же проект
- Теперь несохраненная вкладка предупреждает тебя перед закрытием
TODO:
- Регенерация инвайт-кода для организаций
- Добавление больше элементов для ui.createElement в расширениях и модальные окна
❤8❤🔥1🔥1
❤1
⚙️ Улучшения в CodeMotion IDE день Х
Приложение:
- Теперь админы организации могут ресетнуть инвайт код. Полезно если код слили или просто нужен новый - один ресет в 5 минут
- Теперь при сочетании ctrl + колесо мыши вы можете настраивать размер шрифта в редакторе
- Мини фиксы: GLS (локализация), фиксы интерфейса (z-индексы, анимации в топбаре) и фиксы функционала
Расширения:
- Добавлены новые штуки в регистрацию языка:
- Регистрацию иконок для папок, документации, иконок для именных файлов и иконок для расширений перенесены в package.json. Раньше это все нужно было прописывать скриптом в js
Сейчас еще продолжаю работу над языком Slim (надстройкой для js) - внедряю больше std библиотек, фикс парсера и типов.
📕 CodeMotion IDE GitHub repo: https://github.com/cdmtn-dev/codemotion-ide
Спасибо, что следите ❤️
Приложение:
- Теперь админы организации могут ресетнуть инвайт код. Полезно если код слили или просто нужен новый - один ресет в 5 минут
- Теперь при сочетании ctrl + колесо мыши вы можете настраивать размер шрифта в редакторе
- Мини фиксы: GLS (локализация), фиксы интерфейса (z-индексы, анимации в топбаре) и фиксы функционала
Расширения:
- Добавлены новые штуки в регистрацию языка:
templateLiteral, states и characters. Первый - для штук вроде ${var} в js, второй - для расширенных параметров (лексер), третий - просто что подсвечивать как символы в редакторе- Регистрацию иконок для папок, документации, иконок для именных файлов и иконок для расширений перенесены в package.json. Раньше это все нужно было прописывать скриптом в js
Сейчас еще продолжаю работу над языком Slim (надстройкой для js) - внедряю больше std библиотек, фикс парсера и типов.
📕 CodeMotion IDE GitHub repo: https://github.com/cdmtn-dev/codemotion-ide
Спасибо, что следите ❤️
❤7🕊1
👨💻 Заходите в чатик, если чо пацики:
@cdmtngroup
Обсудите что угодно по айти тематике, любые вопросы. Если что, меня отмечайте если сказать что то хотите, ну или в лс пишите (в описании канала есть)
Проявляйте актив, будьте частью сообщества!
⚙️ CodeMotion GitHub: Ссылка
⚙️ Slim GitHub: Ссылка
@cdmtngroup
Обсудите что угодно по айти тематике, любые вопросы. Если что, меня отмечайте если сказать что то хотите, ну или в лс пишите (в описании канала есть)
Проявляйте актив, будьте частью сообщества!
⚙️ CodeMotion GitHub: Ссылка
⚙️ Slim GitHub: Ссылка
❤3
📖 Продолжаем разработку Slim
Сейчас уже версия сменилась на 1.1.0, туда вошли разнообразные фиксы, но главные новвоведения:
- Типы в переменных: Знаете как сделано в тайпскрипт? При обявлении переменной ей можно дать тип, но вот только ничего он не дает, если редактор не имеет нужной подсветки. У меня типы тоже можно определить, но они будут ловить ошибки прямо в рантайме. То есть, условно есть переменная с типом
- Проверка типов в функциях: теперь, когда вы пишите функцию, вы можете указать типы в аргументах, что бы при выполнении, они проверялись. Да, прям так:
- Собственный сервер: при запуске
⚙️ Вы можете попробовать сами, посмотрев на Slim GitHub: Ссылка
Сейчас уже версия сменилась на 1.1.0, туда вошли разнообразные фиксы, но главные новвоведения:
- Типы в переменных: Знаете как сделано в тайпскрипт? При обявлении переменной ей можно дать тип, но вот только ничего он не дает, если редактор не имеет нужной подсветки. У меня типы тоже можно определить, но они будут ловить ошибки прямо в рантайме. То есть, условно есть переменная с типом
int и прямо при запуске программы она не может быть переопределена с типом float. В этом весь прикол- Проверка типов в функциях: теперь, когда вы пишите функцию, вы можете указать типы в аргументах, что бы при выполнении, они проверялись. Да, прям так:
func add(x: int | float, y: int | float) {...}- Собственный сервер: при запуске
npm run slim:server -- --hot у вас будет запущен сервер с файлом из slimconfig.json. --hot нужен только для того, что бы при изменении контента в файле сервер перезагружался автоматически⚙️ Вы можете попробовать сами, посмотрев на Slim GitHub: Ссылка
🔥6❤2