Xtend:向模板添加缩进
Xtend: add indentation to template
我想创建一个缩进 4 个空格的模板,如下所示:
def myMethod() '''
for (int i =0; i!= size; ++i) {
doSomething();
}
'''
但 Xtend 删除了 for() 和结束 '}' 之前的 4 个空格。如何添加未删除的缩进?
我遇到过类似的问题,Xtend 的模板系统可能很挑剔,但有解决方法。当使用类似于您展示的方法时,我通常发现我从模板的另一部分调用它,您可以在调用方法中创建缩进。例如:
def callingMethod() {'''
for (1 to 10) {
«myMethod()» ««« This puts indents before everything within the method
}
'''}
def myMethod() {'''
for (int i =0; i!= size; ++i) {
doSomething();
}
'''}
另一种选择是在模板中明确添加空格,例如:
def myMethod() {'''
«" "»for (int i =0; i!= size; ++i) {
«" "» doSomething();
«" "»}
'''}
或者我刚才发现的另一种方式
def myMethod() {'''
«""»
for (int i =0; i!= size; ++i) {
doSomething();
}
«""»
'''}
我个人认为第一种方式尽可能简洁。可能还有其他方法可以实现这一点,这些只是我在自己的工作中发现的一些东西。
我想创建一个缩进 4 个空格的模板,如下所示:
def myMethod() '''
for (int i =0; i!= size; ++i) {
doSomething();
}
'''
但 Xtend 删除了 for() 和结束 '}' 之前的 4 个空格。如何添加未删除的缩进?
我遇到过类似的问题,Xtend 的模板系统可能很挑剔,但有解决方法。当使用类似于您展示的方法时,我通常发现我从模板的另一部分调用它,您可以在调用方法中创建缩进。例如:
def callingMethod() {'''
for (1 to 10) {
«myMethod()» ««« This puts indents before everything within the method
}
'''}
def myMethod() {'''
for (int i =0; i!= size; ++i) {
doSomething();
}
'''}
另一种选择是在模板中明确添加空格,例如:
def myMethod() {'''
«" "»for (int i =0; i!= size; ++i) {
«" "» doSomething();
«" "»}
'''}
或者我刚才发现的另一种方式
def myMethod() {'''
«""»
for (int i =0; i!= size; ++i) {
doSomething();
}
«""»
'''}
我个人认为第一种方式尽可能简洁。可能还有其他方法可以实现这一点,这些只是我在自己的工作中发现的一些东西。