PyCharm 2025.1 Help

Vue.js

Vue.js 是用于开发用户界面和高级单页应用程序的框架。 PyCharm 为 Vue.js 的 HTML、CSS 和 JavaScript 构建模块提供支持,具备 Vue.js 感知的组件 代码补全 ,包括在单独文件中定义的组件、属性、属性、方法、插槽名称等。

借助内置调试器,您可以直接在 PyCharm 中调试您的 Vue.js 代码,它可以自动生成您所需的必要运行/调试配置:一个在开发模式下启动开发服务器并启动您的应用程序的 npm configuration 和一个启动调试会话的 JavaScript Debug 配置。

开始之前

  1. 请确保您的计算机上安装了 Node.js。

  2. 请确保在您的项目中配置了本地 Node.js 解释器:打开 设置 对话框(Ctrl+Alt+S ),然后转到 语言和框架 | Node.js。 Node 解释器(I) 字段显示默认项目 Node.js 解释器。 了解更多信息,请参阅 配置本地 Node.js 解释器。

  3. 确保 JavaScript and TypeScript、 JavaScript Debugger 和 Vue.js 必需插件在 设置 | 插件 页面和 已安装 选项卡上启用。 如需更多信息,请参阅 管理插件。

创建一个新的 Vue.js 应用程序

创建新的 Vue.js 应用的推荐方式是使用 create-vue 官方 Vue 项目脚手架工具,PyCharm 会使用 npx 为您下载并运行。

您仍然可以使用 Vue CLI ,如果您选择此选项,PyCharm 还会下载并运行它 npx。

当然,您可以自己下载其中任何一个工具或创建一个空的 PyCharm 项目,并使用 Vue.js 和其他工具(例如 Vite、 babel、 webpack、 ESLint 等)进行引导。

  1. 点击 创建新项目 屏幕上的 欢迎 或从主菜单中选择 文件 | 新建 | 项目。 新建 项目 对话框打开。

  2. 在左侧窗格中,选择 Vue.js。

  3. 在右侧窗格中:

    • 指定存储项目相关文件的文件夹路径。

    • 在 Node Interpreter 字段中,指定要使用的 Node.js 解释器。 从列表中选择一个已配置的解释器或选择 添加 配置一个新的解释器。

    • 从 Vue CLI 列表中选择 npx create-vue (推荐)或 npx --package @vue/cli vue。

      或者,对于 npm 版本 5.1 及更早版本,通过在命令行 shell 或 终端 Alt+F12 中运行 npm install --g create-vue 或 npm install --g @vue/cli 自行安装该包。 创建应用时,选择存储包的文件夹。

    • 要利用 babel 和 ESLint 启动您的应用程序,请选中 使用默认项目设置 复选框。

  4. 当您点击 创建 时,PyCharm 会生成一个特定于 Vue.js 的项目,包含所有必需的配置文件并下载所需的依赖。 您可以在 运行 工具窗口中查看进度。

创建一个空的 PyCharm 项目

  1. 点击 创建新项目 屏幕上的 欢迎 或从主菜单中选择 文件 | 新建 | 项目。 新建 项目 对话框打开。

  2. 在左侧窗格中,选择 空的 项目。

  3. 指定存储项目相关文件的文件夹路径。

  4. 当您点击 创建 时,PyCharm 会创建并打开一个 空 项目。

在空项目中安装 Vue.js

  1. 打开您将使用 Vue.js 的空项目。

  2. 在嵌入的 终端 (Alt+F12 )中,输入:

    npm install vue

从现有的 Vue.js 应用程序开始

要继续开发现有的 Vue.js 应用程序,请在 PyCharm 中打开它并下载所需的依赖项。

打开您机器上已有的应用程序源代码

  • 点击 打开 屏幕上的 欢迎 或从主菜单中选择 文件 | 打开。 在打开的对话框中,选择存储源文件的文件夹。

从您的版本控制中检出应用程序源代码

  1. 请在 克隆仓库 屏幕上的 欢迎 处点击。

    或者,从主菜单中选择 文件|新建| 来自版本控制的项目…、 Git | 克隆… 或 VCS | 从版本控制系统获取。

    您可能会看到与您的项目相关联的其他版本控制系统,而不是在主菜单中的 Git。 例如, Mercurial 或 Perforce。

  2. 在打开的对话框中,从列表中选择您的版本控制系统,并指定要从中检出的应用程序源代码的存储库。 如需了解更多信息,请参见 Check out a project (clone)。

下载依赖项

  • 请点击 运行 'npm install' 或 运行 'yarn install' 在弹出窗口中:

    打开应用并下载依赖项

    您可以使用 npm、 Yarn 1 或 Yarn 2 ,详情请参阅 npm 和 Yarn。

  • 或者,从编辑器中或 项目 工具窗口 Alt+1 的上下文菜单中选择 运行 'npm install' 或 运行 'yarn install'。

项目安全性

当您打开一个在 PyCharm 之外创建并导入到 PyCharm 的项目时,PyCharm 会显示一个对话框,您可以在其中决定如何处理这个具有不熟悉源代码的项目。

不受信任的项目警告

请选择以下选项之一:

  • 安全模式中预览 :在这种情况下,PyCharm 以预览模式打开项目。 这意味着您可以浏览项目的源代码,但不能运行任务和脚本或运行/调试您的项目。

    PyCharm 会在编辑器区域顶部显示一条通知,您可以随时点击 信任项目… 链接并加载您的项目。

  • 信任项目 :在这种情况下,PyCharm 会打开并加载一个项目。 这意味着项目已经初始化,项目的插件已解析,依赖项已添加,并且所有 PyCharm 功能都可用。

  • 请勿打开 :在这种情况下,PyCharm 不会打开项目。

请从 项目安全 了解更多。

编写和编辑代码

在 .fasterxml 文件中,PyCharm 识别 script、 style 和 template 块。 您可以在 script 标签中使用 JavaScript 和 TypeScript,在 style 标签中使用样式表语言,并在 template 标签中使用 HTML 和 Pug。

当您在 script 标签内使用 TypeScript 时,PyCharm 会调用 TypeScript Language Service 进行类型检查,并在 错误 和 编译错误 选项卡的 TypeScript 工具窗口中显示检测到的错误。 或者,您可以按照 在 Vue.js 组件中使用 TSLint 进行 TypeScript Linting中的描述使用 TsLint

Vue.js 组件

PyCharm 能识别 .fasterxml 文件类型,并提供用于 Vue.js 组件的专用 .fasterxml 文件模板。

创建一个 Vue.js 组件

  • 在 项目 工具窗口 Alt+1 中,选择新组件的父文件夹,然后从列表中选择 Vue 组件。

    创建一个 Vue.js 组件

您还可以通过使用专门的意图动作或重构,从现有的 Vue.js 组件中提取出一个新的组件,而无需进行任何复制和粘贴。 所有在新提取的模板中使用的数据和方法都保留在父组件中。 PyCharm 将它们连同属性一起传递给新组件,并复制相关样式。

提取组件

  1. 选择要提取的模板片段并调用组件提取:

    • 要使用意图操作,请按 Alt+Enter ,然后从列表中选择 提取 Vue 组件。

    • 要使用重构功能,请从主菜单或选择的上下文菜单中选择 重构 | 提取 | 提取 Vue 组件。

  2. 请输入新组件的名称。 如果此名称已被使用或无效,PyCharm 会显示警告。 否则,将创建一个新的单文件组件,并将其导入到父组件中。

    ws_extract_vue_component.png

代码补全

在 script、style 和 template 块中完成代码

  • 默认情况下,PyCharm 会为 script 块中的 ECMAScript 6 提供代码补全,为 style 块中的 CSS 提供代码补全。

    Vue.js:在<script>标签内的 ES6 补全
  • 在 template 标签内,代码补全 Ctrl+Space 和导航到定义 Ctrl+B 适用于 Vue.js 组件和属性。

    Vue.js:模板标签内部的代码补全

完整的 Vue.js 属性和方法

  • PyCharm 还会建议 Vue.js 属性、 data object 中的属性、计算属性和方法的补全。

    Vue.js:插值完成

完整插槽名称

  • PyCharm 提供了来自库组件和您项目中定义的组件的 slots名称的补全。

    如果您的项目包含带有命名插槽的组件,PyCharm 会在 v-slot 指令中的 template 标签中显示这些名称的建议。

  • 如果您正在使用 Vuetify、 Quasar 或 BootstrapVue ,插槽名称的代码补全也是可用的。

完成在不同文件中定义的组件

  • 如果一个 组件在多个文件中定义 ,PyCharm 会识别组件各部分之间的链接,并为属性、数据和方法提供正确的代码补全。

    例如,如果您的组件部分定义在单独的 JavaScript 和样式表文件中,并通过 vue 文件中的 src 属性进行链接,那么 JavaScript 中定义的属性将在模板中像方法一样正确完成。

  • 组件的 template 属性中的模板字符中的模板字面量会获得自动补全,就像这段代码在 template 标签内一样。

    如果模板在单独的 HTML 文件中定义, 然后链接到 template 属性, 也可以使用代码补全功能。

在 Vue.js 注入中完成代码

在 HTML 文件中的 Vue.js 注入中,PyCharm 识别 Vue.js 语法并相应地高亮显示您的代码。 您还可以为从 HTML 文件中的 CDN 链接的 Vue.js 库中的符号获取补全,而无需将这些库添加到您的项目依赖项中。

下载通过 CDN 连接的库
  1. 打开包含指向外部 Vue.js 库的 CDN 链接的 HTML 文件。 PyCharm 突出了该链接。

  2. 要启用库的代码补全功能,请按 Alt+Enter 上的链接,然后从列表中选择 下载库。 或者,悬停在链接上并点击 下载库。

该库已添加到 设置 | 语言与框架 | JavaScript | 库 页面上的 JavaScript 库列表中。 有关更多信息,请参阅 配置通过 CDN 链接添加的库。

云补全

PyCharm 提供 云补全 ,用于插槽、 props 、导入语句、模板中的标签等。

由 AI Assistant 驱动的云补全可以基于项目上下文实时自动补全单行代码、代码块,甚至整个函数。

云补全会根据上下文建议语法上可接受的解决方案,并提前运行各种 代码检查 ,以排除会导致错误的选项。

  • 插槽

  • setup 函数

  • props 的定义

  • Vue 数据绑定中的属性

    Vue 数据绑定中的云补全
  • 组件属性

    组件属性的云补全

启用云补全

  1. 安装并启用 AI Assistant 插件。

  2. 按 Ctrl+Alt+S 打开设置并选择 编辑器 | 常规 | 内嵌补全。

  3. 请选择 Enable cloud completion suggestions 复选框。 并选择 通用补全 复选框。

    启用云补全

形参提示

参数提示 显示方法和函数中的参数名称,以使您的代码更易读。

配置参数提示

  1. 打开 设置 对话框(Ctrl+Alt+S ),然后转到 编辑器 | 内联提示。

  2. 展开 Vue 下的 参数名称。

  3. 通过选择相应的复选框指定您希望显示参数提示的上下文。

    预览显示了您在设置中所做的更改如何影响代码外观。

  4. 对于某些方法和函数,PyCharm 在任何情况下都不会显示参数提示。 请点击 排除列表… 查看这些方法和函数,可能启用参数提示,或者向列表中添加新项目。

  5. 要隐藏任意上下文中任意值类型的参数提示,请取消选中 Vue 模板 复选框下的 参数名称。

使用组件导航

使用内嵌提示从组件跳转到其用法。 如果一个组件被多次使用,PyCharm 会显示检测到的使用情况列表。 选择相关用法以跳转。

显示组件用途

显示组件用法 提示默认显示。 要将其关闭,请按 Ctrl+Alt+S 打开设置并选择 编辑器 | 内联提示。 然后取消选中 组件用法 复选框 代码视图。

或者,右键点击编辑器中的 显示组件用法 提示,然后选择 隐藏“Code Vision: Component usages”内嵌提示。

关闭编辑器中的 Component 用法

Vue.js 实时模板

借助 PyCharm,您可以使用 Sarah Drasner 创建的 模板集 中改编的 Vue.js 实时模板集。

  1. 请输入要使用的模板缩写,或按 Ctrl+J 并从可用模板列表中选择。

  2. 要展开模板,请按 Tab。

  3. 在模板内从一个变量移动到另一个变量时,请再次按 Tab。

    Vue.js 代码片段(动态模板)

在 Vue.js 应用中使用 Nuxt.js

通过 PyCharm,您可以在 Vue.js 应用程序中使用 Nuxt.js 框架。 在 PyCharm 中设置 Nuxt.js 应用的推荐方法是 使用 create-nuxt-app 命令。 或者,您可以 在现有的 项目 中安装 Nuxt.js。

使用 create-nuxt-app 创建项目

  1. 创建一个空的 PyCharm 项目。

    1. 点击 创建新项目 屏幕上的 欢迎 或从主菜单中选择 文件 | 新建 | 项目。 新建 项目 对话框打开。

    2. 在左侧窗格中选择 空的 项目。 在右侧窗格中,指定应用程序文件夹,然后点击 创建。

  2. 打开嵌入的 终端 (Alt+F12 ),然后输入:

    npx create-nuxt-app <project name>

    或

    yarn create nuxt-app <project name>

  3. 向导会问您一些问题。 在您回答完这些问题后,会在当前文件夹中初始化一个 Nuxt 项目,您可以在 PyCharm 中使用它。

请从 Nuxt.js 官网了解更多信息。

在现有项目中安装 Nuxt.js

  • 打开嵌入的 终端 (Alt+F12 ),然后输入:

    npm install --save nuxt

安装 @nuxt/types 包

使用 @nuxt/types 软件包,您可以获得更好的代码补全。

  • 如果您使用的是 Nuxt.js 版本 2.9.0 及以上版本,并且没有安装 @nuxt/types 包,PyCharm 将通知您并建议将其作为开发依赖安装。 点击通知弹出窗口中的 将 @nuxt/types 作为开发依赖安装 链接。

    关于缺少 @nuxt/types 的通知

    如果您关闭弹出窗口,仍然可以通过点击 @nuxt/types 工具窗口中的 将 @nuxt/types 作为开发依赖安装 链接 (事件日志) 来安装 查看 | 工具窗口 | 事件日志。

  • 或者,打开嵌入的 终端 (Alt+F12 ),然后输入:

    npm install --save-dev @nuxt/types

Nuxt.js 智能编码辅助

PyCharm 提供代码补全并显示所有 核心 Nuxt.js 组件的 快速文档。

Nuxt 组件的补全和快速文档

PyCharm 解析对 Vuex store 的引用,并为其提供高亮和补全功能。

Vuex store 的代码补全

PyCharm 会解析以 静态 格式存储在 <img src='/logo.png/> 文件夹中的 assets 的所有引用。

编辑 nuxt.config.js

PyCharm 为 nuxt.config.js 配置文件提供了适当的补全建议。

在 nuxt.config.js 中的代码补全

将鼠标悬停时,您还会看到文档弹出窗口,显示文件中使用的 Nuxt 选项的类型信息。

在 nuxt.config.js 中快速文档弹窗

模块解析

PyCharm 支持 Nuxt.js 专用的 webpack 设置。 从 Nuxt.js 2.12.0 开始,PyCharm 会自动查找 webpack.config.js 配置文件,并使用其中的模块解析规则来提供编码支持。

关于使用 webpack.config.js 进行模块解析和代码补全的通知

Vue.js 应用中的 TypeScript

如果您的 Vue.js 项目是用 TypeScript 编写的,您需要选择服务来获取对 .ts 和 .fasterxml 文件的编码支持。 这可以是 PyCharm 与 TypeScript Language Service的集成,或 Vue Language Server (Volar) ,或 PyCharm 内部解析器和代码检查,或上述的组合。

默认情况下使用 Vue Language Server (Volar),但您始终可以切换到经典的 TypeScript Language Service。

  1. 在 设置 对话框 (Ctrl+Alt+S) 中,前往 语言与框架 | TypeScript | Vue。

  2. 在 Vue 语言服务器 字段中,指定要使用的 Vue Language Server 版本。

    • 接受建议的默认版本。

    • 如果您安装了另一个版本的 @vue/language-server 包,则该版本会出现在列表中。 您可以选择它或接受默认版本。

      选择自定义 Vue Language Server
    • 或者,点击 选择 或 "浏览" 按钮 并指定一个自定义 @vue/language-server 包的路径。

  3. 指定要使用的服务。

    • 默认情况下,选择 自动 选项,这意味着默认使用 Vue Language Server (Volar)。

    • 选择 经典 TypeScript 服务 始终在 .ts 和 .fasterxml 文件中使用 TypeScript Language Service。

      请注意,TypeScript Language Service 不支持 TypeScript 5.0.0 及以后版本。 因此,如果您的项目使用其中一个版本,通过 PyCharm 内部代码检查将提供错误高亮显示。

    • 选择 已禁用 关闭 TypeScript Language Service 和 Vue Language Server,并获得 PyCharm 的内部支持编码帮助。

  4. 选择 使用来自服务器的类型 复选框,以根据 Vue Language Server 的数据评估符号的类型。

    默认情况下,复选框是清除的,因此类型评估、解析、代码检查和重构基于 PyCharm 内部 TypeScript 引擎的类型信息。

    此默认行为可能会导致性能问题以及类型解析中的错误,因为 PyCharm 内部 TypeScript 引擎使用的类型评估算法与 Vue Language Server 的算法不同。 选择复选框可能有助于避免这些问题。

在 Vue.js 应用中的格式化

配置缩进

默认情况下,顶级标签内的代码会以 Vue.js 特有的风格进行统一缩进。 您可以将此缩进配置为依赖于所使用的语言,例如,特定于 HTML 或 Pug。

  1. 在 设置 对话框(Ctrl+Alt+S )中,转到 编辑器(E) | 代码样式 | Vue 模板 ,并打开 制表符和缩进 选项卡。

  2. 默认情况下,所有顶级标签的内容都会以特定于 Vue.js 的风格统一缩进。 接受默认的缩进设置或使用页面上的控件自定义它们。 当您更改设置时,右窗格中的 预览 会显示这些更改如何影响代码格式。

    要使顶级标签内的代码根据其语言缩进,请选择 特定于块中的语言。

  3. 在 缩进顶级选项卡的子选项卡 字段中,指定代码应有初始缩进的顶级标签。

    默认情况下,只有在 template 选项卡内的代码具有初始缩进。 如有必要,使用逗号作为分隔符添加其他选项卡。 例如,如果您在字段中指定 script ,则所有 script 选项卡内的代码会如 预览 面板所示获得初始缩进。

配置 spaces

  1. 默认情况下,PyCharm 会在大括号的开头 ({) 和结尾 (}) 之间自动插入空格,适用于 使用 Mustache 语法的 Vue.js 文本插值。

    要禁止自动插入空格,请打开 设置 对话框(Ctrl+Alt+S ),转到 Editor | Code Style | Vue Template ,然后打开 空格 选项卡并清除 插值 复选框。

  2. 默认情况下,当您在块注释中封闭一个代码片段时,文本会在打开 /* 字符后立即开始,没有任何空格。 在关闭 */ 字符前都没有插入空格。

    这种默认的代码样式可能与一些代码检查工具的规则发生冲突,例如,ESLint。 要优化代码风格,请配置起始和结束区块注释中的前后空格。

    在 设置 对话框(Ctrl+Alt+S )中,请转到 编辑器(E) | 代码样式 | JavaScript 或 编辑器(E) | 代码样式 | TypeScript ,打开 代码生成 选项卡,并在 注释 区域配置空格和格式。

配置换行和大括号

  1. 在 设置 对话框(Ctrl+Alt+S )中,转到 Editor | Code Style | Vue Template ,并打开 包装和大括号 选项卡。

  2. 如果一个 Vue.js 插值内的 JavaScript 表达式 有换行符,PyCharm 将自动从新的一行开始此 JavaScript 表达式,并在其后添加新的一行。

    清除 在 '{{' 后换行 和 '}}' 前新起一行 复选框以改变此默认行为。

  3. 按照 Vue.js 代码风格:视觉指南中的描述配置多个右边距。

  4. 在 换行选项 中配置插值换行。

使用 Prettier 格式化 Vue.js 代码

您可以配置 Prettier 以在每次更改特定文件并自动或手动保存更改时重新格式化这些文件。请参阅 Run Prettier automatically on save。

此外,Prettier 可以为特定文件 设置为默认格式化程序。 每次您用 Ctrl+Alt+L 重新格式化代码时,它都会运行这些文件。

有关更多信息,请参见 使用 Prettier 重新格式化代码。

使用 Prettier 重新格式化代码

  • 在编辑器中,选择要重新格式化的代码片段。 要重新格式化文件或文件夹,请在 项目 工具窗口 Alt+1 中选择它。 然后从上下文菜单中选择 使用 Prettier 重新格式化。

  • 要自动对特定文件运行 Prettier,请打开 设置 对话框(Ctrl+Alt+S ),转到 语言与框架 | JavaScript | Prettier ,并使用 代码重新格式化 和 在保存时 复选框指定将触发 Prettier 的操作。

    如需更多信息,请参阅 Run Prettier automatically on save和 Set Prettier as default formatter。

PyCharm 可以将 Prettier 配置中的关键代码样式规则应用于 PyCharm 代码样式设置,以便生成的代码(例如,在重构或快速修复后)和已经使用 Prettier 处理的代码格式保持一致。

应用 Prettier 代码样式规则

  • 在启用了 Prettier 的项目中,打开 package.json 并点击选项卡顶部窗格中的 是。

    上方 pane package.json:应用 Prettier 代码风格
  • 要重新应用 Prettier 代码风格(在窗格中点击 不 或修改代码风格后),请按 Ctrl+Shift+A 并从 应用 Prettier 代码风格规则 列表中选择 查找操作。

使用 TSLint 对 Vue.js 组件中的 TypeScript 进行代码检查

您可以使用 typescript-tslint-plugin 对 Vue.js 单文件组件中的 TypeScript 代码进行代码检查。

由于 typescript-tslint-plugin 仅适用于当前项目中安装的 TypeScript,请确保在 TypeScript 页面上的 设置 对话框(Ctrl+Alt+S )中的 TypeScript 字段中选择了项目 node_modules 文件夹中的 typescript 包。

安装和配置 typescript-tslint-plugin

  1. 在嵌入的 终端 (Alt+F12 )中,输入:

    npm install --save-dev typescript-tslint-plugin

  2. 在您的 plugins 文件的 tsconfig.json 属性中,输入:

    { "compilerOptions": { "plugins": [{"name": "typescript-tslint-plugin"}] } }
  3. 当您使用 typescript-tslint-plugin 时,TSLint 通过 TypeScript Language Service 运行,因此您可以使用 PyCharm 禁用 TSLint 集成,以避免重复错误报告。

    为此,请打开 设置 对话框(Ctrl+Alt+S ),转到 语言与框架 | TypeScript | TSLint ,并选择 禁用 TSLint。

运行 Vue.js 应用程序

  1. 点击 package.json 中 dev 脚本旁边边距的 运行图标 ,或在 终端 Alt+F12 中运行 npm run dev ,或在 npm 工具窗口 中双击 dev 任务 (查看 | 工具窗口 | npm)。

  2. 等待应用程序编译完成并且开发服务器准备就绪。

    运行 工具窗口或 终端 显示您的应用程序正在运行的 URL。 如果您的应用是使用 create-vue 生成的,默认 URL 是 http://localhost:5173/ 。 点击此链接查看应用程序。

    Vue.js 应用程序正在开发模式下运行

通过运行/调试配置运行 Vue.js 应用程序

对于使用 create-vue 在PyCharm 新建项目 向导中 如上所述创建的应用程序,PyCharm会生成一个默认名称为 dev 的 npm配置。 此配置运行 vite 命令,该命令启动开发服务器并以开发模式启动您的应用程序。

在其他情况下,您需要手动 创建一个运行/调试配置 ,并设置实际的参数,如主机、端口等。

创建一个 npm 运行/调试配置

  1. 转到 运行 | 编辑配置。 或者,从工具栏的 运行 小部件中选择 编辑配置。

    打开“Edit Configurations”对话框

    在打开的 编辑配置 对话框中,单击工具栏上的 添加 按钮("添加"按钮 ),然后从列表中选择 npm。

  2. 在弹出的 配置 选项卡 运行/调试 配置:npm 对话框中,指定 package.json 的位置、Node.js 解释器及要使用的软件包管理器。

    在 命令 字段中,从列表中选择 运行 ,然后从 脚本 列表中选择要运行的脚本。 很可能它将是默认的 dev 脚本,但您可以在您的 package.json 中配置另一个脚本,例如,在自定义端口上运行应用程序。

    npm 运行/调试配置
  3. 可选:

    要在浏览器中打开应用程序,请按照以下步骤更新配置:在 Browser / Live Edit 选项卡中,选中 在启动后 复选框,选择要在其中打开应用程序的浏览器,并指定应用程序将运行的 URL 地址。

    如果您要调试应用程序,请选择 Google Chrome 或另一个 Chromium-based browser。

    Browser / Live Edit 选项卡:选择浏览器

运行应用程序

  1. 从工具栏上的 运行 小部件的列表中,选择一种 npm 类型的运行配置,然后点击旁边的 运行图标。 这可以是自动生成的 dev 配置或您自己创建的自定义配置 如上所述。

    从运行小组件中选择 dev 配置
  2. 等待应用程序编译完成并且开发服务器准备就绪。

    运行 工具窗口或 终端 显示您的应用程序正在运行的 URL。 如果您的应用是使用 create-vue 生成的,默认 URL 是 http://localhost:5173/ 。 点击此链接查看应用程序。

    Vue.js 应用程序正在开发模式下运行

    或者,启用 PyCharm 以在启动时打开应用程序 如上所述。

调试 Vue.js 应用程序

您可以通过 启动运行/调试配置或 从运行工具窗口 ,该窗口显示您的应用程序在开发模式下运行的 URL,开始调试会话。

通过运行/调试配置开始调试

要调试您的 Vue.js 应用程序,您需要两个运行/调试配置:

  • 在开发模式下启动应用程序的 npm 配置, 如上所述。

  • 开发模式下附加调试器到正在运行的应用程序的 JavaScript调试 配置。

您可以在 JavaScript调试 配置内创建 npm 配置来同时启动它们,如 使用 npm run/debug 配置运行和调试 Vue 应用程序 中所述。

或者,分别启动并运行 npm 和 JavaScript调试 运行/调试配置,如 使用 JavaScript Debug 运行/调试配置开始调试 中所述。

通过单个 npm run/debug 配置运行和调试 Vue.js 应用程序

  1. 在您的代码中设置 breakpoints。

  2. 创建一个 npm 配置 如上所述。

    如果您使用 create-vue 生成了应用程序,PyCharm 已经使用默认名称 npm dev 创建了一个 npm 配置。 此配置可通过 运行 小部件或 运行/调试配置 对话框获得。

  3. 在弹出的 配置 选项卡 运行/调试 配置:npm 对话框中,指定 package.json 的位置、Node.js 解释器及要使用的软件包管理器。

    在 命令 字段中,从列表中选择 运行 ,然后从 脚本 列表中选择要运行的脚本。 很可能它将是默认的 dev 脚本,但您可以在您的 package.json 中配置另一个脚本,例如,在自定义端口上运行应用程序。

    npm 运行/调试配置
  4. 在 Browser / Live Edit 选项卡中,选中 在启动后 复选框,从列表中选择 Google Chrome 或其他 Chromium-based browser ,选中 使用 JavaScript 调试器 复选框,然后指定您的应用程序将运行的 URL。

    npm 配置,浏览器标签
  5. 点击 运行。

    要重新运行配置,请从 运行 小部件中的列表中选择,然后点击其旁边的 运行。

    PyCharm 在开发模式下运行应用程序,同时启动调试会话。

    调试会话
  6. 当第一个断点被命中时,切换到 调试工具窗口 并像往常一样继续: 逐步执行程序、 停止和恢复程序执行、 在暂停时检查 、探索调用堆栈和变量、设置监视、评估变量、 查看实际 HTML DOM 等。

使用 JavaScript Debug 运行/调试配置开始调试

  1. 在您的代码中设置 breakpoints。

  2. 启动应用程序的开发模式 ,如上所述 ,并等待应用程序编译完成以及开发服务器就绪。

    运行 工具窗口或 终端 显示您的应用程序正在运行的 URL。 请复制此 URL 到 稍后在 JavaScript Debug 配置中指定。

    Vue.js 应用程序正在开发模式下运行
  3. 创建一个 JavaScript调试 配置。 要执行此操作,请在主菜单中转到 运行 | 编辑配置 ,点击 "添加"图标 ,然后从列表中选择 Javascript 调试。

    如果您使用 create-vue 生成了您的应用程序,PyCharm 已经创建了一个 JavaScript调试 运行/调试配置,默认名称为 调试应用程序 ,默认 URL 为 http://localhost:5173。 从 JavaScript调试 节点下的列表中选择此 run/debug 配置。

    选择生成的 JavaScript 调试运行/调试配置
  4. 在打开的 运行/调试配置:JavaScript Debug 对话框中,指定配置的名称以及应用程序在开发模式下运行的 URL 地址。 您可以在 运行 工具窗口或 终端 中复制此 URL, 如上所述。

    创建一个 JavaScript 调试配置:指定 URL
  5. 点击 调试。

    要重新运行配置,请从 运行 小部件中的列表中选择,然后点击其旁边的 调试。

    从运行小部件运行 JavaScript Debug 配置
  6. 当第一个断点被命中时,切换到 调试工具窗口 并像往常一样继续: 逐步执行程序、 停止和恢复程序执行、 在暂停时检查 、探索调用堆栈和变量、设置监视、评估变量、 查看实际 HTML DOM 等。

从 Run 工具窗口或内置 Terminal 开始调试

如果您的应用程序正在 localhost 上运行开发模式,特别是如果它是用 create-vue 生成的,您可以直接从 >运行 工具窗口或内置的 终端 启动调试会话。

  1. 在您的代码中设置 breakpoints。

  2. 启动应用程序的开发模式 ,如上所述 ,并等待应用程序编译完成以及开发服务器就绪。

  3. 运行 工具窗口或 终端 显示您的应用程序正在运行的 URL。 按住 Ctrl+Shift 并点击此 URL 链接。 PyCharm 启动带有 调试应用程序 类型 JavaScript Debug的自动生成配置的调试会话。

    从运行工具窗口开始调试会话

    如果您从 New Terminal 以开发模式启动了应用程序,您只需点击链接旁边的 在浏览器中开始调试 按钮即可。

    新终端:在浏览器中开始调试按钮

当第一个断点被命中时,切换到 调试工具窗口 并像往常一样继续: 逐步执行程序、 停止和恢复程序执行、 在暂停时检查 、探索调用堆栈和变量、设置监视、评估变量、 查看实际 HTML DOM 等。

针对 Node.js 17+ 的故障排除

如果您在应用程序中使用 Nuxt.js 并且 Node.js 版本为 17 或更高版本,在调试会话期间可能会遇到网络连接问题。 这可能会导致调试器附加或加载 sourcemaps 时出现问题。

解决方法是通过更新 dev 脚本,在您的 package.json 中将 --host 127.0.0.1 传递给服务器,如下所示:

"dev": "nuxt --hostname=127.0.0.1"

在一个项目中使用多个框架

有时您可能需要在一个 Vue.js 项目中使用其他框架。

要在每个文件中获得上下文感知的编码辅助,请创建一个配置文件 .ws-context ,并指定每个特定文件或文件夹应使用的框架。 此文件中的设置将覆盖默认配置。

  1. 在项目根目录中,从上下文菜单中选择 新建文件 并将文件名指定为 .ws-context。

  2. 在 .ws-context 中,使用两种属性:

    • <context-name> 带有上下文值字符串

    • 具有上下文详情对象的 GLOB 模式

  3. 使用以下上下文值:

    • framework: vue、 angular、 react、 svelte、 astro

    • angular-template-syntax: V_2、 V_17

    • nextjs-project: nextjs

    • astro-project: astro

    • vue-store: vuex、 pinia

    • vue-class-component-library: vue-class-component、 vue -property-decorator、 vue-facing-decorator

    • jsdoc-dialect: jsdoc-typescript、 jsdoc-closure

  4. 使用路径嵌套以简化操作。

    • GLOB 路径的最后一段是文件名模式,它仅支持 * 通配符。

    • 如果最后一个段是一个 ** ,它匹配所有嵌套的目录和文件。

    • 顶层上下文属性应具有 /** 模式。

  5. 当多个模式匹配相同文件名时,将使用以下规则进行消歧:

    • 选择路径段数最多的模式,排除 ** 段。

    • 选择纯文件名模式,这意味着它不会以 ** 或 / 结尾。

    • 选择最先定义的模式。

示例

假设您有一个项目,其中在各个文件夹中使用了多个框架。

具有不同框架的项目

要为项目中的每个文件获得上下文相关的帮助,请将以下代码添加到 .ws-context:

{ "framework": "vue", "angular-template-syntax": "V_2", "src/**/app/**": { "framework": null, "app.component.html" : { "framework": "angular", "angular-template-syntax": "V_17" } }, "src/**/p*-editor/*.html" : { "framework" : "angular" } }
最后修改日期: 2025年 4月 23日