Есть ли плагин с автоматическим закрытием фигурных скобок для Geany IDE?

Geany - это самая близкая вещь, которую я могу найти в идеальной среде разработки веб-разработки. Однако я не могу найти способ автоматического закрытия фигурных скобок ({).

Например, введите:

function test()
{

.. и нажатие RETURN должно привести к тому, что это произойдет:

function test()
{
    // cursor ends up here (indented by 1 tab)
}

Есть ли что-нибудь, что может заставить Geany сделать это?

Ответ 1

Это родная особенность Geany,

Перейдите в раздел "Настройки", затем "Завершения", там вы можете выбрать, какой из них вы хотите закрыть.

Отметьте здесь скриншоты

Ответ 2

Кто-то, кажется, пытается http://pastebin.com/T5KNSMgJ. Возможно, вам следует отправить письмо автору этого pastebin (письмо находится в заголовке)

Ответ 3

Это не полный ответ на ваш вопрос, но может быть полезным.

У меня Geany нет на английском, я делаю переводы полей меню самостоятельно.

Geany имеет функцию: при вводе специального текста и нажатии Tab текст будет заменен другим текстом.

Он работает по умолчанию для if, else, for, while, do, switch и try.

Конфигурация этой функции находится в [Tools]/[Config files]/[snippets.conf].
После выполнения некоторых изменений сохраните файл и нажмите [Tools]/[Reload configuration].

Я добавил две строки в раздел С++:

class=class %cursor%%block%;\n
struct=struct %cursor%%block%;\n

С block=\s{\n\t%cursor%\n}

Он не позволяет вам нажать { Enter или { Tab, чтобы получить

{
    //cursor
}

потому что {=anything игнорируется, я не знаю почему.

Что вы можете сделать? Вы можете получить какой-то другой текст, заменив его с помощью {\n\t%cursor%\n} или определив привязку к нему.

Ответ 4

Geany может иметь определенные пользователем фрагменты. В меню можно открыть файл конфигурации фрагмента.

Tools ->
        Configuration files ->
                               snippets.conf

Перейдите в языковой блок, где вы хотите добавить эту функцию. Например:

  [C]
  if=if (%cursor%)%block_cursor%
  else=else%block_cursor%
  for=for (i = 0; i < %cursor%; i++)%block_cursor%
  while=while (%cursor%)%block_cursor%
  do=do\n{\n\t%cursor%\n} while (%cursor%)\n%cursor%
  switch=switch (%cursor%)%brace_open%case %cursor%:\n\t\t%cursor%\n\t\tbreak;\n\tdefault:\n\t\t%cursor%\n%brace_close%%cursor%

Сначала можно считать, что проблему можно устранить только с добавлением этой строки

 {=%\n{\n\t%cursor%\n}%

Но Geany не признает, что, когда фрагмент является одним несимметричным символом. Он будет работать для любого другого алфавитного символа, подобного этому

 b=%\n{\n\t%cursor%\n}% or  bl=%\n{\n\t%cursor%\n}%

Однако я не думаю, что это то, что вы хотите. Реальное решение, которое вы можете найти в меню geanys.

 Edit
      ->Preferences
                    ->Editor
                            ->Completions 

Отметьте кавычки и скобки "Автозакрытие", затем нажмите "Применить" и сохраните enter image description here