【问题标题】:Is there an auto-close curly brackets plugin for the Geany IDE?Geany IDE 是否有自动关闭花括号插件?
【发布时间】:2012-10-07 04:15:46
【问题描述】:

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

例如,输入:

function test()
{

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

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

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

【问题讨论】:

    标签: geany curly-brackets auto-close


    【解决方案1】:

    这是 Geany 的原生功能,

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

    Check here for screenshots

    【讨论】:

    • 我已经意识到这一点。但是,它不适用于 Windows 平台。相信我,我已经试过了。
    • 那你提交bug了吗?提交错误,如果他们不提供补丁,他们可能至少会给您一个解决方法,抱歉我没有提供帮助。
    • 这在很长一段时间内都已为人所知且未修复。唯一的解决方法是让某人制作一个插件,这就是我发表这篇文章的原因。
    • 这样我得到{\n\t%cursor%}。我想得到{\n\t%cursor%\n},我该怎么做?
    【解决方案2】:

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

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

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

    默认情况下它适用于ifelseforwhiledoswitchtry

    此功能的配置位于[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}替换,或者定义插入它的键绑定。

    【讨论】:

      【解决方案3】:

      Geany 可以有用户定义的 sn-ps。可以从菜单中打开 sn-p 配置文件。

      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 不接受当 sn-p 是一个非字母字符时。 它适用于像这样的任何其他字母字符

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

      但是我不认为这是你想要的。您可以从 geanys 菜单中找到真正的解决方案。

       Edit
            ->Preferences
                          ->Editor
                                  ->Completions 
      

      勾选自动关闭引号和括号,然后点击应用并保存

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          【解决方案5】:

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

          但是,我们可以使用下面的sn-p来创建一个block。

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

          但是为了使用这个 sn-p,我们首先必须通过更改 sn-ps 中的以下行来将 '{' char 包含在我们的 wordchars 集中。 conf文件。

          wordchars=_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789{
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-01-18
            • 2021-09-17
            • 2012-09-21
            • 2012-02-16
            • 2021-07-26
            • 1970-01-01
            相关资源
            最近更新 更多