Salesforce Extensions for VS Code 针对您设置为开发默认组织的组织运行命令。
Salesforce 组织开发模型
组织开发模型
在 Visual Studio Code 中,使用组织开发模型处理没有源跟踪的组织,例如沙盒、Developer Edition (DE) 组织或 Trailhead Playgrounds。使用此开发模型时,您必须手动跟踪更改,并将更改集部署到沙盒,然后部署到生产组织。请参阅 Org Development Model Trailhead 模块。
使用 Einstein for Developers 使用自然语言指令快速生成代码建议,以提高开发人员的工作效率。Einstein for Developers 是一款 AI 驱动的开发人员工具,可作为易于安装的 Visual Studio Code 扩展使用来自 Salesforce 的安全自定义 AI 模型 CodeGen 构建。该扩展在 VS Code 和 Open VSX 市场中提供。
Einstein for Developers 利用从匿名 Code Pattern 中学到的专业知识,在整个 Salesforce 开发过程中为您提供帮助。我们的 AI 驱动的开发人员工具套件可提高工作效率,并为复杂的编码任务提供有用的帮助。我们通过代码生成和推荐的静态分析和安全扫描工具套件来实施开发最佳实践。以样板代码生成为基础,AI 辅助工具还使新开发人员更容易加入 Salesforce Platform。
具有适当权限的 Salesforce 管理员或用户可以在受支持的 Salesforce 组织中启用 Einstein for Developers。然后,有权访问组织的开发人员可以:
在 VS Code 中安装扩展。
连接到启用了 Einstein for Developers 的组织。
使用扩展从自然语言指令生成 Apex 代码。
所需版本
适用于:开发人员、企业、合作伙伴开发人员、性能版和无限版。
不适用于:Group、Professional 和 Essentials 版本
不适用于:欧盟运营区。欧盟运营区是一项特殊的付费产品/服务,可提供更高级别的数据驻留承诺。根据标准产品条款和条件,Einstein for Developers 在欧盟不属于欧盟 OZ 的组织中得到支持。
所需的用户权限
要配置 Einstein for Developers(测试版):自定义应用程序并修改所有数据
已启用增强型域
您的 Einstein for Developers 组织必须启用增强型域。有关详细信息,请参阅启用增强型域。
为开发人员启用 Einstein
当您在受支持的 Salesforce 组织中启用 Einstein for Developers 时,该组织中的所有用户都可以访问该功能。
在“设置”的“快速查找”框中,输入 ,然后选择“Einstein for Developers”。Einstein for Developers
提示:如果您在 Developer Edition 组织中的“设置”下没有看到“Einstein for Developers”选项,则该组织可能是在引入 Einstein for Developers 之前创建的,因此它没有正确的权限。创建另一个 Developer Edition 组织,然后重试此步骤。
打开 Einstein for Developers。
重要提示:我们建议您仔细阅读许可协议并查看所有条款和条件。然后接受启用 Einstein for Developers。
Einstein for Developers 在组织中被激活。
将用户添加到组织
管理员可以根据需要向组织添加其他用户:
在“设置”的“快速查找”框中,输入 ,然后选择“用户”。Users
单击“新建用户”或“添加多个用户”。
根据用户的角色选择适当的许可证类型和配置文件。
选择“生成密码并通过电子邮件通知用户”。
点击保存。 此过程会生成一封电子邮件,邀请新用户加入组织。
Visual Studio Code 版本
VS Code 每个月都会发布一个新版本,其中包含新功能和重要的 bug 修复。必须使用 VS Code 版本 1.76 或更高版本才能运行 Einstein for Developers 扩展。您可以从“帮助”>“在 Linux 和 Windows 上检查更新”或“代码>在 macOS 上检查更新”中手动检查更新。
安装 Einstein for Developers 扩展
安装面向开发人员的 Einstein:
如果在桌面上使用 VS Code,请从 Visual Studio Code 市场安装 Einstein for Developers。
如果您使用的是 Code Builder,请单击 Code Builder 活动栏中的“扩展”图标,搜索“Einstein for Developers”,然后单击“安装”。
注意:若要在本地使用 Einstein for Developers,必须在 VS Code 桌面应用程序中安装 Salesforce 扩展包。有关详细信息,请参阅安装 Salesforce 扩展。
连接到组织
Einstein for Developers 工具在 Salesforce 组织的上下文中,在 Salesforce DX 项目中运行。要使用此工具,请执行以下操作:
转到菜单中的“文件”>“打开文件夹”,然后在 VS Code 中打开现有的 Salesforce DX 项目,或创建一个项目。
运行 SFDX: Authorize an Org 命令以连接到启用了 Einstein for Developers 的 Salesforce 沙盒组织或临时组织。选择默认选项以连接到您的组织。
活动栏和状态栏中的 Einstein 徽标确认已安装扩展。打开命令面板并运行以打开边栏。View: Show Einstein Developer Sidebar
在临时组织中将 Einstein 用于开发人员
Einstein for Developers 仅在可以编写 Apex 的 scratch 组织版本中可用:
开发者版
企业版
要在临时组织中使用 Einstein for Developers:
在 Dev Hub 中为开发人员启用 Einstein。
使用该命令登录到 Dev Hub。SFDX: Authorize a Dev Hub
通过打开 scratch org 功能激活 Einstein for Developers:EinsteinGPTForDevelopers
与所有基于 LLM 的产品一样,Einstein for Developers 背后的技术仍然是新的。生成的输出通常需要针对您的单个项目进行编辑。有些响应不是最佳的。我们很乐意通过 IDE 中的 History & Feedback Panel 听取您对生成的输出的反馈。您的反馈对于在测试计划期间持续训练我们的大型语言模型 (LLM) 至关重要。
@InvocableMethod(label='Create Account' description='Creates a new account with the specified name, number and symbol.' category='Account')
public static List<String> createAccounts(List<Account> accounts) {
List<String> response = new List<String>();
for (Account account : accounts) {
String jsonAccount = JSON.serialize(account);
response.add(jsonAccount);
}
return response;
}
public List<OrderItem> getOrderItemsByProductName(String productName) {
List<OrderItem> orderItems = [SELECT Description FROM OrderItem WHERE ProductCode = :productName LIMIT 50];
return orderItems;
}
提示:编写 Apex 触发器以添加与帐户关联的联系人数。在 SOQL 查询中,通过添加 WITH USER_MODE来确保其安全。
trigger AccountTrigger on Account (after update) {
List<Account> accountsWithContacts = [
SELECT Id, (SELECT Id FROM Contacts)
FROM Account
WHERE Id IN :Trigger.newMap.keySet()
WITH USER_MODE
];
for (Account account : accountsWithContacts) {
Integer numberOfContacts = account.Contacts.size();
// Update the Account's "Number_of_Contacts__c" field
account.Number_of_Contacts__c = numberOfContacts;
}
update accountsWithContacts;
}
编辑提示并重新生成输出
精心设计的提示是获得 Einstein 良好响应的关键。我们鼓励您修改提示,直到您获得可帮助您完成手头任务的 Apex 代码。使用命令面板中的命令时,请使用“重试”和“接受”选项。在边栏中,编辑提示,然后单击“询问”。Einstein: Generate Code
例如,提示“编写代码以提供更新用户列表的 FirstName 的功能”会生成此响应。
public with sharing class AccountService {
public Account createAccount( String accountName, String accountNumber, String tickerSymbol ) {
Account newAcct = new Account(
Name = accountName,
AccountNumber = accountNumber,
TickerSymbol = accountNumber
);
return newAcct;
}
// Function to update the FirstName for a list of users
public static List<User> updateFirstName(List<User> users, String newFirstName) {
for (User u : users) {
if (String.isNotBlank(u.FirstName)) {
u.FirstName = newFirstName;
}
}
return users;
}
public with sharing class AccountService {
public Account createAccount( String accountName, String accountNumber, String tickerSymbol ) {
Account newAcct = new Account(
Name = accountName,
AccountNumber = accountNumber,
TickerSymbol = accountNumber
);
return newAcct;
}
}
//This is a method that allows updating the FirstName for a list of users
public static void updateFirstName(List<User> users) {
for (User usr : users) {
if (usr.FirstName != null) {
usr.FirstName = 'New First Name';
}
}
}
如果您喜欢此输出,请单击“接受”。若要更新提示并重新生成新输出,请单击“重试”。
故障 排除
生成式 AI 使用大型语言模型 (LLM) 来生成输出。由于 LLM 是由其他组织训练的,因此输出并不总是您期望的,并且生成的代码也不完美。如果输出不符合您的预期,您可以通过重新开始生成新的输出。不会保存上一次尝试生成的输出,新输出将替换它。
您将保留代码的所有权,Salesforce 将保留 Einstein for Developers 扩展和 CodeGen 模型的唯一所有权。
Einstein for Developers 扩展可能会生成类似于用于训练模型的代码的输出。为避免疑义,您和 Salesforce 均不拥有为非他们自己方生成的输出。
提交的代码不会与 Salesforce 以外的任何方共享。
无担保。EINSTEIN FOR DEVELOPERS 扩展按“原样”提供,不包括任何明示、暗示、法定或其他形式的保证。在适用法律允许的最大范围内,SALESFORCE 不承担任何默示保证,包括但不限于对适销性和特定用途适用性或不侵权的任何默示保证。Einstein for Developers 扩展和/或生成的代码可能包含错误或错误,使用它们的风险由您自行承担。您承认,Salesforce 可随时自行决定终止 Einstein for Developers 扩展,并且可能永远不会将其正式发布。
Salesforce Code Builder 是一个基于 Web 的集成开发环境,具有 Web 浏览器中 Visual Studio Code、Salesforce Extensions for VS Code 和 Salesforce CLI 的所有功能和灵活性。Code Builder 为所有开发人员提供现代开发人员体验,无论其专业水平如何。Code Builder 使管理员和开发人员都可以轻松地在云中工作,而无需担心下载软件、设置或机器规格。使用 Code Builder,您可以在任何地方工作。为开发环境添加书签以返回到该环境,或从其他计算机访问该链接。与桌面 IDE 不同,Code Builder 无需您明确执行此操作即可为您保存工作。
右键单击该文件夹,然后单击 SFDX: Deploy Source to Org。force-app/main/default/lwc/newCBComponent
输出窗口显示以下消息:
=== Deployed Source
STATE FULL NAME TYPE PROJECT PATH
─────── ────────────── ──────────────────────── ────────────────────────────────────────────────────────────────────
Created newCBComponent LightningComponentBundle force-app/main/default/lwc/newCBComponent/newCBComponent.html
Created newCBComponent LightningComponentBundle force-app/main/default/lwc/newCBComponent/newCBComponent.js
Created newCBComponent LightningComponentBundle force-app/main/default/lwc/newCBComponent/newCBComponent.js-meta.xml
10:22:27.340 ended SFDX: Deploy Source to Org
选择 SFDX: Open Default Org 以登录您的组织。
导航到 Setup:Lightning Components,以确认您的组织中现在有一个名为的新 Lightning Web 组件可用。newCBComponent
恭喜您成功创建并部署了新的 Lightning Web 组件。
了解更多
您可以花点时间使用这些资源来详细了解您可以在 Code Builder 中执行的操作:
Visual Studio Code 用户界面,了解 Visual Studio Code 用户界面。
Salesforce 扩展,了解适用于 VS Code 的 Salesforce 扩展的所有强大功能。
运行命令 Shell 命令:在 PATH 中安装“code”命令。 This command lets you invoke `code` directly from your favorite terminal.
在你喜欢的终端中,打开 shell 的启动脚本。如果您使用的是 Bash,则启动脚本通常是您的 or 文件。如果您使用的是 Z Shell,则它通常是您的文件。如果没有具有这些名称的文件,请在主目录中创建一个名为的文件(例如,在 中)。.bashrc.bash_profile.zshrc.bashrcMacintosh HD/users/yourName
将此行添加到 shell 的启动脚本中。 alias code-sfdx='code --extensions-dir ~/.sfdx-code'
默认情况下,SignupRequest API 仅适用于经过身份验证的调用。如果您有 需要未经身份验证的调用的用例,例如,制作注册表单 可供未经身份验证的用户使用,请遵循代码示例中的模式。
public with sharing class newTrialSignupController {
@auraEnabled
public static void getNewLead(Lead newLead, String templateId, String username, Boolean createLead, String domain) { }
// SignupCreation is an inner class without sharing. It runs in the system context
// and is used to handle SignupRequest calls for unauthenticated users.
public without sharing class SignupCreation {
public void createNewTrial(Lead newLead, String templateId, String username, String domain) {
}}}
使用 API 进行注册
使用对 SignupRequest 对象的 API 调用为潜在客户创建注册 客户。
所需的用户权限
要创建或查看注册请求,请执行以下操作:
SignupRequest 接口
使用对 SignupRequest 对象的 API 调用,可以收集和分析详细的 有关您的业务组织的所有注册的信息。您可以控制注册 流程并增强对潜在客户的可见性。例如,您可以:
安装 Channel Order 应用程序 在管理产品许可证的 Salesforce 组织(通常是合作伙伴业务组织)中安装 Channel Order 应用程序 (COA)。如果你是现有合作伙伴,并且 COA 已安装在你的组织中,则无需重新安装应用即可接收升级。Salesforce 将应用程序的新版本推送到您的组织。
将权限集分配给渠道订单应用用户 分配渠道订单应用 (COA) 权限集,以授予团队成员访问该应用的权限。将 COA 用户权限集分配给提交和管理客户订单的用户。将 COA 管理员用户权限分配给需要完全访问应用程序对象和功能的用户,包括设置与 Salesforce 连接的能力。
Date,Activity,Count of Activity
2019-01-01,Customization Guide,10
2019-01-01,Datasheet,20
2019-01-02,Customization Guide,20
2019-01-02,Datasheet,40
活动源文件
使用全局和本地筛选器提供来自“活动源”可视化效果的数据 已应用选择。
例
此示例显示标题行和四行示例数据。应用了这些过滤器。
全局筛选器设置为显示过去 30 天的数据。
设置为显示访问的本地筛选器。
Source,Activity,Count of Activity,Percentage of Total Activity,Rank
AppExchange Browse,Visits,500,20.41,1
AppExchange Categories,Visits,450,18.37,2
AppExchange Search,Visits,400,16.33,3
AppExchange Recommended,350,14.29,4