PyCharm 2025.1 Help

在 PyCharm 中使用高级 Vagrant 功能

本教程描述了如何在 PyCharm 中使用 Vagrant 集成的高级功能。 本教程不涉及 VagrantOracle VirtualBox 的使用细节。 有关更多信息,请参阅相关文档。

请注意 Vagrant:使用可复制的开发环境 页面中提到的先决条件。 还请确保已创建并初始化了 Vagrant box。

使用内置 SSH 终端连接到 Vagrant 机器

PyCharm 提供了一个 内置 SSH 终端 ,可用于连接到远程机器。

开始连接

要连接到 Vagrant 机器,请转到主菜单中的 工具 | 启动 SSH 会话。 这将打开一个我们可以连接的主机列表。

已配置的 Vagrant 机器 会自动添加到此列表中。 点击它将打开与该 Vagrant 机器暴露的 SSH 端点的连接。 编辑凭据… 菜单项允许手动输入连接信息。 然而,我们将在此仅限于使用虚拟机。

可用的 Vagrant 主机

使用 SSH

因此,在选择 Vagrant 后,PyCharm 使用 SSH 服务器连接到 Vagrant 机器,并显示一个终端以供操作:

终端中的 Vagrant

在 SSH 终端中,您可以执行以下操作:

  • 使用上下箭头键滚动命令历史记录

  • 执行剪贴板操作

使用共享文件夹

Vagrant 允许在主机和 Vagrant 机器之间共享文件夹。 您可以使用这些文件夹,例如,将当前 PyCharm 项目的 Web 根目录内容自动映射到 Vagrant 机器上的 Apache 虚拟主机目录。

添加路径映射

打开 Vagrantfile 进行编辑(F4 ),并添加路径映射的配置条目:

Vagrant.configure("2") do |config| config.vm.synced_folder "src/", "/srv/website" end

重新加载 Vagrant

通过从主菜单中选择 工具 | Vagrant | 重新加载 重新加载 Vagrantfile

重新加载 Vagrant

命令执行结果显示在运行工具窗口中:

Vagrant 重新加载结果

一旦 Vagrant 机器重新加载后,将会有一个新的路径映射可用。 例如,当使用内置 SSH 终端连接到 Vagrant 机器时,我们可以看到映射到 PyCharm 本地项目文件夹的 /vagrant 文件夹的内容。 请注意:从此文件夹中删除文件会同时删除两端的文件!

指定 Vagrant 实例文件夹

默认情况下, Vagrantfile 和所有其他 Vagrant 特定内容(如 Puppet 清单)都放置在 一个 PyCharm 项目的根目录中。 由于这并不总是理想的,PyCharm 应该查找 Vagrantfile 的实例文件夹可以通过设置的 Vagrant 页面进行配置:

指定 Vagrant 实例文件夹

通过设置管理 Vagrant 插件

在设置的 Vagrant 页面中,您还可以管理 Vagrant 插件。 在 插件 选项卡中,使用工具栏按钮安装、卸载和更新插件。

添加 Vagrant 插件

您还可以安装许可证,例如,适用于 VMWare Fusion Provider 的许可证,该提供程序允许在 VMWare 上运行 Vagrant 机器。

支持提供程序

Vagrant 默认使用 Oracle VirtualBox 作为虚拟化平台。 然而,您可以使用 providers 更改虚拟化平台,因此虚拟机可以由 VirtualBox 以外的系统运行,例如 VMWareAmazon EC2。 在 可用 Vagrant 插件列表 中查找可用的提供程序。

对于每个命令,您需要将要使用的提供程序传递给 Vagrant。 为了简化此过程并让 PyCharm 自动将提供程序名称添加到每个 Vagrant 命令中,请在设置的 Vagrant 页面中指定提供程序。 您机器上安装的所有提供程序都可以在设置中找到。 一旦选择了提供程序,该提供程序将用于在 PyCharm 中执行所有 Vagrant 命令:

重新定义 Vagrant 提供程序

(重新)配置 Vagrant 机器

Vagrantfile 可以包含一系列配置器,这些配置器可以在虚拟机运行后启动安装和配置例程。

工具 | Vagrant | 配置 主菜单命令会在无需先销毁虚拟机的情况下,调用已配置的配置器以运行在运行中的 Vagrant 机器上。

有关更多信息,请参阅 provisioning 文档。

使用环境变量

Vagrantfile 中的环境变量可用于 Puppet 节点、Puppet 环境、自定义事实、AWS 密钥。

在设置对话框的 Vagrant 页面中,指定要传递给 Vagrantfile 的项目特定环境变量:

添加环境变量

设置后,这些环境变量会在 Vagrantfile 中引用,使用语法 #{ENV['name_of_variable']}

在 Vagrantfile 中新添加的环境变量
最后修改日期: 2025年 4月 23日