【问题标题】:Does vscode have a plugin that can recognize jinja variable in javascript?vscode 有可以识别 javascript 中的 jinja 变量的插件吗?
【发布时间】:2019-04-23 19:32:11
【问题描述】:

类似这样的问题: Javascript is not recognizing a Flask variable

当我在 vscode 中输入this 之类的内容时,

<script type="text/javascript">
    var x ={{ data }};
</script>

它总是会像this一样重新格式化

<script type="text/javascript">
    var x = {
        {
            data
        }
    };
</script>

不再是 Jinja 变量,并且不能真正在 js 中工作。
那么,vscode中有没有这样的插件可以解决这个问题呢?

【问题讨论】:

  • 未测试,所以不确定,但是:github.com/wholroyd/vscode-jinja
  • 谢谢,但它没有帮助。有没有可能在 type="text/javascript" 上尝试一些东西?喜欢将
  • 我认为,解决此问题的一种方法是,您可以将 {{ data }} 变量放入字符串 "{{ data }}",然后在需要时对其进行解析。一旦被引用,VSCode 不会改变它。
  • 谢谢,这是一个不错的尝试,但仍然存在问题:它将变量转换为字符串类型。
  • 正如我在之前的评论中所说,如果它是一个数字,您希望将其存储为变量,您需要执行parseInt("{{ data }}"); 之类的操作,将其从字符串转换为数字。您必须将其解析为您要使用的数据类型。

标签: javascript visual-studio-code jinja2


【解决方案1】:

这里的问题在于 VSCode,尤其是语法高亮和格式扩展。

您启用的某些扩展之间存在一些冲突,这些扩展在保存时以上述方式格式化 JavaScript 代码。

  1. 在 VSCode 中禁用所有启用的格式化扩展

  2. 我只激活了以下:

    • Python
    • Jayamanne 的 Python 扩展包
    • Samuel Colvin 的《Better Jinja》

这种保存语法的方式不再被分解,使 JavaScript 正确识别您的 {{ data }}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多