尝试为Flutter设置一个livetemplate,这是这样的:
S.of(context).$END$$lowerCaseName$ $lowerCaseName$":$SELECTION$
其中lowerCaseName是camelCase(String)。但是当我运行它时,我会在$ END $之后得到一个额外的“
例如,如果我在代码中选择“测试字符串”并用实时模板括起来,而不是这样:
String test = S.of(context).TestString TestString":"test string";
我得到这个:
String test = S.of(context)."TestString "TestString":"test string";
有任何想法吗?
最佳答案
问题在于$SELECTION$
值是您选择的整个字符串,包括引号。因此,您必须以某种方式剥离它们。我建议使用groovyScript()
-请参阅https://www.jetbrains.com/help/idea/edit-template-variables-dialog.html,http://bartololeo.blogspot.com/2014/01/idea-12-how-to-write-live-template-with.html。例如,指定为$lowerCaseName$
的表达式的以下函数应该可以执行此操作:
camelCase(groovyScript("_1.replace('\"', '')", SELECTION))