为Intellij中的Apache Velocity宏参数启用隐式上下文变量解析

时间:2016-09-28 06:45:48

标签: intellij-idea velocity

在创建Apache Velocity模板时,我发现Intellij隐式上下文变量非常有用。

例如:

#* @vtlvariable name="order" type="com.mycompany.vo.PlacedOrderVO" *#
#* @vtlvariable name="formatHelper" type="com.mycompany.FormatHelper" *#
#* @vtlvariable name="i18n" type="com.mycompany.I18nWriter" *#

但是,我无法想办法为宏变量提供上下文。有谁知道一种方式?

这个问题最初是在这里提出的: https://blog.jetbrains.com/idea/2009/08/enabling-implicit-context-variables-resolution-in-template-files/

Intellij建议创建一个像普通速度变量一样的文件级别定义,但是编辑器没有将接触变量应用于宏变量,我仍然在宏中得到黄色警告。

我还会考虑抑制我在宏中得到的一些警告,但是Intellij没有在宏中提供语句级抑制选项,只是在文件范围内。

感谢。

1 个答案:

答案 0 :(得分:1)

我不知道几年前你问过这个功能是如何工作的,但目前(IntelliJ IDEA 2020.3.1)它似乎正在工作。

void initState() {
super.initState();
  WidgetsBinding.instance.addPostFrameCallback(onLayoutDone);
 }
      void onLayoutDone(Duration timeStamp) async {
    _permissionStatus = await Permission.camera.status;
    if (_permissionStatus.isGranted) {
      setState(() {
        getPerm = true;
      });
    }
  }

  void _askCameraPermission() async {
    await Permission.camera.request();
    if (await Permission.camera.request().isGranted) {
      _permissionStatus = await Permission.camera.status;
      setState(() {
        getPerm = true;
      });
    }
  } 

enter image description here