在前面说了一些有关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的更多相关文章

  1. Salesforce学习之路-developer篇(一)利用VS Code结合Git开发Salesforce

    Part 1: 从Git中克隆代码到本地 git clone https://github.com/git/git Part 2: 在VS Code中安装Salesforce和Git插件 在VS Co ...

  2. Salesforce学习之路(十三)Aura案例实战分析

    Aura相关知识整合: Salesforce学习之路(十)Aura组件工作原理 Salesforce学习之路(十一)Aura组件属性<aura:attribute /> Salesforc ...

  3. 学习之路三十九:新手学习 - Windows API

    来到了新公司,一开始就要做个程序去获取另外一个程序里的数据,哇,挑战性很大. 经过两周的学习,终于搞定,主要还是对Windows API有了更多的了解. 文中所有的消息常量,API,结构体都整理出来了 ...

  4. Redis——学习之路三(初识redis config配置)

    我们先看看config 默认情况下系统是怎么配置的.在命令行中输入 config get *(如图) 默认情况下有61配置信息,每一个命令占两行,第一行为配置名称信息,第二行为配置的具体信息.     ...

  5. Salesforce学习之路-admin篇

    Salesforce是一款非常强大的CRM(Customer Relationship Management)系统,国外企业使用十分频繁,而国内目前仅有几家在使用(当然,国内外企使用的依旧较多),因此 ...

  6. Salesforce学习之路(一)几个简单概念

    Salesforce是一款非常强大的CRM(Customer Relationship Management)系统,国外企业使用十分频繁,而国内目前仅有几家在使用(当然,国内外企使用的依旧较多),因此 ...

  7. Orleans[NET Core 3.1] 学习笔记(三)( 1 )本地开发配置

    本地开发配置 本地开发和调试的时候,我们可能不需要去关注集群和网络ip端口.所以对于本地开发模式,Orleans给了我们比较简单的配置方式. Silo配置 在本地开发的配置模式下,Orleans会默认 ...

  8. Salesforce学习之路-developer篇(三)利用Visualforce Page实现页面的动态刷新案例学习

    Visualforce是一个Web开发框架,允许开发人员构建可以在Lightning平台上本地托管的自定义用户界面.其框架包含:前端的界面设计,使用的类似于HTML的标记语言:以及后端的控制器,使用类 ...

  9. Salesforce学习之路-developer篇(二)利用Jenkins和Bitbucket实现Salesforce的CI/CD功能

    上文提到,基于CRM的二次开发是必不可少的,但是在实际项目中CI/CD是不可忽略的一个重要部分,与传统的Java,Python项目不同,如果对Salesforce进行持续集成和持续部署呢? 结合找到的 ...

随机推荐

  1. .NET 云原生架构师训练营(模块二 基础巩固 安全)--学习笔记

    2.8 安全 认证 VS 授权 ASP .NET Core 认证授权中间件 认证 JWT 认证 授权 认证 VS 授权 认证是一个识别用户是谁的过程 授权是一个决定用户可以干什么的过程 401 Una ...

  2. springCloud中的服务调用feign

    springCloud中的服务调用(要在调用端写) 前提进行了服务注册 流程: 1.在服务模块中添加依赖 <!--服务调用--> <dependency> <groupI ...

  3. linux系统忘记root的登录密码

    参考链接:https://www.jb51.net/article/146541.htm  亲测有效 使用场景 linux管理员忘记root密码,需要进行找回操作. 注意事项:本文基于centos7环 ...

  4. 京东数科二面:常见的 IO 模型有哪些?Java 中的 BIO、NIO、AIO 有啥区别?

    IO 模型这块确实挺难理解的,需要太多计算机底层知识.写这篇文章用了挺久,就非常希望能把我所知道的讲出来吧!希望朋友们能有收货!为了写这篇文章,还翻看了一下<UNIX 网络编程>这本书,太 ...

  5. 导入Excel时,如果有多个投料信息,则循环导入

    List<Input> list = new ArrayList<Input>();for (int j = 0; j < 500; ) { String materia ...

  6. C#正则实现匹配一块代码段

    最近项目,生成聚合网关,但是生成的网关文件中,存在着不必要的代码段,比如一个类A,类B等 之前一直使用手动删除,这么做劳民伤财,浪费时间,考虑使用正则写一个工具实现自动删除. 正则写法: string ...

  7. 在onBackPress中实现退出拦截时不生效

    现象描述 在快应用中弹出一个弹窗,期望效果是该弹窗在用户确认后再退出,但是使用onbackpress控制确认弹窗后自动退出不生效. 问题分析 快应用引擎实现机制决定了onbackpress不能有耗时的 ...

  8. mysql内一些可以延时注入的查询语句

        一.sleep() 配合其他函数进行使用将十分方便,如下所示: 拆分讲解: select substr(database(),1,1) ; 截取当前数据库的第一位,转换为ascii码值: se ...

  9. C#关于个Base64,MD5,16进制的转换

    1,待签名数据以UTF-8的格式转字节流,对字节流进行MD5算法得到的签名字节流,再转换为16进制字符串,即生成了数字签名. byte[] targetData = md5.ComputeHash(S ...

  10. 第七届蓝桥杯省赛JavaB组——第十题压缩变换

    题目: 压缩变换小明最近在研究压缩算法.他知道,压缩的时候如果能够使得数值很小,就能通过熵编码得到较高的压缩比.然而,要使数值很小是一个挑战.最近,小明需要压缩一些正整数的序列,这些序列的特点是,后面 ...