JUGO-IDE

1.什么是JUGO-IDE

  JUGO-IDE是JUGO技术产品面向开发者提供的用来编写MPC算法的开发工具,结合Frutta谷歌浏览器插件,开发者无需搭建任何环境就可以快速编写、编译、运行和发布算法。

  通过使用JUGO-IDE,开发者可使用Frutta语言编写算法,并通过JUGO-IDE编译成可在JUGO技术产品上执行的电路文件和java模板文件。https://jugo.juzix.net/ide/

2.支持语言

  Frutta语言。

  Frutta作为类C的高级语言,可以将编写的计算逻辑在JUGO-IDE生成电路文件和java模板文件,并在JUGO技术产品中执行计算。详情

3开发环境

  操作系统windows(后续支持linux),chrome浏览器(需先安装Frutta谷歌浏览器插件)

..

  第一步,请点击下载Frutta谷歌浏览器插件的安装包,并在本地解压。

  第二步,在Chrome浏览器地址栏输入chrome://extensions/,启用开发者模式,然后点击按钮“加载已解压的扩展程序”,选择插件所在的文件夹即可。

  注意:由于该插件暂未上传Google插件商店,所以只能以开发者模式运行。打开chrome://extensions/,如下图示开启开发者模式。由于是以开发者模式运行该插件的,Chrome浏览器会弹出“请停用以开发者模式运行的扩展程序”的提示,此时点击“取消”才可以继续使用Frutta谷歌浏览器插件。

6.png


一、界面

1.启动页

1)JUGO-IDE启动页默认包含一个欢迎页和一个算法工程,开发者可根据需要进行增删。

2)开发者在未登录JUGO技术产品的情况下首次进入JUGO-IDE启动页的时候,即会自动弹出登录弹窗,提供了登录、忘记密码、注册等功能入口。开发者登录后才可以使用JUGO-IDE提供的访问算法库、发布算法的功能。当然,开发者也可以点击“暂不登录”关闭该登录弹窗继续使用MPC-IDE,不会对工程编译等功能造成影响。

3)JUGO-IDE启动时,编辑区默认打开JUGO-IDE欢迎页,该页面中提供了JUGO-IDE、Frutta、JUGO技术产品、MPC的简单介绍和详情页面链接,开发者可以点击“详情”去往详情页面进行深入了解。

7.png

2.菜单栏

1)文件管理

  功能描述:提供“新建工程、新建文件、导入本地文件、导出到本地、保存当前文件、保存所有文件、删除当前文件”等功能。

  操作示例:

  • 新建工程:点击头部“工具栏文件--新建工程”,会弹窗创建算法工程弹窗,开发者输入算法名称后,即在当前文件管理器中新建一个算法工程。

8.png

  • 算法工程目录结构:

  • libraries: 引用的算法存放目录;

  • bin: 当前算法工程编译成功生成的java模板文件的存放目录;

  • Include: 算法工程头文件存放目录;

  • Resource: 算法工程源文件存放目录;

  • main.wir: 当前算法工程入口文件

  注意:当前算法工程的编译入口文件为“main.wir”。 如果选中其它文件点击编译,JUGO-IDE会自动定位到当前选中文件所属的算法工程,并编译该算法工程中的“main.wir”。如果需要编译其它文件,需要在“main.wir”中引入该文件后再点击“编译”。

  • 新建文件:点击头部“工具栏文件--新建文件”,即在当前工程目录下新建一个Untitled1.wir文件,并自动在编辑区打开。

  功能限制:IDE当前文件系统中至少有一个工程。

  • 导入本地文件:点击头部工具栏“文件--导入本地文件”,选择某一文件后该文件即被导入进JUGO-IDE文件管理器,并自动在编辑区打开。

  功能限制:IDE当前文件系统中至少有一个工程。

  • 导出到本地:点击头部工具栏“文件--导出到本地”,会将IDE中当前选中的文件或文件夹导出到本地,文件夹的格式为“文件夹名”.rar,文件的格式和当前选中的文件在IDE中的格式保持一致。

  功能限制:需要在IDE中选中文件或文件夹。

  • 保存/全部保存:点击头部工具栏“文件--保存”,会保存当前文件;点击头部工具栏“文件--全部保存”,会保存文件管理器中的所有文件;

  功能限制:当前窗口中有需要保存的文件

  • 删除:点击头部工具栏“文件--删除”,会删除当前编辑区窗口打开的文件;

  功能限制:当前有选中的文件

2)编辑操作

  功能描述:提供对当前文件“撤销、恢复、复制、剪切、粘贴、查找、替换、格 式化、在文件中查找、在文件中替换”等常规功能。

  操作示例:

  在文件中查找/替换:点击头部工具栏“编辑--在文件中查找/替换”,左侧边栏会弹出搜索窗口,实现全局关键字的查找/替换功能。

  功能限制:当前编辑区窗口中有打开的文件

3)帮助

  功能描述:提供对操作员的帮助文档。

  操作示例:

  • 欢迎使用:点击头部工具栏“帮助--欢迎使用”,即会回到JIDE的欢迎页面,该页面中提供了JIDE的简介及使用的大致流程。

  • 帮助文档:点击头部工具栏“帮助--帮助文档”,即会跳转到JUGO技术产品的文档中心,文档中心中包含了比较详细的开发流程。 

9.png

3.工具栏

1)文件管理

  功能描述:控制文件管理器的展开或收起。

  操作步骤:文件管理器窗口默认展开,点击左侧工具栏“文件管理10002.png ”控制文件管理器窗口的展开与收起

10.png

2)全局搜索

  功能描述:提供全局的搜索、替换功能。

  操作步骤:

  第一步:点击左侧工具栏“搜索10003.png ”按钮,调出全局搜索功能窗口;

  第二步:输入关键字即可即时出现搜索结果,关键字支持区分字母大小写、全字匹配、正则表达式;

  第三步:点击搜索结果自动跳转到当前文件;

  第四步:替换操作支持单个替换和全部替换,输入替换内容后,可以选择单个替换和全部替换;

11.png

3)运行算法

  功能描述:对进行编译成功的电路文件进行测试运行。

  操作步骤:

  第一步:点击左侧工具栏“运行10004.png ”按钮,调出运行算法面板;

12.png

  第二步:如果当前选中的工程没有编译成功,则提示没有数据;

  第三步:如果当前选中的工程已经编译成功,则可输入输入项运行该算法;

  第四步:运行成功,则会在输出栏提示运行成功并输入运行结果;

13.png

  第五步:运行成功后,即可看到运行结果,格式如“name:value”,”name”即为当前运行的算法代码中的输出变量的名称,”value”为算法代码中输出变量的值。

4)算法库

  功能描述:所有已上传到算法中心的算法,都可在算法库中调用,点击图标进入算法库页面。

  操作步骤:

  注意:进入算法库需要用户已登录,未登录状态则需要进行登录。

  第一步:点击左侧工具栏“算法库10005.png ”按钮,调出算法库面板;算法列表中展示每一个算法的名称、简介和发布者,支持关键字搜索算法;

  第二步:点击某一个算法,即跳往该算法的详情界面,开发者可以了解到算法更多的信息,并提供了下载该算法的功能入口。

  功能限制:需要开发者登录之后才能访问,如果开发者未登录,IDE会自动弹出登录弹窗提示开发者登录。

14.png

3.编辑区

1)语法检查

  功能描述:对当前编辑的文件执行“保存”或者“编译”的操作时,会进行语法检查,错误的地方有红色叉号标识,鼠标悬浮在该行文字上时会显示具体的错误信息。

15.png

2)查找/替换

  功能描述:输入关键字进行查找/替换,支持区分字母大小写、全字匹配、正则表达式。搜索结果支持上一个、下一个定位操作,替换操作支持单个替换和当前编辑区文件全部替换操作。

3)多个窗口展示

  功能描述:编辑区打开文件过多时,隐藏的部分文件可在右侧“更多文件”入口打开。

  操作步骤:点击右侧更多文件“...”标识,即可调出文件列表,其中加黑显示的是已经在编辑区显示的文件,灰色显示的是隐藏的文件;

16.png

4)窗口右键操作

  功能描述:提供“关闭、关闭其他、关闭右侧、关闭未更改、关闭所有”功能。

  操作步骤:选中某一文件名,单击右键即可调出右键操作菜单。

17.png

5)文件状态标识

  功能描述:每个文件名称左侧出现红色小圆点图标,则表示该文件更改后尚未保存;出现绿色小圆点图标,则表示该文件已保存。


二、快捷键

键名操作功能限制
Alt+p新建工程
Alt+N新建文件IDE当前文件系统中至少有一个工程
Ctrl+O导入本地文件IDE当前文件系统中至少有一个工程
Ctrl+S保存IDE当前文件系统中有未保存的文件
Ctrl+Alt+S全部保存IDE当前文件系统中有未保存的文件
Ctrl+delete删除当前有选中的文件
Ctrl+Z撤销当前编辑区窗口中有打开的文件
Ctrl+Y恢复当前编辑区窗口中有打开的文件
Ctrl+C复制当前编辑区窗口中有打开的文件
Ctrl+X剪切当前编辑区窗口中有打开的文件
Ctrl+V粘贴当前编辑区窗口中有打开的文件
Ctrl+F查找当前编辑区窗口中有打开的文件
Ctrl+H替换当前编辑区窗口中有打开的文件
Ctrl+L代码格式化当前编辑区窗口中有打开的文件
F2重命名当前有选中的文件
F8编译IDE当前文件系统中至少有一个工程


三、编写流程

1.文件格式

1) 输入文件格式

  JUGO-IDE目前支持所有格式文件的编辑,但是编译功能仅限于.wir格式的文件。

2) 输出文件格式

  在JUGO-IDE中对一个.wir格式的文件进行编译将生成一个.gc格式的电路文件和一个.java格式的java模板文件;.gc文件可通过“导出”按钮导出到本地,.java文件放置于工程“bin”目录,可通过菜单栏或者工具栏中“导出到本地”功能导出到本地,.java文件可在java-sdk中使用。。

2.自动补全

  功能描述:JUGO-IDE编辑区在输入过程中即时显示自动补全提示。

3.编程

  功能描述:JUGO-IDE编辑区提供查找、替换、代码格式化、字体放大、字体缩小、撤销、恢复等常用功能。

  流程:编辑--保存--编译

  错误类型反馈:

1)开发者在执行保存操作时,如果代码中有语法错误,错误的地方行号处有红色叉号标识,鼠标悬浮在该行文字上时会显示具体的错误信息。

2)开发者在执行编译操作时,如果编译出错,IDE输出区域会有红色的错误信息输出,点击错误信息,编辑区会自动打开当前发生错误的文件。

  措施:开发者在执行保存或者编译时如果有错误信息提示,需要重新编辑文件纠错后再执行保存或者编译操作。

18.png

4.运行

  功能描述:JUGO-IDE编辑区提供“查找、替换、代码格式化、字体放大、字体缩小、撤销、恢复”等常用功能。

  流程:当前工程编译成功后执行运行

  错误类型反馈:

1)当前项目没有编译成功

19.png

  措施:开发者需要先对当前工程进行编译,编译成功后才能运行算法。

2)无效参数

20.png

  措施:当前项目编译成功后运行的时候,会对输入参数进行类型和范围校验,存在不合法的参数时无法点击“运行”按钮。

5.发布

  功能限制:

1)需要开发者登录。

2)当前项目编译成功并通过了运行测试。

  用途:开发者可将已通过运行测试的算法发布到JUGO技术产品的算法库中,算法库是JUGO技术产品的算法仓库,开发者使用JUGO-IDE发布的算法会生成一个唯一的算法ID,通过这个算法ID可以下载该算法,并通过JUGO-SDK使用该算法。详情

21.png

6.算法库

  功能限制:需要开发者登录。

  用途:开发者可以访问到JUGO技术产品的算法中心的所有算法。算法列表中展示每一个算法的名称、简介和发布者,支持关键字搜索算法;点击某一个算法,即跳往该算法的详情界面,开发者可以了解到算法更多的信息,并提供了下载该算法的功能入口。

22.png

7.导出

  功能描述:开发者可以通过导出功能将JUGO-IDE中当前选中的文件或文件夹导出到本地,文件夹的格式为“文件夹名”.rar,文件的格式和当前选中的文件在IDE中的格式保持一致。


四、登录

  开发者登录后才可以访问JUGO-IDE提供的访问算法库、发布算法的功能。