Написание расширения автоформата Verilog для Sublime/VS Code

Как разработчика RTL, меня раздражает, что в моих любимых текстовых редакторах (Notepad++, Sublime, VS Code) нет опций автоформатирования для языков RTL, таких как Verilog и VHDL. Поэтому я взял на себя задачу создать его.

Я хочу разработать расширение автоматического форматирования для одного из этих редакторов. Я отказался от Notepad++, потому что у него нет встроенной поддержки Linux и macOS.

Итак, вопрос: с чего начать разработку расширения автоформата для языка для Sublime и VS Code?

Примечания:

  • Я не собираюсь разрабатывать расширение для обоих редакторов, но я хотел бы посмотреть, какое из них будет более осуществимым.

  • Поскольку Verilog ближе к синтаксису C, с него может быть проще начать (и я также предпочитаю его VHDL, но давайте не будем вдаваться в религиозные дискуссии).

  • Я знаю, что редакторы Emacs и Sigasi предоставляют параметры автоматического форматирования для языков с письмом справа налево, но их параметры форматирования строгие, и мне не нравится результат, поэтому я намерен сделать стиль форматирования настраиваемым.

  • Я столкнулся с этой работой https://github.com/thomasrussellmurphy/istyle-verilog-formatter может быть полезно использовать его, если это возможно


person hkassir72    schedule 08.08.2018    source источник


Ответы (1)


Я не собираюсь разрабатывать расширение для обоих редакторов, но я хотел бы посмотреть, какое из них будет более осуществимым.

На мой взгляд, я бы предпочел кодировать языки RTL в коде VS, потому что он более универсален, чем возвышенный текст, как в бесплатном пиве и речи. Я настоятельно рекомендую начать отсюда https://code.visualstudio.com/docs/extensions/example-hello-world. О, вам также нужно знать Typescript / Javascript, чтобы написать расширение.

Я столкнулся с этой работой https://github.com/thomasrussellmurphy/istyle-verilog-formatter может быть полезно использовать его, если это возможно

Я рад видеть порт этого в VS Code/Sublime Text. Извините, я не знаю, как работать с C++ на TypeScript. Мое предположение состояло бы в том, чтобы скопировать метод реализации и написать на TypeScript.

С их сайта:

Предпосылки:

Вам нужно, чтобы Node.js был установлен и доступен в вашем $PATH. Node.js включает npm, диспетчер пакетов Node.js, который будет использоваться для установки генератора расширений.

Я очень рад видеть расширения автоматического форматирования для Verilog. Надеюсь, я тоже смогу внести свой вклад :)

Изменить: я нашел это https://github.com/g2384/VHDLFormatter, написанное на TypeScript. Переход на VSCode/Sublime будет проще, чем на C++. Я проверил это лично, и это работает потрясающе! Надеюсь, поможет :)

person Shiva Shankar    schedule 24.11.2018
comment
Спасибо! Я начну проект достаточно скоро (надеюсь). Я обновлю этот вопрос своим проектом, как только он будет в приличной форме. - person hkassir72; 25.11.2018