【问题标题】:Generate getters and setters using UltiSnip in Vim在 Vim 中使用 UltiSnip 生成 getter 和 setter
【发布时间】:2015-11-10 04:33:35
【问题描述】:

我想创建一个与Github README 中使用的代码相似的 UltiSnip 代码。

我知道它涉及 python 插值,我发现很难编写自己的解释。他们的documenation 很好地列出了 UltiSnip 可以做什么,但仍然很难得到我想要做的事情。

我想自动生成公共方法来获取和设置实例变量,比如我输入this...

class Foo()
{
     int x;
     double y;
     ...

UltiSnip 应该添加这部分...

     public void setX(int _x)
     {
          this.x = _x;
     }

     public int getX()
     {
          return this.x;
     }

     public void setY(double _y)
     {
          this.y = _y;
     }

     public double getY()
     {
          return this.y;
     }
}

【问题讨论】:

    标签: java python vim getter-setter ultisnips


    【解决方案1】:

    lh-refactor 为 Java 和其他一些语言提供了生成 getter/setter 重构方法。

    命名约定可以独立于内部使用的 sn-ps 进行调整。

    【讨论】:

      【解决方案2】:

      这不是 UltiSnips(和其他 sn-ps 插件)的意义所在。您确实可以轻松编写 settergetter sn-ps 扩展为相应的函数,并为属性名称和类型使用占位符。但是仅仅从当前定义的内容中为一个类定义 all getter 和 setter 太过分了。您需要一个(基本的)语言解析器,并且可能还想实现属性添加/属性类型或名称更改。

      我知道大多数 IDE 都提供了开箱即用的此类功能,但它们是针对非常有限的一组编程语言的专用工具,而不是像 Vim 这样的通用文本编辑器。如果您真的喜欢这个功能,只需使用您选择的 IDE,同时使用 Vim 编辑相同的源代码文件。或者使用上面提到的更简单的 sn-ps 并接受更多的输入。

      【讨论】:

        【解决方案3】:

        您好,我在此处发布带有符号 ` 的代码时遇到问题 然后我使用了github:github.com/robertbnd/notes/blob/master/stack

        只有你需要写“int x”并按下你在sn-ps中选择的键 我的情况是:让 g:UltiSnipsExpandTrigger="`" 你可以个性化它

        【讨论】:

          【解决方案4】:

          为此使用 eclim。只需选择具有可视模式的属性,然后 :JavaGetSet :)

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2014-09-03
            • 1970-01-01
            • 1970-01-01
            • 2014-01-31
            • 2012-08-01
            • 2020-05-19
            • 1970-01-01
            • 2015-05-18
            相关资源
            最近更新 更多