vim动态生成代码模板
vim to generate code template dynamically
我必须编写包含重复代码的测试用例。
- 方法的名称应该是Class用_分隔的名称 ex:class_name_test
- 对象名称应为 classNameObj,模拟方法应采用 ClassName.class
- genericObj.call语句对所有方法通用
sayHello 应该绑定到 classNameObj,剩下的结果是 common
- commonMethods 对所有对象都是通用的
不是复制粘贴和更改 ClassName 和 classNameObj,我有兴趣使用 Vim 自动执行此操作。是否可以这样做,如果我传递 Class 名称,其余的应该生成吗?
方法模板如下。
@Test
public void stop_video_request_valid_data() throws Throwable {
ClassName classNameObj = mock(ClassName.class);
when(genericObj.call()).thenReturn(new Object[]{classNameObj});
when(classNameObj.sayHello()).thenReturn("Hello");
commonMethods();
}
snippets 就像类固醇的内置 :abbreviate
一样,通常在其中包含参数插入、镜像和多个停止。 snipMate (inspired by the TextMate editor); unfortunately, it's not maintained any more; though there is a fork. A modern alternative (that requires Python though) is UltiSnips. There are more, see this list on the Vim Tips Wiki.
是第一个非常有名(并且仍然被广泛使用)的 Vim 插件
评价三点:一是snippet引擎本身的特点,二是作者或他人提供的snippet的质量和广度;第三,添加新片段是多么容易。
我必须编写包含重复代码的测试用例。
- 方法的名称应该是Class用_分隔的名称 ex:class_name_test
- 对象名称应为 classNameObj,模拟方法应采用 ClassName.class
- genericObj.call语句对所有方法通用 sayHello 应该绑定到 classNameObj,剩下的结果是 common
- commonMethods 对所有对象都是通用的
不是复制粘贴和更改 ClassName 和 classNameObj,我有兴趣使用 Vim 自动执行此操作。是否可以这样做,如果我传递 Class 名称,其余的应该生成吗?
方法模板如下。
@Test
public void stop_video_request_valid_data() throws Throwable {
ClassName classNameObj = mock(ClassName.class);
when(genericObj.call()).thenReturn(new Object[]{classNameObj});
when(classNameObj.sayHello()).thenReturn("Hello");
commonMethods();
}
snippets 就像类固醇的内置 :abbreviate
一样,通常在其中包含参数插入、镜像和多个停止。 snipMate (inspired by the TextMate editor); unfortunately, it's not maintained any more; though there is a fork. A modern alternative (that requires Python though) is UltiSnips. There are more, see this list on the Vim Tips Wiki.
评价三点:一是snippet引擎本身的特点,二是作者或他人提供的snippet的质量和广度;第三,添加新片段是多么容易。