Salesforce学习之路(三)利用VS Code结合Git开发Salesforce
在前面说了一些有关Admin的知识,但实际开发运用中,仅凭Admin的配置很难满足项目的定制化需求,因此基于CRM的二次开发则应运而生。
由于国内资料相对较少,所以很多入门新手无处下手,那这里就简单介绍下我所使用的IDE,并结合Git对代码进行管理。
IDE
首先,我选用了VS Code作为IDE,这里可能有些小伙伴便要提问了:我发现很多成熟的项目都是使用Force.com来开发的呀,为什么这里使用VS Code呢?有什么推荐意义?

可见,2019年10月12日之后,Force.com不再支持和更新,并且官网推荐Visual Studio Code,因此这里使用VS Code作为IDE。
下载链接:https://code.visualstudio.com/Download
Git
目前,Git作为主流代码管理工具,国内大部分企业也使用该工具对代码进行管理,不例外小编公司也是使用Git的,所以这里简单介绍下小编项目中使用的方法,如果不合理之处,望大佬们斧正。
学习资料:https://git-scm.com/book/zh/v2

Part 1: 从Git中克隆代码到本地
- git clone https://github.com/git/git
这里仅为示例,详细地址以各自工程为准,当然有关git的配置这里就不详谈了。
Part 2: 在VS Code中安装Salesforce和Git插件
- 在VS Code中打开代码工程
- 安装Salesforce Extension Pack

- 安装Git Extension pack

Part 3: 认证一个Org
- 打开代码工程
- 打开Command palette(shift+command+p/F1)
- SFDX: Authorize an Org

- 选择要登录的模式,Sandbox还是Production

- 为Org设置别名,便于之后设置默认Org,这里设为trailEnvironment

- 设置用户名和密码

Part 4: 设置默认Org
- SFDX: Set a Default Org, 当本地认证多个Org时,需要设置默认Org,防止操作混乱
注意: 在切换默认Org时,本地的代码不会发生任何改变,这点和Git切换分支是不同的。

- 选择需要操作的Org(选择上面添加的trailEnvironment),将其设为默认Org

Part 5: 从Org中拉取代码
- 选择项目工程中的某个组件或者组件的某个文件
- 右击
- 选择SFDX: Retrieve Source from Org, 便可从Org中拉代码到本地
注意: 当你选择一个文件夹或者整个工程,然后拉取代码到本地,你会发现没有任何代码被拉取下来。当然,如果你想拉取某个类或者某个组件, 你可以在VS Code中创建和Org中名字一样的类或者组件,然后右击拉取便可成功拉取文件至本地。除此之外,可以使用pacakge.xml的方式来拉取多个组件或者整个项目,或者针对DX环境可以直接SFDX: Pull Source from Org. 详细的内容,我会在后面的文章分享出来。

Part 6: 将本地代码部署至Org
- 你可以选择一个文件,一个组件,一个文件夹,甚至于整个项目工程
- 右击
- 选择 SFDX: Deploy Source to Org便可将代码部署至默认的Org环境中

Part 7: 将本地代码上传至Git
- Git: Commit

- Git: Push

注意: 如果你习惯于命令行的方式上传git,这里你可以Terminal下直接输入git命令。
[kaiwu3@localhost:~/Works/Code/sp]$git add .
[kaiwu3@localhost:~/Works/Code/sp]$git commit -m 'change release branch from release to release/dev'
[feature/kai 9cce974] change release branch from release to release/dev
1 file changed, 1 insertion(+), 1 deletion(-)
[kaiwu3@localhost:~/Works/Code/sp]$git push
Salesforce学习之路(三)利用VS Code结合Git开发Salesforce的更多相关文章
- Salesforce学习之路-developer篇(一)利用VS Code结合Git开发Salesforce
Part 1: 从Git中克隆代码到本地 git clone https://github.com/git/git Part 2: 在VS Code中安装Salesforce和Git插件 在VS Co ...
- Salesforce学习之路(十三)Aura案例实战分析
Aura相关知识整合: Salesforce学习之路(十)Aura组件工作原理 Salesforce学习之路(十一)Aura组件属性<aura:attribute /> Salesforc ...
- 学习之路三十九:新手学习 - Windows API
来到了新公司,一开始就要做个程序去获取另外一个程序里的数据,哇,挑战性很大. 经过两周的学习,终于搞定,主要还是对Windows API有了更多的了解. 文中所有的消息常量,API,结构体都整理出来了 ...
- Redis——学习之路三(初识redis config配置)
我们先看看config 默认情况下系统是怎么配置的.在命令行中输入 config get *(如图) 默认情况下有61配置信息,每一个命令占两行,第一行为配置名称信息,第二行为配置的具体信息. ...
- Salesforce学习之路-admin篇
Salesforce是一款非常强大的CRM(Customer Relationship Management)系统,国外企业使用十分频繁,而国内目前仅有几家在使用(当然,国内外企使用的依旧较多),因此 ...
- Salesforce学习之路(一)几个简单概念
Salesforce是一款非常强大的CRM(Customer Relationship Management)系统,国外企业使用十分频繁,而国内目前仅有几家在使用(当然,国内外企使用的依旧较多),因此 ...
- Orleans[NET Core 3.1] 学习笔记(三)( 1 )本地开发配置
本地开发配置 本地开发和调试的时候,我们可能不需要去关注集群和网络ip端口.所以对于本地开发模式,Orleans给了我们比较简单的配置方式. Silo配置 在本地开发的配置模式下,Orleans会默认 ...
- Salesforce学习之路-developer篇(三)利用Visualforce Page实现页面的动态刷新案例学习
Visualforce是一个Web开发框架,允许开发人员构建可以在Lightning平台上本地托管的自定义用户界面.其框架包含:前端的界面设计,使用的类似于HTML的标记语言:以及后端的控制器,使用类 ...
- Salesforce学习之路-developer篇(二)利用Jenkins和Bitbucket实现Salesforce的CI/CD功能
上文提到,基于CRM的二次开发是必不可少的,但是在实际项目中CI/CD是不可忽略的一个重要部分,与传统的Java,Python项目不同,如果对Salesforce进行持续集成和持续部署呢? 结合找到的 ...
随机推荐
- 分布式事务 SEATA-1.4.1 AT模式 配合NACOS 应用
SEATA 配置 目录 SEATA 配置 TC (Transaction Coordinator) - 事务协调者 配置参数 nacos bash 脚本 同步 config 配置到 nacos 使用 ...
- Oracle数据库在给表添加字段的sql中用comment报错
原因:不同于mysql,Oracle数据库在添加表字段时不能直接用comment,而是单独写一个sql语句,如下: alter table SYS_USER add SENDMSG_LASTTIME ...
- 快速入门Redis调用Lua脚本及使用场景介绍
Redis 是一种非常流行的内存数据库,常用于数据缓存与高频数据存储.大多数开发人员可能听说过redis可以运行 Lua 脚本,但是可能不知道redis在什么情况下需要使用到Lua脚本. 一.阅读本文 ...
- 使用gitlab构建基于docker的持续集成(一)
使用gitlab构建基于docker的持续集成(一) gitlab docker aspnetcore 持续集成 开篇 整体环境规划 准备工作 CA证书 虚拟机系统:安装Centos7.3 3.设置C ...
- 《C++ Primer》笔记 第4章 表达式
C++的表达式要不然是右值(right-value or read-value),要不然就是左值(left-value or location-value). 当一个对象被用作右值的时候,用的是对象的 ...
- 公钥基础设施PKI利用SRAM物理不可克隆函数PUF实现芯片标识唯一性
下面给出PKI利用SRAM PUF实现芯片标识唯一性的方法思路: PKI利用SRAM PUF实现芯片标识唯一性的方式 (1)使用PUF原因 物理上不可克隆函数利用硅制造的自然变化来产生每个芯片统计上唯 ...
- 【小菜学网络】MTU
不同的以太网接入设备,一帧能传输的数据量是有差异的. 普通的以太网卡,一帧最多能够传输 1500 字节的数据:而某些虚拟设备,传输能力要打些折扣.此外,链路层除了以太网还有其他协议,这些协议中数据帧传 ...
- [转载]Android MVC,MVP和MVVM 思想&例子
在Android开发中,常采用 MVC(Model-View-Controller)或者MVP(Model-View-Presenter) 等框架模式.设计如图 mvc mvp 可以看出,在 MV ...
- 清华大学-成绩排序(排序+解决MLE问题)
成绩排序 成绩排序 这里需要注意的就是超内存的问题. 解决方法就是通过指针的方式,每次动态开n大小的内存,而不是一开始就分配. #include<bits/stdc++.h> using ...
- js导出execl 兼容ie Chrome Firefox各种主流浏览器(js export execl)
第一种导出table布局的表格 1 <html> 2 3 <head> 4 <meta charset="utf-8"> 5 <scrip ...