2

我想创建一个 UltiSnip 代码,其中类似于他们的Github README中使用的代码。

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

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

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;
     }
}
4

4 回答 4

0

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

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

于 2015-11-22T23:59:16.403 回答
0

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

于 2016-12-04T04:29:46.720 回答
0

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

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

于 2015-11-10T08:28:15.483 回答
0

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

命名约定可以独立于内部使用的片段进行调整。

于 2015-11-10T08:27:15.233 回答