SuccIDE界面和配置介绍
#界面概览
SuccIDE是几乎纯可视化操作的插件工具,其界面如下图所示:

界面主要包括如下功能板块:
- 资源区:用于存放脚本、数据表、元数据等类型文件,右键菜单提供创建扩展、与服务器同步等功能
 - 服务区:用于展示服务器上的扩展、项目、数据源等,工具栏提供新增服务器、切换服务器、刷新服务器等功能,右侧菜单提供下载功能
 - 同步区:用于展示同步比较后的文件差异树,工具栏提供实时同步、刷新等功能,右侧菜单则提供上传、下载功能
 - 比较区:用于展示单个文件服务器与本地的内容差异,可手工编辑合并内容
 - 日志区:用于显示插件操作过程中的日志
 
#初始化界面
安装好插件后还不能直接使用,需初始化开发环境,只需要初始化一次,可执行命令Init IDE或使用快捷键Ctrl + F1 (win)、Command + F1 (mac)进行初始化,初始化后的会生成如下目录结构,并出现两个新的视图聚宝 Servers和聚宝 Synchronize,如下:

目录结构说明:
.vscode目录,存放系统文件backup目录,存放了同步的备份文件,以压缩包形式存在logs目录,存放插件的日志文件settings.json文件,工作区VSCode设置文件
api目录,存放了bi系统提供的二次开发接口datasources目录,存放数据表数据,以csv形式存在extensions目录,存放了开发的扩展projects目录,存放下载的项目.gitignore文件,git忽略的配置文件package.json文件,包含项目的相关配置,见插件配置tsconfig.json文件,ts编译的配置文件
注意:
- 在使用此命令前,你需要用vscode打开想要进行开发工作的工程目录,应该是一个空目录,在这个目录下执行初始化。
 - 初始化命令只需执行一次,下次启动可直接使用,不用再次执行。
 - 个人开发时,这个命令是你在vscode中安装好插件后,开始使用插件功能时执行的第一个命令,不执行将无法使用插件其他功能。
 - 团队开发时,应该指定一个人使用本命令后,将对应代码提交到git,其他人无需执行本命令,直接fetch代码后,在对应目录进行开发。
 
#视图
#聚宝 Servers——服务
服务视图提供聚宝服务器的新增、切换、刷新以及资源下载,界面如下:

说明:
- 顶部工具栏按钮从左至右依次为:添加服务器、切换服务器、刷新服务器、折叠全部
 - 添加服务器会弹出输入框依次输入服务器名称、URL、用户名、密码等信息
 - 切换服务器会弹出选择列表(除当前服务器以外的其他所有已配置的服务器列表)供选择切换,切换后视图里的当前服务器变更,视图只显示当前服务器
 - 树上右侧按钮用于下载
API、扩展、项目、数据源等类型文件,会下载到对应的api、extensions、projects、datasources目录下,注意:数据源目录起初会是个空目录,需要先在package.json中配置好datasources.include,才能下载与同步,详见插件配置 
#聚宝 Synchronize——同步
同步视图提供文件的比较、上传和下载,界面如下:

说明:
- 顶部工具栏按钮从左至右依次为:自动同步、刷新同步树、折叠全部
 - 比较结果是本地相对于服务器,其中 
M表示修改,D表示删除,A表示新增,点击右侧按钮可以上传下载,点击文件可以比对差异 - 点击自动同步后会持续上传修改,视图中根节点会多一个图标,再次点击则取消,注意自动同步前需确保是同步的,视图效果如下:
 
#设置
SuccIDE提供自动备份、自动编译、自动格式化功能,默认均开启,可根据场景自行选择开启与关闭。

说明:
- 自动备份: 用于在同步后自动将本地与服务器差异文件打包备份,防止丢失
 - 自动编译: 用于编写
ts、less代码后自动编译成浏览器能运行的js、css,主要用于二次开发场景,注意:该设置每次更改后需要重启VSCode - 自动格式化: 用于同步和下载时自动将服务器上json类文件格式化,方便比较元数据文件,主要用于同步元数据场景
 
#插件配置
插件的配置信息都在工作目录下的package.json文件中,以下内容由SuccIDE操作时自动产生,用户也可以进行手动修改,该文件的结构如下:
{
    //服务器配置列表
    "serverConfigs": [
        {
            //服务器名称
			"serverName": "localhost",
 			//服务器Url
            "serverUrl": "http://localhost:8080",
            //用户名
            "user": "admin",
            //密码
            "password": "admin"
        }
    ],
	//同步服务配置
    "syncConfig": {
		//当前连接的服务器
        "currentServer": "localhost",
		//当前开发
        "currentDevelopment": {
			//开发名称,即目录名
            "name": "DEMO",
			//开发类型,有datsource、extension、project
            "type": "project",
			//开发项目名
            "project": "DEMO"
        }
    },
    //同步忽略文件,用于配置忽略不需要同步的文件
    //文件格式:元数据路径即可
	"projects.exclude": [
        "/DEMO/ana",
        "/DEMO/data",
        "/DEMO/fapp",
        "/sysdata/app/default.app",
        "/sysdata/settings/themes"
    ],
    //数据源配置文件,用于配置哪些数据表需要下载数据内容
    //文件格式:/{数据源名称}/{数据表名称}
	"datasources.include": [
		"/default/cn_adcode",
		"/聚宝/countriesgeo",
		"/聚宝dw/country",
		"/聚宝yw/dw_field_roles"
	]
}