V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
simadad
V2EX  ›  问与答

pycharm2020.2.3 无法在 Django 模板页中使用 vue 自动补全

  •  
  •   simadad · 2020-11-10 22:28:29 +08:00 · 1067 次点击
    这是一个创建于 1481 天前的主题,其中的信息可能已经有所发展或是发生改变。

    问题描述

    macOS 10.15.7 上使用 pycharm 2020.2.3 版编辑器编写 Django 项目,在项目模板页中使用 vue 来管理部分前端代码(非完整vue页面)。结果,编辑器的 vue 代码补全功能仅在添加了 vue 脚本文件的 base.html 页面中有用,使用 {% extends %} 扩展 base.html 后的 page.html 页面无代码补全。

    而,同样的代码,在 win10 上使用 pycharm 2019.1 版编辑器,均能正确补全。

    相关代码

    • base.html

    此页面作为基础模版页面,用 script 标签引入了 vuevue 自动补全在此页面有效

    <html>
    ...
    <!-- 代码有 vue 自动补全 -->
    <input v-model='data'>
    ...
    <script src="https://cdn.jsdelivr.net/npm/vue.js"></script>
    </html>
    
    • page.html

    此页面使用 {% extends %} 标签,扩展至 base.html 基础页面,疑似因页面中无显式地用 script 标签调用 vue 文件,所以该页面无法自动补全 vue 代码。

    {% extends "base.html" %}
    <!-- 代码无 vue 自动补全 -->
    <input v-model='data'>
    

    问题出现的平台版本

    *|无自动补全|有自动补全 -|-|- 操作系统| macOS 10/15/7 | win10 pycharm版本| 2020.2.3 | 2019.1

    Pycharm 相关设置

    vue.js 插件

    ✅ 项目-项目结构标记 templates 为模板文件夹

    ✅ 项目-项目结构标记项目根目录

    ✅ 语言和框架-Django 项目根、settings.py、管理脚本

    ✅ 语言好框架-模板语言: Django-模板类型: html 文件

    ✅ 项目文件包含 vue.vue 文件

    ✅ 项目根文件包含 package.json 文件

    其余症状

    有添加 vue 外部引入“线上”脚本 <script src="https://cdn.jsdelivr.net/npm/vue.js"></script> 的页面有提示,没有添加,或者添加“本地脚本”的页面,就没有提示。

    看起来像是无法识别整个项目,只能识别单个文件?

    SO Why?

    有没有大神知道为什么会这样?是不是系统或者软件版本的问题?该怎么解决呢?

    2 条回复    2020-11-11 11:44:55 +08:00
    mokeyjay
        1
    mokeyjay  
       2020-11-10 22:48:43 +08:00
    尝试一下备份当前版本的配置信息,然后把 2019 的配置导出、导入到当前版本的 pycharm 呢?
    simadad
        2
    simadad  
    OP
       2020-11-11 11:44:55 +08:00
    @mokeyjay 试了,还是不行。太恶心了,现在只能在每个模版也都加一行 `<script>` 标签引入 `vue.js`,才能有提示,调试前又得把这行先注释掉。而且还没法正常识别、跳转变量申明。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2717 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 661ms · UTC 08:58 · PVG 16:58 · LAX 00:58 · JFK 03:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.