使用 PyCharm 中的高级 Vagrant 功能
最后修改时间:2023 年 11 月 13 日本教程介绍如何在 PyCharm 中使用 Vagrant 集成的高级功能。使用Vagrant和Oracle VirtualBox的详细信息超出了本教程的范围。有关更多信息,请参阅相应的文档。
请注意Vagrant:使用可重复开发环境页面中提到的先决条件。还要确保创建并初始化 Vagrant 框。
使用内置的 SSH 终端连接 Vagrant 机器
PyCharm 具有内置 SSH 终端,可用于连接到远程计算机。
开始连接
要连接到 Vagrant 机器,请选择“工具”|“ 在主菜单上启动 SSH 会话...。这将打开我们可以连接的主机列表。
配置的 Vagrant 机器会自动添加到此列表中。单击它会打开与此 Vagrant 计算机公开的 SSH 端点的连接。编辑凭据...菜单项允许手动输入连接信息。然而,我们在这里仅限于使用虚拟盒子。
使用 SSH
因此,选择 Vagrant 后,PyCharm 使用 SSH 服务器连接到 Vagrant 机器并显示一个可以使用的终端:
在 SSH 终端中,您可以执行以下操作:
使用向上和向下箭头键滚动命令历史记录
执行剪贴板操作
使用共享文件夹
Vagrant 允许在主机和 Vagrant 机器之间共享文件夹。例如,您可以使用这些文件夹自动将当前 PyCharm 项目的 Web 根目录内容映射到 Vagrant 计算机上的 Apache 虚拟主机目录。
添加路径映射
打开Vagrantfile进行编辑(,并添加路径映射的配置条目:F4
Vagrant.configure("2") do |config|
config.vm.synced_folder "src/", "/srv/website"
end
重新加载 Vagrant
通过选择“工具”| “重新加载Vagrantfile” Vagrant | 在主菜单上重新加载:
命令执行的结果显示在“运行”工具窗口中:
一旦 Vagrant 机器重新加载,新的路径映射就变得可用。例如,当使用内置 SSH 终端连接到 Vagrant 机器时,我们会看到映射到 PyCharm 本地项目文件夹的/vagrant文件夹的内容。注意:删除该文件夹中的文件会同时删除两端的文件!
指定 Vagrant 实例文件夹
默认情况下,Vagrantfile和所有其他 Vagrant 细节(如 Puppet 清单)都放置在 PyCharm 项目的根目录中。由于这并不总是理想的,PyCharm 应该在其中查找Vagrantfile 的实例文件夹可以通过设置的Vagrant页面进行配置:
通过设置管理 Vagrant 插件
在设置的Vagrant页面中,您还可以管理 Vagrant 插件。在插件选项卡中,使用工具栏按钮安装、卸载和更新插件。
例如,您还可以安装VMWare Fusion Provider的许可证,该许可证允许在 VMWare 上运行 Vagrant 计算机。
提供商支持
Vagrant 默认使用Oracle VirtualBox作为虚拟化平台。但是,您可以使用provider更改虚拟化平台,以便虚拟机可以由 VirtualBox 以外的系统运行,例如VMWare或Amazon EC2。在可用 Vagrant 插件列表中查找可用的提供程序。
对于每个命令,您应该将要使用的提供程序传递给 Vagrant。要简化此过程并使 PyCharm 自动将提供程序名称添加到每个 Vagrant 命令中,请在“设置”的Vagrant页面中指定提供程序。您的计算机上安装的所有提供程序都可以从设置中获取。一旦选择,提供程序将用于执行 PyCharm 中的所有 Vagrant 命令:
(重新)配置 Vagrant 机器
Vagrantfile可以包含一系列配置程序,这些配置程序可以在虚拟机运行后启动安装和配置例程。
工具| Vagrant | Provision主菜单命令会在已运行的 Vagrant 机器上调用已配置的配置程序,而无需首先销毁虚拟机。
有关更多信息,请参阅配置文档。
使用环境变量
Vagrantfile中的环境变量可用于 Puppet 节点、Puppet 环境、自定义事实、AWS 密钥。
在“设置”对话框的Vagrant页面中,指定要传递给Vagrantfile的项目特定环境变量:
设置后,这些环境变量将在Vagrantfile中引用,使用语法#{ENV['name_of_variable']}
:
感谢您的反馈意见!