[VSC] vscodemodx - Автокомплит кода в Visual Studio Code для MODX Revo

Приветствую вас!
После того как я наткнулся на компонент gitmodx для MODX Revo я почувствовал какое-то облегчение но одновременно и огорчение. С одной стороны был дико рад относительно адекватной возможностью вести разработку с контролем версии, с другой же стороны работа исключительно в IDE была очень неудобной из-за отсутствия каких-либо подсказок со стороны среды.
Вот именно такое предисловие было для того чтобы расчехлить TypeScript и начать писать что-то свое.
Github компонента доступен по ссылке и всю последующую информацию я размещу еще и там.

Ультра бета версия уже доступна в VSCode Marketplace по ссылке

Пример работы компонента:


Что сейчас умеет компонент? Я занес в автокомплит все методы MODX Object с минимальной справкой.
Что будет уметь компонент?
  • Полноценная справка в подсказках (благо тип строки — markdown, а соотвественно можно туда занести хоть всю документацию)
  • Поддержка снипетов. Создание новых элементов будет происходить по маске
  • Полноценная поддержка InteliSense. Все мы с вами знает что InteliSense это не просто автокопмлит, а очень умная система подсказок. Интеграция — в планах
Чем мне можно помочь?
Присылайте свои идеи и предложения и будем делать этот продукт все более и более удобным. Так же хотелось бы попросить сообщество прислать примеры снипетов которые вы используете 24 на 7, я рассмотрю их добавление. И самое главное — ошибки.

Донаты мне на мороженку тоже горячо приветствуются и добавляют отвественности за продукт :)

Спасибо!
Павел Бигель
17 июля 2019, 14:34
modx.pro
688
+16
Поблагодарить автора Отправить деньги

Комментарии: 25

Сергей Шлоков
17 июля 2019, 15:04
+4
Я занес в автокомплит все методы MODX Object с минимальной справкой.
Тут напрашивается вывод — или Visual Studio слабоват как IDE или автор не разобрался. PHPStorm умеет это всё из коробки как и положено хорошему средству разработки. Главное, чтобы разработчики взяли за правило нормально оформлять phpDoc.

Или я чего-то не догоняю?

П.С. Количество ошибок, конечно, удручает.
    Павел Бигель
    17 июля 2019, 15:09
    +1
    Visual Studio Code вообще не IDE. Он как MODX — по умолчанию тупенький и ему нужно все правильно «показывать».
    На текущий момент все что умеет phpStorm так же умеет мой плагин. Но в отличии от phpstorm VSC соддержит в себе поддержку LSP. Следовательно его можно нативно интегрировать в InteliSense.
    Этого PHPStorm не будет уметь никогда до перехода на LSP.
      Сергей Шлоков
      17 июля 2019, 15:27
      +2
      Какая-то сломанная логика. VSC (продукт компании Microsoft) пустой, поэтому его нужно учить. А ещё лучше подключить к другому инструменту Microsoft. Тогда он будет «ну ваще». В 100 раз круче PHPStorm, который почему-то должен использовать LSP от Майкрософта, без которого он просто «фу». Где здесь связь? Почему PHPStorm должен подключаться к LSP? У него вроде как своя реализация.

      А что такое может дать LSP, чего сейчас нет в PHPStorm? Я в этой теме полный валенок. Думаю, и многим другим было бы интересно узнать поподробнее про эти технологии.
        Павел Бигель
        17 июля 2019, 15:34
        +1
        LSP не инструмент Microsoft.

        Что прямо сейчас дает LSP, давай по пунктам:
        1. Автокомплит кода (с различными конфигрурациями)
        2. Поддержка любого языка программирования в том числе большого кол-ва разных языков и даже в одном файле!
        3. Осуществляется отслеживание и определение типов для всех переменных в проекте с использованием симуляции выполнения кода.
        4. Возможность использования фишечки «Quick fix» (система определеяет род ошибки и варианты его исправления).

        Это пока первое что приходит в голове если честно.
        У Jetbrains своя реализация. Ну и не забываем что их продукты стоят денег.
          Сергей Шлоков
          17 июля 2019, 15:43
          +2
          PHPStorm:
          1. Есть.
          2. Есть. Причем прямо в одном файле можно вызвать миниредактор для разных языков.
          3. Есть.
          4. Есть.
          А ещё есть миллион инспекций кода для любого языка с возможностью отключения. Правда за это приходится платить производительностью. Sublime Text в этом плане гораздо легче.

          А можно в VSC перейти в исходник кликнув по имени объекта или метода?

          У Jetbrains своя реализация. Ну и не забываем что их продукты стоят денег.
          Ну это да. Но лично я купил и не думаю о вышеописанных проблемах. А для VSC, наверно, нужная вещь.Я просто не знаком с этим продуктом.
            Павел Бигель
            17 июля 2019, 15:56
            0
            А можно в VSC перейти в исходник кликнув по имени объекта или метода?
            Конечно.
            Василий Наумкин
            17 июля 2019, 15:51
            1
            +4
            1. Есть + возможность доставить нужные из репозитория
            2. Есть + опять же репозиторий
            3. Есть + еще всякие специфичные штуки, типа опций VueJS

            4. Есть + пакетное выполнение и анализ кода по всей директории\проекту

            Ну и не забываем что их продукты стоят денег.
            Только для тех разработчиков, которые не могут оформить Open Source лицензию.

            Сегодня только правил вёрстку после VSCode — там банальнейшие ошибки, которые человек просто не видел, включая орфографические опечатки («desctop») и двойные указания свойств, которые PhpStorm сразу подчёркивает, из коробки.

            VSCode — это типа Notepad++, с IDE его сравнивать не нужно.
      iWatchYouFromAfar
      17 июля 2019, 15:33
      +2
      В phpStorm есть такая вещь как библиотеки. Создаешь проект, добавляешь в него MODx как библиотеку, ждешь пару минут и все его методы и классы доступны для работы. И так с каждым движком. PHPStorm умный, он учится сам если ему дать что изучить.

      Помимо прочего, лично я стараюсь минимизировать автодополнение к минимуму.

      Но для тех кто использует VSC — годный компонент!
      Руслан Алеев
      17 июля 2019, 15:41
      0
      Спасибо большое, штука полезная! Будем смотреть-разбираться!
        Василий Наумкин
        17 июля 2019, 15:53
        0
        Для пользователей VSCode, наверное, хорошо.

        Но вручную обновлять все методы MODX после каждого его обновления — это хобби сильно на любителя и быстро надоест. А значит, и проект долго не проживёт.
          Павел Бигель
          17 июля 2019, 15:55
          0
          Можно придумать что-то вроде парсера, но пока не вижу смысла.
          Обновления MODX не раз в неделю ж происходят.
          Ну а насколько долго проект будут жить — бог его знает. Пока не закину MODX или не перейду на другую тулзу.
            Василий Наумкин
            17 июля 2019, 16:00
            0
            Обновления MODX не раз в неделю ж происходят.
            Ну ладно MODX, а с дополнениями-то что будем делать?

            Для них разработчику нужно методы запоминать, или в соседнем окошке на исходники поглядывать?

            PhpStorm достаточно просто добавить директорию в проект и он сам всё проиндексирует, ничего руками править не нужно.

            Ты не подумай, что я тебя критикую. Просто я пытался пользоваться VSCode и совершенно не понимаю, как его можно сравнивать с PhpStorm для разработчика.
              Павел Бигель
              17 июля 2019, 16:16
              0
              А есть какой-то how-to как получить так же? Хочу потыкать посмотреть.

              Ты не подумай, что я тебя критикую.
              Понимаю :)

              . Просто я пытался пользоваться VSCode и совершенно не понимаю, как его можно сравнивать с PhpStorm для разработчика.
              Опять же, смотря как засетапить. Довести до состояния «phpstorm» его все таки можно.

              На остальные вопросы отвечу тогда когда подумаю над ответом))
                Василий Наумкин
                17 июля 2019, 16:23
                0
                А есть какой-то how-to как получить так же?
                Просто добавь нужные директории в проект:


                Довести до состояния «phpstorm» его все таки можно.
                Это ж сколько времени и сил надо потратить? Я лучше программированием займусь =)
                  Павел Бигель
                  17 июля 2019, 16:26
                  0
                  Это ж сколько времени и сил надо потратить?
                  Поставить пару плагинов всего лишь)
                    Василий Наумкин
                    17 июля 2019, 16:28
                    0
                    Поставить пару плагинов
                    Тогда жду от тебя заметку, как мне взять и перейти на VSCode.

                    Там еще про плагины для работы с MySQL и SFTP не забудь, чтобы с удалённым сервером общаться и проект на production выгружать. А, и терминал встроенный, с табами — тоже не помешает. И управление Git, чтобы с rebase понятным.

                    Пока вроде всё, что мне нужно.
                      Павел Бигель
                      17 июля 2019, 16:30
                      +4
                      Прям все что ты сказал у меня есть. Я сделаю заметку :)
                        iWatchYouFromAfar
                        17 июля 2019, 17:59
                        0
                        В VSC есть какой-то плагин для sftp, собственно именно после того как я его поставил, я и решил покупать phpStorm. Жутко неудобно!
                        Алексей Соин
                        18 июля 2019, 12:32
                        +1
                        напомнило эту картинку))) ну незнаю, может я или не делал чтото глобальное или очень сложное, но возможностей VSC мне сейчас хватает
                        Pavel Zarubin
                        17 июля 2019, 17:13
                        0
                        Ох… когда то я был таким же упрямым и также говорил про sublime, в итоге в течении года, которого работал «Только в редакторе» я оказывается — мучался. Не повторяй моих ошибок, послушай умных и опытных дядек выше, никогда текстовый редактор не сравнится с IDE :)
                          Pavel Zarubin
                          17 июля 2019, 17:15
                          0
                          А особенно текстовый редактор написанный на вебките, который со временем обрастает кучей ненужных файлов и начинает тормозить, вылетать, запинаться на любом железе
                    Сергей Шлоков
                    17 июля 2019, 16:22
                    +4
                    – Тише ты, железная лапа! Он же всё-таки человек! Пусть бежит на двух лапах. Ему так удобнее.
                    © Маугли

                    Человек загорелся хорошим делом, а ты его на скамейку запасных. )
                      Павел Бигель
                      17 июля 2019, 16:52
                      0
                      Ну ладно MODX, а с дополнениями-то что будем делать?
                      Изучил вопрос.

                      LSP так (пока) не умеет. Из-за большого кол-ва поддерживаемых языков.
                      Тут продукт JB выиграл.

                      Ну да ладно, твои компоненты, как минимум, я перенесу у меня есть лицензии как раз)
                  Это сообщение было удалено
                    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                    25