MotionCode | IT 👨‍💻
1.53K subscribers
67 photos
5 videos
35 links
Если не заходит - введи в поиске @cdmtn

IT content only

TikTok: https://www.tiktok.com/@motioncode.it

YT: https://www.youtube.com/@codemotion-code

Need DM? @mtn_cd
Download Telegram
MotionCode | IT 👨‍💻
Что дальше?
😳 51 голос за расширения

В принципе, предсказуемо. И по этому я уже несколько дней переделываю систему расширений и пишу документацию к ним. Сейчас занят проработкой API для создания своих языков и документаций (скриншот номер 2)

Включайте уведомления, и предлагайте свои идеи для расширений снизу в комментариях 💬
6
MotionCode | IT 👨‍💻
Что дальше?
🙋Вы еще не забыли что я существую?

Я взял небольшой отдых от разработки, немного выгорел, но несмотря на это возвращаюсь к разработке IDE
Что бы отвлечься я взялся за разработку своего языка (надстройки над js) - наследника PrettyScript. Да, решил создать с нуля с более нормальными технологиями и назвать по другому - Slim (отсылка на то, что в языке есть упрощения, синтаксический сахар. Но так же и новвоведения)

Синтаксис вы видите на скриншоте - это structs: вы создаете конструкцию и таким образом можете проверить обьект на поля, круто же? 😺

На счет IDE - сейчас активно буду допиливать расширения, а документация к ним уже почти написана (Wiki в GitHub Repo). Постараюсь сделать их flexible но держите в голове что это буквально мой первый опыт создания таких штук и с первого раза ничего ни у кого не получится никогда, даже у меня =)

Спасибо, что следите! ❤️
6🙏3👍1
📕 Я всерьез хочу заняться полной разработкой аналога js — SLIM

Главная цель: убрать несколько самых проблемных мест самого Javascript, добавить больше синтаксического сахара, добавить новые конструкции по типу структур обьектов и сделать разработку проще

Так как я собираю аудиторию веб-разработчиков, есть ли у вас что предложить в мой язык? Так же как и IDE это будет "народный" язык 😺
11🤡2👍1
🗝 Че там по обновлениям?

Сейчас мне очень круто, потому что я пытаюсь делать и IDE, и язык одновременно
Плюсом, я не очень понимаю куда мне двигаться в направлении IDE (что исправлять или добавлять), именно по этому я прошу ВАС писать свои идеи, которые по вашему мнению, будут двигать ее вперед. Хотелось бы выделить особенно API расширений. Я хочу, что бы фишкой моей IDE была легкость во всем: от понимания элементов до написания чего-то своего, авторского

Но, давайте я расскажу что прямо сейчас есть в IDE:
Уже изменил систему расширений. До этого, как я понял после сравнения, она была просто ужасной. Сейчас я оптимизировал ее и переписал пару штук (это сложнее, чем кажется). Теперь, у нас есть документация к расширениям. Моя модель работает от разрешений, то есть если в конфиге прописано audio.play, то внутри расширения вы сможете использовать app.audio.play().

Теперь, вы сможете легко написать свою подсветку к языку или навести косметические улучшения в IDE, на ваш вкус 🖌

Я долго писал документацию, но вот ссылки:
- Начало создания своего расширения
- Как создать свой язык
- Как создать свою on-hover документацию в редакторе

Дополнительно:
- Как создать свою тему
- Максимально beginner-friendly гайд на то, как запустить у себя IDE

Ну, и еще пофиксил и сделал нормальную менюшку для смены табов в редакторе 🤫
3👍1🔥1
📺 Вы, кстати, вообще знали что в IDE встроен скриншоттер кода?

Да, у меня изначально был встроен легкий вариант аналога CodeSnippet для VSCode который умеет скриншотить код или его области

Только у меня он изначально был очень некрасивый. Он просто буквально брал окно и очень размыто его скриншотил. Помимо мелких правок я решил заняться переделкой, и за 30~ минут сделал красивый "скриншоттер". Результат его работы показан сверху

Самый главный плюс - он встроен и доработан теперь, но пока недоступен так как сейчас я переписываю IDE так, что бы вы могли запустить её на Win, Linux или MacOS 👨‍💻

Ждем?
5👍1
10к и 400 подписчиков уже
Спасибо! ❤️
16👍1
😊 Готовы протестировать CodeMotion IDE?

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 😺
62👍1
😃 Сделал небольшой перерыв от разработки IDE, снова взялся на язык

В моем языке Slim уже есть вещи, которые упростят жизнь js программистам, которыми я бы и сам пользовался на постоянной основе и думаю в будущем, когда язык будет достаточно развит - встроить его в мои другие продукты (в IDE, например, скрины для картинки я сделал кстати именно в ней).

Что уже полностью готово?

- struct: Структуры для проверки входящих данных. Обьявляешь структуру где пишешь ключи и их типы, а потом можешь проверить любой обьект на соответствие этим ключам и типам в них. Есть два типа проверки: который крашает программу если нашли ошибку, и который выкидывает обьект с результатом проверки
- enum: Если вы растер, то это не то, что вы подумали, но близко. Пока enum - это просто удобное хранилище данных, но выведенное в отдельный тип и структуру 🤷‍♀️
- операторы: empty (пустой ли обьект/строка), kindof ([] = null[]), sizeof (размер обьекта/строки), lock (заблокировать обьект для модификации).
👍63💩1
🗽 Slim уже на GitHub!

"Очередная" моя разработка - Slim Language. Надстройка над JS которая должна (по идее) упростить жизнь тем, кто проворачивает манипуляции с js в вебе, а особенно работает с данными

Подробнее (и с примерами) на гитхабе проекта:

https://github.com/cdmtn-dev/Slim-Language
6
⚙️ Потихоньку дорабатываю расширения

Как видно на скриншоте, у каждого файла сейчас есть своя иконка. И если вы присмотритесь, то поймете что эти файлы - обычные json/js. Да, теперь с помощью расширений можно заменять привычные иконки (и имена в редакторе) у конкретных имен файлов, а так же у конкретных расширений

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

Так же, теперь в расширениях можно добавить свою локализацию и она будет в меню выбора языка
7👏2
Скоро с помощью расширений можно будет делать действительно нужные вещи...
👍141
This media is not supported in your browser
VIEW IN TELEGRAM
⚙️ Расширения пошли еще чуть дальше

Добавил в гитхаб версию началку для управления 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: Ссылка
⚙️ Как зарегистрировать свой шаблон с помощью расширений: Ссылка
10
🛬 Slim продолжает развиваться
(На картинке его синтаксис сейчас)

Если что, я делаю не только IDE, а и свой язык (надстройку над js, но TypeScript тоже называют языком), и, иногда позволяю себе отвлечься и заняться им вместо приложения (потому что я тоже человек)

Без пользы это не проходит. Сейчас работаю над типами в Slim которые будут закрепляться за переменными в рантайме и, благодаря прямой компиляции в чистый js, работать ожидаемо. Сейчас я внедрил все типы которые есть в struct так же и в переменные - теперь, можно обьявлять переменную с типом и она будет ходить с ним

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

⚙️ Slim Github: Ссылка
👏6👍1
📝 Мини обновление IDE

Долговато не было новостей, но не бойтесь, это связано как раз таки с развитием моих проектов и ростом канала, но я продолжаю стабильно поддерживать и обновлять все мои проекты

Что нового в самой последней версии CodeMotion IDE?

- Теперь вы можете (с помощью расширений) создавать свои верхние элементы в топбаре. Там можно писать что угодно, вставлять какую угодно картинку/иконку и менять это как вы пожелаете (скриншот 1). Это позволит отображать статусы у расширений и добавлять другие прикольные штуки
- IDE стала визуально чище. Исправилось большинство моментов, когда неочевидные или незаметные вещи встречались в интерфейсе
- Добавилось авто-восстановление закрытого проекта. Если вы закрыли проект, при этом у вас включена нужная настройка, то при след. открытии у вас откроется тот же проект
- Теперь несохраненная вкладка предупреждает тебя перед закрытием

TODO:
- Регенерация инвайт-кода для организаций
- Добавление больше элементов для ui.createElement в расширениях и модальные окна
8❤‍🔥1🔥1
Интересно ли вам будут иногда лайв-стримы в этом тгк?
Final Results
82%
Да
18%
Нет
1
⚙️ Улучшения в 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: Ссылка
3
📖 Продолжаем разработку Slim

Сейчас уже версия сменилась на 1.1.0, туда вошли разнообразные фиксы, но главные новвоведения:

- Типы в переменных: Знаете как сделано в тайпскрипт? При обявлении переменной ей можно дать тип, но вот только ничего он не дает, если редактор не имеет нужной подсветки. У меня типы тоже можно определить, но они будут ловить ошибки прямо в рантайме. То есть, условно есть переменная с типом int и прямо при запуске программы она не может быть переопределена с типом float. В этом весь прикол

- Проверка типов в функциях: теперь, когда вы пишите функцию, вы можете указать типы в аргументах, что бы при выполнении, они проверялись. Да, прям так:
func add(x: int | float, y: int | float) {...}


- Собственный сервер: при запуске npm run slim:server -- --hot у вас будет запущен сервер с файлом из slimconfig.json. --hot нужен только для того, что бы при изменении контента в файле сервер перезагружался автоматически

⚙️ Вы можете попробовать сами, посмотрев на Slim GitHub: Ссылка
🔥62