6.2. 为单个任务请求代码建议
您可以通过在 Ansible VS Code 扩展中输入自然语言提示来请求单个任务的代码建议。例如,若要自动执行安装 PostgreSQL 服务器的任务,您可以输入 prompt - name: Install postgresql-server
。Ansible Lightspeed 服务读取文本,与 IBM watsonx Code Assistant 模型交互,并生成代码建议。
先决条件
- 您是拥有对 Ansible Automation Platform 和 IBM watsonx Code Assistant 的试用或付费订阅的机构的一部分。
- 您已 安装并配置了 Ansible VS Code 扩展。
流程
- 使用您的红帽帐户登录 VS Code。
创建新的 YAML 文件或使用现有的 YAML 文件:
创建 YAML 文件:
-
选择
。 - 从屏幕右下角,单击 Plain Text,然后在语言模式中选择 Ansible。
-
将文件保存为 YAML 文件格式扩展名(
.yml
或.yaml
)。
-
选择
使用现有的 YAML 文件:
在屏幕右下角,单击现有语言模式,然后在语言模式设置中选择 Ansible。
注意如果您没有在 VS Code 编辑器中看到语言模式 部分,请从 Command Palette 中选择
。
验证您在 VS Code 右下角的状态栏上看到 Lightspeed 的条目。
如果 Ansible 已选为所需的语言,但没有显示 Lightspeed 条目,请重新选择 Ansible 作为语言模式。下图显示了 VS Code 状态栏上的 Lightspeed 和 Ansible 条目。
图 6.1. Ansible 和 Lightspeed 设置为所选语言模式
可选:如果看到有关缺少 Ansible lint 的错误消息,您可以安装缺少的模块或禁用它。执行以下任务之一:
- 安装 Ansible lint:有关安装信息,请参阅 Ansible Lint 文档中的安装部分。https://ansible.readthedocs.io/projects/lint/installing/
禁用 Ansible lint:
-
在 Activity 栏中,点 Extensions 图标
。
- 在 Installed extensions 列表中,选择 Ansible。
- 在 Ansible 扩展页面中,单击 Settings 图标并选择 Extension Settings。
- 清除 Ansible criu Validation criu Lint: Enabled 复选框。
-
在 Activity 栏中,点 Extensions 图标
创建 playbook 或使用现有的 playbook。
如需更多信息,请参阅 Ansible Automation Platform Creator 指南中的创建 playbook。
在 playbook 中,提供以下信息来请求单个任务的代码建议:
-
通过在正确的缩进上启动带有
- name:
的新行来添加新的 Ansible 任务。 -
在任务描述 after
- name:
在同一行中添加详细的自然语言提示。例如,您可以指定以下单任务提示:- name: Install postgresql-server
在任务描述后直接按 Enter 键。将光标保留在文件中的同一位置,并等待代码建议结果填充。
Ansible Lightspeed 服务参与,它开始为单个任务生成代码建议。
重要Ansible Lightspeed 服务每个任务需要 5 秒时间来填充代码建议。如果您使用多任务提示,Ansible Lightspeed 服务需要更长的时间(任务次数 5 秒)来填充结果。不要在生成代码建议时移动光标或按任意键。如果您更改了光标位置或按任意键,Ansible VS Code 扩展会取消请求,Ansible Lightspeed 服务不会处理您的请求。
当 Ansible Lightspeed 服务参与时,会在屏幕右下角显示 Lightspeed 处理状态指示正在生成您的代码建议。
-
通过在正确的缩进上启动带有
查看您的代码建议,并确保建议与您的任务意图匹配。
下图显示了 Ansible Lightspeed 服务为单一任务生成的代码建议,即 Install postgresql-server :
接受或拒绝代码建议:
- 要接受代码建议,请按 Tab。
要拒绝代码建议,请按 Esc。
注意如果拒绝建议,您可以修改提示并再次查看生成的代码建议,以匹配您的任务意图。
在 ANSIBLE: LIGHTSPEED TRAINING MATCHES 选项卡中,查看内容源匹配结果。
下图显示了在现有 Ansible Galaxy 内容中找到的培训匹配,用于安装 postgresql-server 的任务提示:
- 点 Save 在 Ansible YAML 文件中保存代码建议更改。