• [活动公告] 【中级体验任务】Huawei Cloud Toolkit Intellij插件体验测评
    体验形式:本次体验采用有奖征集体验评测报告+群内交流反馈的形式。我们将在体验官群内(点击链接申请成为体验官)筛选体验官若干位,然后按照体验官任务卡的要求操作和体验产品,最后输出体验报告(完成PPT任务卡填写即可),并按照华为云账号名+微信昵称+体验报告附件的格式回复至本帖。我们会从中筛选出高质量体验报告,给予礼品奖励和积分奖励。  产品简介:Huawei Cloud Toolkit Intellij插件,提供在Intellij中的以下功能:1、自动补全华为云sdk代码。2、查找和浏览华为云api。3、查找和浏览DevStar代码模板和Codelabs代码示例。4、根据DevStar代码模板创建工程。  体验流程:1、体验场景描述您是一位使用华为云的Java软件开发工程师,最喜爱的IDE是Intellij,这天你正准备使用华为云的AI能力开发一个项目,为了更高效地使用华为云的能力,您在Intellij上面安装了Huawei Cloud Toolkit插件。2、体验流程在Intellij上安装Huawei Cloud Toolkit插件 -> 配置华为云AK/SK -> 使用DevStar代码模板创建Spring项目 -> 使用 API 搜索功能查找相关的人脸识别API -> 使用代码自动补全功能和SDK自动引入功能编写代码 -> 实现人脸检测和人脸对比3、体验完成条件使用华为云API实现人脸检测和人脸对比4、体验报告模板详见附件  活动流程:1.如您已经成为产品体验官,小助手会在群内发布招募公告,直接报名即可。2.如您还未申请成为体验官,请点击链接先申请成为体验官,再参与活动哦~申请链接:https://developer.huaweicloud.com/activity/experience-officer.html  ☆奖品设置如下☆参与奖:若干名活动要求:按照要求完成任务卡奖品:公牛插排1个+3体验官积分    优秀奖:若干名活动要求:被专家评为优秀报告奖品:颈枕1个+5体验官积分    体验评测报告交稿时间:- 招募期:2021.8.30-2021.9.12- 测试期:2021.9.13-2021.9.26
  • [技术干货] idea神器推荐
    RESTKit工具介绍 一套 RESTful 服务开发辅助工具集。 1.根据 URL 直接跳转到对应的方法定义 ( Ctrl \ or Ctrl Alt N ); 2.提供了一个 Services tree 的显示窗口; 3.一个好用的类似Postman的 http 请求工具; 4.其他功能: java 类上添加 Convert to JSON 功能。 支持 Spring 体系 (Spring MVC / Spring Boot) 支持 JAX-RS 支持 Java 和 Kotlin 语言。 安装 小编使用的idea工具版本为2020.3 ctrl +alt +s  →settings plugins →Marketplace 搜索框输入:RESTKit→Install 具体操作见下图: ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202108/24/171539zgwzdubbw1fq6o0t.png) ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202108/24/171546vmfdzrosv7kesyak.png) 安装后,重启IDEA,插件才能生效,此时,右侧工具栏出现RESTKit ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202108/24/171554tetkuli5osekcua0.png) 配置基本信息 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202108/24/1716026i0fumla5eoepgux.png) ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202108/24/171608vg4oye9bf4bibxk0.png) 测试 可以在Params配置参数信息 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202108/24/171621jvgoqnofyvtm1hlo.png) 配置完成后,点击send,就会出现返回值信息。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202108/24/171632o3tbllwdpc9iii3y.png) 如果没有返回值,可能是参数配置不正确,插件会给出提示信息,注意查看! 工具唯一不足的地方就是每次都需要填写参数信息,没有请求记录。
  • [毕昇JDK] 【技术剖析】6. JNI 中错误的信号处理导致 JVM 崩溃问题分析
    作者:宋尧飞编者按:JNI 是 Java 和 C 语言交互的主要手段,要想做好 JNI 的编程并不容易,需要了解 JVM 内部机理才能避免一些错误。本文分析 Cassandra 使用 JNI 本地库导致 JVM 崩溃的一个案例,最后定位问题根源是信号的错误处理(一些 C 编程人员经常会截获信号,做一些额外的处理),该案例提示 JNI 编程时不要随意截获信号处理。现象在使用 Cassandra 时遇到运行时多个位置都有发生 crash 现象,并且没有 hs_err 文件生成,这里列举了其中一个 crash 位置:分析首先直接基于上面这个 crash 的 core 文件展开分析,下面分别是对应源码上下文和指令上下文:使用 GDB 调试对应的 core 文件,如下图所示:在 GDB 中进行单步调试(GDB 调试可以参考官方文档),配合源代码发现 crash 的原因是传入的 name 为 null,导致调用 name.split("\_") 时触发了 SIGSEGV 信号,直接 crash。暂时抛开这个方法传入 name 为 null 是否有问题不论,从 JVM 运行的机制来说,这里有个疑问,遇到一个 Null Pointer 为什么不是抛出 Null Pointer Exception(简称 NPE)而是直接 crash 了呢?这里有一个知识需要普及一下:Java 层面的 NPE 主要分为两类,一类是代码中主动抛出 NPE 异常,并被 JVM 捕获 (这里的代码既可以是 Java 代码,也可以是 JVM 内部代码);另一类隐式 NPE(其原理是 JVM 内部遇到空指针访问,会产生 SIGSEGV 信号, 在 JVM 内部还会检查运行时是否存在 SIGSEGV 信号)。带着上面的疑问,又看了几处其他位置的 crash,发现都是因为对象为 null 导致的 SIGSEGV,却都没有抛出 NPE,而是直接 crash 了,再结合都没有 hs_err 文件生成的现象, hs_err 文件生成功能位于 JVM 的 SIGSEGV 信号处理函数中,代码如下:由于 hs_err 文件没有产生,一个很自然的推断:Cassandra 运行中可能篡改了或者捕获了 SIGSEGV 信号,并且可能做了处理,以至于 JVM 无法正常处理 SIGSEGV 信号。然后排查业务方是否在 Cassandra 中用到了自定义的第三方 native 库,果然笔者所猜测的,有两个 native 库里都对 SIGSEGV 信号做了捕获,注释掉这些代码后重新跑对方的业务,crash 现象不再发生,问题(由于 Cassandra 中对 NPE 有异常处理导致 JVM 崩溃)解决。总结C/C++ 的组件在配合 Java 一起使用时,需要注意的一点就是不要随意去捕获系统信号,特别是 SIGSEGV、SIGILL、SIGBUS 等,因为会覆盖掉 JVM 中的信号捕获逻辑。附录 这里贴一个 demo 可以用来复现 SIGSEGV 信号覆盖造成的后果,有兴趣的可以跑一下:// JNITest.java import java.util.UUID; public class JNITest { public static void main(String[] args) throws Exception { System.loadLibrary("JNITest"); UUID.fromString(null); } }// JNITest.c #include <signal.h> #include <jni.h> JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *jvm, void *reserved) { signal(SIGSEGV, SIG_DFL);//如果注释这条语句,在运行时会出现NullPointerExcetpion异常 return JNI_VERSION_1_8; }通过 GCC 编译并执行就可以触发相同的问题,编译执行命令如下:$ gcc -Wall -shared -fPIC JNITest.c -o libJNITest.so -I$JAVA_HOME/include -I$JAVA_HOME/include/linux $ javac JNITest.java $ java -Xcomp -Djava.library.path=./ JNITest后记如果遇到相关技术问题(包括不限于毕昇 JDK),可以进入毕昇 JDK 社区查找相关资源,包括二进制下载、代码仓库、使用教学、安装、学习资料等。毕昇 JDK 社区每双周周二举行技术例会,同时有一个技术交流群讨论 GCC、LLVM、JDK 和 V8 等相关编译技术,感兴趣的同学可以添加如下微信小助手,回复 Compiler 入群。原文转载自 openEuler-JNI 中错误的信号处理导致 JVM 崩溃问题分析
  • [技术干货] IDEA+git+华为云配置
    将IDEA中的项目提交到git远程仓库版本管理,git远程仓库使用华为云进行代码托管。市面上常见的git托管平台有github、华为云、码云、开源中国、Gitlab等。0、下载和安装git:https://git-scm.com/download/一、创建华为云账号:1、从U+实训课程页面,进入到华为华为云首页,U+已与华为云账号打通,华为云和U+共用相同的账号和密码。2、首次进入华为云需要进行实名认证,请自行实名认证二、在IDEA中创建本地仓库1.将idea项目交给版本控制工具,VCS  ——>  Enable Version Control Integration...  2.选择交给git进行管理,点击ok之后,该项目就会交给git进行管理,且在项目所在目录创建本地代码仓库,可以到项目所在目录看到有一个.git的隐藏文件,该目录就是git本地仓库。3.将代码提交到本地仓库(commit)代码提交到本地仓库了。4、为了验证有没有提交成功,可以查看代码的提交历史    右击项目  ——>  Git  ——>  Show History双击某一次提交记录,可以查看该提交的详细内容。三、创建远程仓库以上步骤我们只是将代码提交到了本地仓库,如果实现共享和版本控制,我们要创建远程仓库,远程仓库使用华为云的代码托管。1、华为云首页选择 服务--->代码托管普通新建 输入仓库名,然后确定此处就该仓库的https地址,将项目提交到远程仓库时,根据该地址提交。 mark1三、将本地仓库中的代码提交到远程仓库1、git---》push,提交时push,下载是pull2. 第一次提交需要设置远程仓库地址,其中url是远程仓库的地址(mark1处)3、点击ok  ----》push后需要输入华为云的仓库的账号和密码,仓库账号和密码在如下位置进行查看和修改,默认就是华为云的登陆密码4、 异常处理,第一次提交因为本地项目和远程项目没有关联,所以会提交失败解决办法参考:在项目所在目录下执行git bash,执行命令:(参考:https://www.jianshu.com/p/f8c9fb05681b)git push -u origin master -f或者在idea中使用快捷键  alt+f12  打开命令行Terminal窗口,执行git push -u origin master -f命令,如下图:本地项目和远程仓库进行关联成功,然后在选择idea中vcs--->git---->push   将本地仓库中的代码提交到远程仓库。提交成功后,在网页上可以看到,本地的代码已经提交提交到远程仓库,在网站端可以查看、修改提交的内容。5、(1)如果其他开发人员更新了远程仓库,可以选择通过pull进行下载下来。(2)如果想下载在远程仓库的项目,可以在开发工具中选择check out from version Control,然后输入仓库url(3)总结:每次先本地提交commit,在push
  • [问题求助] 鲲鹏代码迁移工具在idea上无法登录
    下载idae组件porting Advisor在idea上进行登录,输入用户名密码后,跳转Disclaimer,点击同意后,又跳转到登陆界面
  • [其他] ModelArts本地IDE操作流程
    ModelArts支持通过本地IDE环境远程连接到Notebook中,开发基于Pytorch、Tensorflow和MindSpore引擎的AI模型。具体操作流程如下图所示。 **图1** 使用本地IDE开发流程 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202107/31/2346239gigkz0j8hq3x67y.png) 1. 创建Notebook实例 在ModelArts控制台中创建一个Notebook开发环境实例,选择要使用的AI框架,并开启SSH远程开发功能。 2. 配置本地IDE远程连接Notebook 在用户的PC端配置本地IDE环境,远程连接到ModelArts的开发环境中。 支持通过PyCharm和VSCode 2类本地IDE连接云上Notebook。PyCharm可以使用插件自动化配置,也可以手工配置。 3. 上传数据和代码至开发环境中,进行代码调试。 - 代码直接拷贝至本地IDE中即可,本地IDE中会自动同步至云上开发环境。 - 小于500MB数据量直接拷贝至本地IDE中即可。 - 大于500MB数据量请先上传到OBS中,从OBS上传到默认存储EFS或云硬盘EVS。 4. 在本地IDE中编码和调试 在本地IDE中编写代码,并调试运行。 5. 将调试好的训练脚本和用于训练的数据集上传至OBS目录。 6. 提交训练作业。提交训练作业有如下2种方式: - (推荐)在ModelArts的Console控制台页面中提交新版训练作业,具体参考[创建训练作业](https://support.huaweicloud.com/engineers-modelarts/modelarts_23_0286.html)。 - 在本地IDE中提交训练作业(当前仅支持提交到旧版训练作业) - 可以基于PyCharm ToolKit直接提交训练作业,具体参考[使用PyCharm ToolKit提交训练作业](https://support.huaweicloud.com/tg-modelarts/modelarts_15_0007.html)。 - 也可以通过调用ModelArts提供的SDK,创建训练作业,上云训练,调用SDK创建训练作业的操作请参见[调用SDK创建训练作业](https://support.huaweicloud.com/sdkreference-modelarts/modelarts_04_0131.html)。
  • [问题求助] 【MRS_spark2.x】【对接205环境Kafka】网络能ping通,本地IDEA能连接,MRS集群连接失败
    【功能模块】MRS—  sparkstreaming_kafka_010【操作步骤&问题现象】1、IDEA编写程序,POM依赖与示例程序一致,本地调式无误后,打包上传。2、集群主节点上运行kinit user    bin/spark-submit --master yarn --deploy-mode client --class com.spark.core.Kafka_sparkStreaming_elasticSearch /opt/sparkTest/sparkdemo-1.0-SNAPSHOT.jar【截图信息】1.spark程序所使用依赖。2.提交到MRS集群上之后运行报错位置,显示集群节点不能连接(Kafka配置与本地Idea完全一致,idea能正常消费数据。集群上kafka消费组与idea环境一致不一致都不能连接)【日志信息】(可选,上传日志内容或者附件)
  • [问题求助] 如何用IDEA 上的database 连接数据湖,在IDEA 读取到schema信息,或直接执行SQL
    【功能模块】【操作步骤&问题现象】1、2、【截图信息】【日志信息】(可选,上传日志内容或者附件)
  • [技术干货] idea增加内存
    最近升级了下idea工具,发现运行代码超级卡顿,于是检查了下内存使用情况,显示内存长期占用在80%以上....最简单的办法,增加内存设置help-edit custom vm options下,设置-Xms1024m-Xmx2048m然后重启idea.搞定
  • [技术干货] NLP模型「可理解分析+评价排行榜」,CMU最新工具助你找到好idea
    CMU 联合复旦、俄亥俄州立大学的研究者推出了一个将模型可理解分析和模型评价排行榜结合起来的科研辅助工具 ExplainaBoard作者:佚名来源:机器之心ProCMU 联合复旦、俄亥俄州立大学的研究者推出了一个将模型可理解分析和模型评价排行榜结合起来的科研辅助工具 ExplainaBoard,能够完成单系统诊断、数据集分析以及可信度分析等任务,有效提升科研人员的学术体验。你是否在读论文的时候觉得别人的 idea 很有道理,可自己设计 idea 时却无从下手?你是否经常因为「模型效果好,但是没有给出有深度且全面的解释」而被审稿人给低分?当你厌倦了挖掘新的模型结构时,是否对数据集特性的挖掘感兴趣,从而引领一个更加健康的领域发展方向?在刚接触一个新领域时,如何做到:既能快速了解该领域目前发展的状况,又能快速了解它的瓶颈?还记得不久前引起网络热议的自动审稿系统么?这支来自 CMU 的 团队日前又发布了一个可解释的系统排行榜(ExplainaBoard),它被定位成一个科研辅助产品,巧妙地把「模型可理解分析」和「模型评价排行榜」两个看似无关的元素结合,将平时科研中很多被我们忽略却很重要的部分转化成「一键式」操作,从而提升科研人员做学术的体验。系统链接:http://explainaboard.nlpedia.ai/论文链接:https://arxiv.org/pdf/2104.06387.pdf目前,ExplainaBoard 在单任务上支持分类、抽取、生成在内的9个主流 NLP 任务,涉及40多个数据集、300多个模型;在多任务上,支持多语言评价基准,包含40多种语言和9个跨语言任务。技术解读随着深度学习模型的快速发展,排行榜(Leaderboard)已经成为一种用来追踪各种系统性能的主流工具。然而,由于在排行榜上排名靠前的模型所具有的声望,很多研究人员只关注提高评估指标的数字,而忽略了对模型特性更深入的科学理解。ExplainaBoard 就是在这样的背景下诞生的,它不仅可以排序不同的模型,还提供了很多与模型和数据集相关的——可理解、可交互和可信赖的分析机制(如下图所示):具体说来,它可以完成以下功能:单系统诊断可以解决的问题:「我设计的模型擅长 / 不擅长做什么?」系统对诊断可以解决的问题:「我设计的模型比别人的好在哪里?」数据集分析可以解决的问题:「数据集的特点是什么?」共有错误分析可以解决的问题:「排名 Top-5 的系统共同错误预测是什么?」细粒度错误分析可以解决的问题:「模型错误预测主要发生在哪儿,以及具体是哪些错误?」系统组合可以解决的问题:「将排名 Top-5 的系统组合在一起,会得到一个更强大的系统么?」可信度分析可以解决的问题:「模型预测结果的可信程度有多高?」校准分析可以解决的问题:「预测的可信度是如何校准其正确性的?」应用前景在应用上,据该项目负责人刘鹏飞博士介绍,ExplainaBoard 目前收到了 DeepMind、Google、Huggingface 和 Paperswithcode 等多家企业的合作邀请以及投资人的青睐。比如,Google & Deepmind 最新 arXiv 工作 XTREME-R: Towards More Challenging and Nuanced Multilingual Evaluation 使用 ExplainaBoard 升级了他们的多语言评测基准。
  • [技术干货] Huawei LiteOS的中间件
    2.5.1 Huawei LiteOS SDKLiteos SDK是Huawei LiteOs软件开发工具包( Software Development Kit),其包括端云互通组件,FOTA升级,JS引擎、传感器框架等内容。LiteOS SDK由互联组件和增强组件两部分组成,互联组件负责实现云端互通能力,增强组件配套华为loT云平台OceanConnect为行业伙伴打造的电信级loT通用能力。2.5.2 Huawei LiteOS端云互通组件LiteOs SDK端云互通组件作为独立的组件,不依赖特定的芯片架构和网络硬件类型,可以轻松地集成到各种通信模组上,如NB-loT模组、eMT模组、Wi-Fi模组、GSM模组、以太网硬件等。端云互通组件提供端云协同能力,集成了LwM2M、CoAP、mbed TLS、LwIlP等全套loT互联互通协议栈。2.5.3 Huawei LiteOS互联框架提供IP、TCP/UDP、CoAP完整协议栈,降低开发门槛,实现互联。提供可灵活配置的应用Profile,实现不同设备的互通。2.5.4 Huawei LiteOS互联框架提供多种传感算法,应用无需开发,直接调用抽象不同类型传感器接口,屏蔽硬件细节,实现即插即用。2.5.5 Huawei LiteOS安全框架
  • [技术干货] Keil MDK中的常用设置
    在使用keil进行嵌入式开发时,为了方便我们开发以及符合我们的审美,我们常常会对keil对一些配置。 ## 1.下载后自动运行程序 Keil默认在下载程序后,需要手动按下开发板复位才能启动程序。通过修改修改配置,可以下载后自动复位重启运行程序,方便调试。 点击 按钮,切换到“Utilities”标签,点击“Settings”,如下图所示。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202104/18/122729y9mua5ituin5dym6.png) 随后弹出设置界面,切换到“Flash Download”标签,勾选上“Reset and Run”,如下图所示。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202104/18/122746j4gzxdkcdqwnzxpn.png) ## 2.生成Bin文件 实际开发中,可能需要Bin格式的下载文件,而Keil默认不会生成Bin格式文件,需要进行相关配置。点击 按钮,切换到“User”标签,在“After Build/Rebuild”添加“fromelf --bin -o “$L@L.bin” “#L””,同时勾选“Run #1”,表示在编译完后,执行fromelf命令生成bin文件,如下图所示。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202104/18/123045zbm8oaky6twplyiv.png) 设置完成后,点击“OK”保存。重新编译整个工程,将在工程的“Project\Objects”目录下生成xx.bin文件(xx为工程名)。 ## 3.字体编码等设置 点击“扳手”按钮,进入Keil设置界面,如下图所示。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202104/18/123149juvagxuycu4rd744.png) 在“Editor”标签,字符编码选择“Chinese GB2312(Simplified)”,可以解决代码中中文注释乱码问题。在下方的“C/C++ Files:”的“Tab size:”设置为4,可以解决代码中缩进对齐问题,如下图所示。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202104/18/123214giui0wcmwz8xmzij.png) 然后切换到“Colors & Fonts”界面,选择“C/C++ Editor files”,可修改字体、数字、关键词等的字体样式、大小、颜色,如果没特殊需求,默认即可,如下图所示。 ![image.png](https://bbs-img.huaweicloud.com/data/forums/attachment/forum/202104/18/123226yvbe5icpwsdqr61t.png)
  • [技术干货] IntelliJ IDEA快捷键
    ctrl+W //选中单词ctrl+<-- --> //上一个/下一个单词ctrl+shift+enter//自动完成,句尾加分号alt+enter //智能提示,如生成变量ctrl+alt+L //整个代码缩进格式化ctrl+/  //单行注释ctrl+shift+/ //块注释ctrl+alt+shift+J //列操作esc//退出列模式shift+F6 //重命名
  • [热门活动] 周年直播倒计时3天,攒足惊喜等你开场! | MindSpore 开源一周年
    撒花撒花,我们的小孢子破壳快满1周年啦!在MindSpore 1周岁生日即将到来之际,为了感谢开发者的厚爱,3月28日-29日10:00-22:00,「MindSpore官方」将在B站开启全球直播和大家一起开轰趴!开源大咖空降直播间等你来撩,懂的不懂的问题百无禁忌!激发你的小宇宙,与志同道合的伙伴一起探索智能世界,玩转头脑风暴!赶紧积攒脑力,把你想了解的内容打在直播间公屏上!大咖还要手把手教你如何使用新工具!就算你是刚出道的小白,也能跟上大咖的脚步了解技术的奥义(名师出高徒,你懂的)!还有还有!每天12小时直播礼品满屏撒弹幕抽奖形式多多,快来抓住一年欧气!赶快跟着小编操作一波现在快去B站关注MindSpore官方MindSpore周年生日趴3月28日10:00等你一起开场!
  • [技术干货] idea添加数据库图文教程
    我们平时在写代码的时候经常会用到数据库,我们需要时常查看我们的数据是不是符合预期的,我们希望有一个图形界面可以直接看到数据,而不需要每次都手动敲指令,这样工作效率会比较低。本文将教会你怎么直接在idea中配置数据库,然后能直接看到我们的数据。一、配置在idea最右侧有一个工具栏,我们点击DataBase按钮,然后会出现如上界面,我们选择添加按钮选择MySQL输入DataBase,User,Password最后点击Apply,OK这时候我们已经能看到我们数据库中所有的表了,我们随便点击一个看看吧点击之后我们就能看到我们表中存好的数据了,很方便吧。哈哈补充知识:idea添加自定义live template模板idea添加自定义live template模板环境说明:idea版本:2018.03.06idea知道有这个功能,不知道eclipse有没有idea有一个非常方便编码的功能,就是Live Template,这个功能的本质就是构建一个常用代码段和一个缩写的映射,在编码时,使用这些缩写就可以快速的输入这些常用的代码块,了解了这些,将大大提高我们的编码效率;当然,除了默认的live template,我们还可以自定义自己的代码模板,在模板中,可以使用一些变量的引用,在带入代码模板的同时带入自定义一些类名、方法名等,提高编码效率。File->Settings…,进入设置页面;设置页面左侧Editor->Live Templates,展开右侧的列表,就可以看见一些常用的、默认的代码模板了,如果在编码的过程中遇到常用的代码段,可以来看看有没有已经定义好的代码模板可用;现在我们以创建对方法描述的模板为例来自定义自己的代码模板;Live Templates面板右侧上方,依次点击"+"->Template Group,在弹出的框中填写自定义模板组的名称,这里写MyGroup,将我们自定义的代码模板放在MyGroup模板组里面,与其他默认模板区分开;接着点击列表中出现的MyGroup模板组,再点击刚才的"+"->Live Template;在下方Abbreviation选项中填入自定义的模板对应的缩写,我这里写成mi(method info的首字母缩写),在Description选项中填入对此模板的描述,在Template text选项中填入模板原文,还有Live Temple面板左下方红色的No applicable context yet.选项,点击后面的Define选项,选择Java,最后记得点击右下角Apply按钮;在模板原文中可以使用变量,比如这里的模板原文中的$METHOD_NAME$、$METHOD_PARAMETER$、$END$、就是一个变量,在输入时,会置空或用与参数连接的内置或自定义函数来填充,比如若将$METHOD_NAME$与系统内置的methodName()函数连接起来,在输入的时候,在某方法内部,输入我们设置好的缩写mi,IDE会提示输入,点击之后,会发现在我们设置的方法模板内部,已经将方法名、参数、返回值自动填充好了;**如何连接变量与函数表达式呢?**先选中一个参数,然后看模板原文右侧上方,有一个Edit variables选项,点击之后,就可以进入绑定的面板,在idea中内置了许多表达式,可以在文首的“参考”信息中查看详细的表达式的解释;
总条数:133 到第
上滑加载中