13

Geany 是我能找到的最接近完美 Web 开发 IDE 的东西。但是,我找不到自动关闭大括号( {)的方法。

例如,键入:

function test()
{

..并且按下RETURN应该会导致这种情况发生:

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

有什么可以让 Geany 做到这一点吗?

4

5 回答 5

5

这是 Geany 的原生特性,

转到首选项,然后是完成,在那里您可以选择要自动关闭的选项。

在此处查看屏幕截图

于 2012-10-20T00:42:35.490 回答
1

你做别的东西:如果你愿意,打开https://plugins.geany.org/autoclose.html并查看“自动关闭”插件。您可以安装: sudo apt-get install geany-plugins-autoclose 就可以了

于 2018-10-07T11:50:27.570 回答
0

这不是您问题的完整答案,但可能会有所帮助。

我的 Geany 不是英文的,我自己翻译菜单的字段。

Geany 有一个特点:当你输入特殊文本并按下Tab时,文本将被另一个文本替换。

默认情况下,它适用于ifelseforwhile、和。doswitchtry

此功能的配置在[Tools]/[Config files]/[snippets.conf].
进行一些更改后,保存文件并单击[Tools]/[Reload configuration]

我在 C++ 部分添加了两行:

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

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

它不会让你按下{ Enter{ Tab获取

{
    //cursor
}

因为{=anything被忽略了,我不知道为什么。

你可以做什么?您可以使用 替换一些其他文本{\n\t%cursor%\n},或者定义插入它的键绑定。

于 2014-08-31T21:33:03.797 回答
0

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 

勾选自动关闭引号和括号,然后单击应用并保存在此处输入图像描述

于 2015-07-15T08:52:09.670 回答
0

如果我们将括号放在另一对括号内,则自动关闭不起作用。例如,内支架不会自动关闭。{{|}

但是,我们可以使用以下代码段来创建一个块。

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

但是为了使用这个片段,我们首先必须在我们的wordchars集中包含 ' { ' char,方法是更改​​ snippets.conf 文件中的以下行。

wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789{
于 2021-08-26T01:00:11.857 回答