Редактор для написания сценариев оболочки с автодополнением и подсветкой синтаксиса.

Я ищу хороший редактор, который предоставил бы мне опыт создания сценариев оболочки, подобный IDE . В идеале он должен поддерживать форматы командных файлов Linux и Windows, Windows Power Shell , безусловно, является плюсом, но не обязательным требованием.

Вот что я ищу:

  • Подсветка синтаксиса, по крайней мере, для языковых конструкций и известных нативных команд/функций.
  • Автодополнение на основе контекста вставки , как интеллект для Visual Studio. Большинство редакторов, кажется, поддерживают предложения, основанные только на содержимом файла, не имея никакого представления о целесообразности предлагаемого элемента в зависимости от контекста использования.
  • Возможность обнаружения открывающих-закрывающих скобок и круглых скобок, выделения незакрытых или неполных выражений. Это очень важно, так как я лично не очень хорошо разбираюсь в сценариях оболочки, и большинство моих проблем вызваны проблемами, подобными упомянутым.

Плюсом будет:

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

На данный момент я использую Notepad++ в Windows и Kate или Geany в Linux , но у всех есть логика автозаполнения, основанная только на содержимом файла, а не контекстно-ориентированная (если она вообще доступна). Подсветка синтаксиса работает неправильно, не распознает некоторые допустимые конструкции, ключевые слова или встроенные функции/команды.

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

  • Visual Studio (желательно 2010)
  • Затмение / СТС
  • МоноДевелопмент / Xamarin Studio

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

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

  • Комбинация:
    • Инструмент Windows, позволяющий разрабатывать сценарии оболочки Windows.
    • Инструмент Linux, поддерживающий собственные сценарии Linux.
  • Единый кроссплатформенный инструмент
  • Единый не кросс-платформенный инструмент, поддерживающий сценарии как для Linux, так и для Windows, независимо от того, является ли он родным для ОС Linux или Windows.

Ответы (2)

Лучшим вариантом, вероятно, является eclipse плюс подключаемый модуль оболочки . Для Windows вы также можете добавить плагин powershell . Другие IDE могут иметь аналогичные функции, но я больше всего знаком с Eclipse. (Честно говоря, я использую редакторы, а не IDE для 99% своей работы, поэтому мой опыт работы с IDE немного вторичен.)

Для тяжелых текстовых редакторов (Notepad++, vim, emacs) вы никогда не получите действительно хорошего автозаполнения. Это означает, в основном, использование IDE, если это важно для вас. Настоящая сила eclipse заключается в его плагинах, и, вероятно, это то, к чему я бы пошел, если бы мне нужна была IDE.

Честно говоря, по моему собственному опыту, я обычно нахожу, что VIM — это то место, где я получаю большую часть прироста производительности, но это даже близко не соответствует тому, что вы ищете. Судя по вашему вопросу, вы ищете IDE. Для кроссплатформенной работы мой опыт работы с Eclipse и сетью плагинов оказался очень благоприятным.

Альтернативный плагин powershell: PowershellEditor

Обычно я использую операционные системы семейства *nix, поэтому это может не помочь:

Я большой поклонник Sublime Text , и, поскольку он предлагает бесплатную неограниченную пробную версию (Windows, Mac, Linux), вам нечего терять.

Хотя это текстовый редактор, есть плагины, которые очень близки к IDE (я говорю «довольно близко», потому что иногда возникают конфликты между плагинами ).

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

Очень похож на редактор Atom.

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

Надеюсь, это поможет!

Интересно, завершение символа происходит только во время периода оценки, как BBEdit (в остальном это хороший редактор).