• [问题求助] 哪里可以看CodeArts for Java 功能开发计划嘛?上线计划嘛?
    有没有一个地方可查看 CodeArts IDE for Java 开发计划和上线计划呢?
  • [热门活动] 福利活动 |【DevRun】云上开发创新实践
    【DevRun】云上开发创新实践专场”以进阶式云上开发成长训练,带你学会使用云端开发工具、DevOps平台、提供场景实践、最佳实践案例,掌握一站式云端项目开发实战能力!点击>>活动报名入口<<立即报名活动!本次活动有什么?学习内容一、【认识CodeArts】【知识点1】:从0到1深度体验CodeArts【知识点2】: 软件开发平台CodeArts介绍及实战【知识点3】: 基于云服务的软件开发技术二、【云上开发进阶实践】【CodeArts实战初体验】基于CodeArts进行黑白棋实时对战游戏开发【CodeArts场景实战】使用 CodeArts IDE for C/C++ 开发网页搜索框功能CodeArts10分钟开发增值税发票文字识别应用练习1:通过DevStar实现一站式增值税发票文字识别应用练习2:基于CodeArts IDE for C/C++的增值税发票识别应用【CodeArts最佳案例实践】华为端到端(HE2E)DevOps 开发者认证福利:报名活动可1元兑换价值500元开发者认证考试券!活动礼品:参与活动体验完成任务,还有机会获得精美学习好礼!
  • [使用说明] 开始使用CodeArts IDE for Java
    本篇内容主要介绍使用CodeArts IDE for Java创建工程、代码补全、运行调试代码、Build构建和测试相关的主要功能。一、下载安装CodeArts IDE for JavaCodeArts IDE for Java安装要求 至少需要 2 GB RAM ,但是推荐8 GB RAM; 至少需要 2.5 GB 硬盘空间,推荐SSD; 64位Microsoft Windows 10 下载并安装CodeArts IDE for Java>>>前往CodeArts IDE for Java官方下载页面下载完成后,运行codearts-java-*.exe文件。按照安装导航的步骤,选择个人安装配置进行安装。二、登录CodeArts IDE for Java要求用户登录后才能激活并使用Java语言服务和运行调试的相关功能。打开CodeArts IDE后,可以通过点击右上角的登录入口,使用华为账号进行登录:也可以在新建Java项目时弹出的需要登录弹窗中,点击登录按钮进行登录:三、创建Java工程CodeArts IDE for Java可以通过新建工程向导界面创建Java工程,支持选择四种Java模板创建工程(构建系统:Maven/Gradle,框架:None/SpringBoot),选择创建SpringBoot工程时,可根据需求选择(可多选)相应的第三方依赖,创建成功后第三方依赖被成功写入pom.xml或build.gradle文件。新建工程界面效果如下:CodeArts IDE for Java有三种方式打开新建Java工程向导界面,方式如下:1. 点击“文件->新建->工程”菜单:2. 在欢迎界面点击“新建项目”或者“创建Java工程”:3. 使用快捷键“Alt+P”快速唤出新建工程界面。如果在新窗口创建工程(未打开任何工程),工程创建成功后会直接在当前窗口打开;如果已经打开了一个工程,并在当前窗口通过新建工程向导创建新工程,创建成功的提示弹窗中,点击→当前窗口,工程在当前窗口打开。点击→新窗口,CodeArts IDE将打开新窗口并加载已创建的工程。创建工程实例:四、语言服务初始化与日志查看加载项目时,Java语言服务会进行初始化,右下角状态栏以及消息通知弹窗会有语言服务初始化过程提示信息。语言服务初始化过程中会启动相关服务、下载依赖的Jar包及进行Indexing,此过程受计算机性能、网速等因素影响会耗费一定的时间。点击“输出”视图,切换“SmartAssist Java”,可查看更多语言服务初始化过程的日志:语言服务初始化完成之前,语言服务相关功能(如代码补全、代码重构、查看类型定义等)将不会有很好的体验,此时需耐心等待语言服务初始化完成。当右下角弹出提示“Java Language Server is ready”(Java语言服务已就绪)时(见下图),说明语言服务已初始化完毕,此时可执行文件类和main方法会出现运行按钮,我们就可以开始正常使用语言服务的全部功能。五、代码补全语言服务初始化完成后,即可使用代码补全功能。代码补全列表中包含语言服务的补全及强大的AI智能补全(带有⊕图标),见下图:六、代码运行调试语言服务初始化完成后,在可运行的文件左侧会显示运行图标,选择“Run main in DemoApplication”即可开始运行,选择“Debug main in DemoApplication”即可开始调试,终端视图中将会显示调试运行的信息。也可以点击右上角的运行按钮和调试按钮分别发起运行和调试。可在代码左侧设置断点,Debug进入断点后,可在底部运行调试视图中查看调试相关信息(变量、监视、调用堆栈),也可以对断点进行管理。监视视图和变量视图在调试发起进入断点后,同样支持代码补全能力。运行调试实例:七、构建工程CodeArts IDE for Java会在代码调试运行前自动进行工程构建,也可以通过修改相关运行配置跳过自动构建,见下图:(备注:“SkipBuild”选项默认为false,当设置为true时,发起调试可以跳过构建直接调试,适用于已构建出产物、且代码没有其他修改的情形,可提升调试运行的速度。)​我们可以通过点击相关构建菜单主动触发构建工程,“构建”视图右半部分将显示构建过程的相关信息。构建菜单入口如下:还可在构建视图的左侧视图中通过鼠标右键唤出构建菜单:​构建工程实例:八、运行单元测试用例CodeArts IDE for Java在编辑器左侧栏和底部测试视图提供单元测试运行功能。运行当前文件所有测试用例,请点击类名所在行的左侧绿色按钮,或者鼠标右键此按钮并选择“运行测试”。底部栏自动打开测试视图,展示当前运行所有用例的状态,右侧输出运行日志。​​​​运行当前单个测试用例,请点击测试用例所在行的左侧绿色按钮,或者鼠标右键此按钮并选择“运行测试”,测试视图将展示当前运行的测试用例,点击测试用例后右侧可查看该测试用例的相关运行输出。在测试视图的包名、类名或者方法名上,可以运行该包下、该类下或者某个具体的测试用例,鼠标悬停上去后会显示相关的运行调试按钮,点击后即可发起运行或调试。点击测试视图左侧工具栏的的绿色运行按钮运行可以运行此工程下的所有测试用例。单击或者右键测试视图左侧工具栏的“视图和更多操作”按钮,可以展开更多测试视图相关的操作。如清除所有结果、排序查看、切换树形或列表查看等等。点击清除所有结果,可以清除当前已运行的所有测试用例的结果,相关图标恢复未执行用例前的状态。​运行单元测试用例实例:九、Java相关设置CodeArts IDE for Java为Java相关的设置提供了单独的设置入口,点击编辑器左下角的“管理->Java助手设置”菜单可以唤出Java的设置界面:在这个设置界面中,你可以设置工程的SDK、语言级别,Maven、Gradle相关的构建工具的设置以及代码formatter规则设置等等:十、代码formatter规则设置说明CodeArts IDE for Java支持自定义代码formatter规则的校验,暂不支持formatter规则的一键导入和导出(后续会支持)。formatter规则设置好后,在编辑器中选中需要格式化的代码,通过右键唤出“格式化文档”的菜单(或者使用快捷键“Ctrl+Alt+L”)来格式化选中的代码:
  • [大赛专区] “哈工大APP”大赛抽奖得好礼热身活动-通过华为云CodeArts IDE和开发者插件Toolkit,快速实现语音合成应用
    完成任务抽好礼~!快速入门上手华为云云服务,体验云上开发之旅哈喽同学们,本期活动任务为:通过华为云CodeArts IDE和开发者插件Toolkit,快速实现语音合成应用本期热身活动是围绕着“应用开发”的主题为大家提供了一个云上开发Demo,赶快完成活动任务抽奖领取以下礼品吧!!本次活动抽奖概率及中奖数量如下:【活动步骤1】点击链接,报名大赛>>“哈工大APP”应用创意开发设计大赛<<【活动步骤2】点击链接,按照操作手册完成>>语音合成应用的云上开发体验<<开发者可以通过语音合成应用的云上开发体验案例,基于华为云CodeArts IDE和开发者插件ToolKit,使用华为云API,来实现一个文字合成语音的应用。【活动步骤3】体验案例分为初阶、高阶和进阶三个难度,参赛开发者可以按照指导手册和兴趣完成任意一个环节,并将完成后的截图发至评论区。凭借报名大赛+完成体验任务,即可参与抽奖。大赛结束后,工作人员将统一私信抽奖链接,请注意查收论坛的私信通知。回复截图进行抽奖本帖规则参与活动的同学回复本帖:体验的华为云账号+语音合成应用体验截图,下面以不同阶段任务为例进行提交示例:(1)环境部署任务-CodeArts IDE账号激活成功:华为云账号:XXXX(2)初阶任务-体验语音生成API,合成语音华为云账号:XXXX(3)高阶版:通过编写代码实现语音合成的应用​华为云账号:XXXX【活动须知】工作人员判定截图有效后,会在您回帖下方评论告知有效与否。请注意查收回帖的评论通知来判断是否有效参与抽奖。等大赛活动结束后工作人员将统一私信发送抽奖链接,请注意查收论坛的私信通知。礼品发放数量有限,优先原则,名满即止。【传送门】本次大赛设置了丰富的奖项和有趣好玩,并且有奖的云上开发体验活动,欢迎体验!助力大赛,且完成任意活动,即可100%抽奖!报名大赛:“哈工大APP”应用创设计大赛>>LinkAstro知识问答活动:完成考试即可获得电子参赛证书>>Link解密挑战活动:破解低代码之谜,《低代码开发这一百零一问》免费下载>>Link抽奖得好礼热身活动:基于Astro零代码快速搭建微信小程序(智慧校园建设主题)>>Link
  • [问题求助] 好久发布java版本的哟
    有没有同学知道java版本多久发布
  • [分享交流] 如何优雅地处理Java多线程编程中的共享资源问题?
    如何优雅地处理Java多线程编程中的共享资源问题,以确保线程安全和高性能?
  • [交流吐槽] CodeArts IDE好像突然变聪明了
    原本只输出一点内容然后要不断tabtab,现在可以输出一大串了,不过有个小问题就是可能会把后面的代码顶飞然后总结框起来,如图。
  • [HDC2024] 【华为开发者大会】Toolkit新手入驻,福利抽奖等你来!
    华为开发者大会2023PaaS生态邀请你与我们一起思想碰撞吸收行业大牛的宇宙能量,遇强则越强我们为所有入驻的新开发者们准备了限时抽奖活动入驻简单,奖品丰厚!赶快坐上开发者的小火车,出发!【活动时间】2023年7月6日-7月15日【参与方式】1、点击该链接,注册登录华为云账号,访问产品页https://auth.huaweicloud.com/authui/login.html?service=https%3A%2F%2Fdeveloper.huaweicloud.com%2Fdevelop%2Ftoolkit.html%3F%3Futm_medium%3Dhdc&locale=zh-cn#/login2、完成访问后,点击或扫码访问该问卷链接参与简单调研,即可抽奖cid:link_2注意:本次活动仅限新注册用户参与:请务必先通过产品页注册再参与抽奖       【活动奖品】华为云定制折叠帆布包开发者定制鼠标垫+盲盒冰箱贴组合无线鼠标文件收纳袋抽奖为概率抽奖,不能指定奖品【限制说明】参加本次社区活动的用户必须为华为云新注册用户。同时为保证活动公平性,禁止用户以IAM账号身份参与活动,否则将视为无效。本次活动如一个用户对应多个账号,只有一个账号可领取奖励。中奖后经核查非上述产品链接注册用户,将取消中奖资格请开发者不要在活动期间随意修改社区昵称和华为云账号,由此产生的统计问题,如过了申诉期,小助手不再处理。(申诉期为活动结果公示3天内。)抽中奖品为随机,不能指定奖品。【奖品发放说明】1.每位参加活动的开发者用户理解并同意,为联系获奖开发者用户以及奖品发放的需要,开发者用户须在参与活动之时提供您的真实个人信息,包括:姓名、联系方式、通讯地址等。活动主办方将仅为前述目的以及适用法律限度内收集和使用开发者用户的个人信息(开发者用户在向华为云提交个人信息之前,应阅读、了解华为云《隐私政策声明》;开发者用户参加本活动视为理解并同意华为云《隐私政策声明》、《华为云开发者生态隐私声明》网页地址如下:https://www.huaweicloud.com/declaration/sa_prp.html、https://www.huaweicloud.com/declaration/sa_devprp.html 。2.获奖开发者用户需在截止时间(填写时间截止到7月20日)在领奖界面填写获奖信息,活动结束且开发者用户填写完整领奖信息后14个工作日内,将统一发出奖品,所有  实物奖品包邮,不额外收取任何费用。华为云遵守《中华人民共和国个人信息保护法》规定,将以上个人信息仅用于礼品发放之目的,不会向任何第三方披露,所有信息将在华为云问卷系统留存2个月,礼品发放完毕后即删除。若由于获奖开发者用户自身原因(包括但不限于提供的联系方式有误、身份不符或者通知领奖后超过30天未领取等)造成奖品无法发送的,视为获奖开发者用户放弃领奖。3.为保证活动的公平公正,华为云有权对恶意刷活动资源(“恶意”是指为获取资源而异常注册账号等破坏活动公平性的行为),利用资源从事违法违规行为的开发者用户收回抽奖及奖励资格。4.若发放奖品时,出现库存不足,则优先发放等价值的其他奖品。5.所有参加本活动的开发者用户,均视为认可并同意遵守《华为云开发者用户协议》,包括以援引方式纳入《华为云开发者用户协议》、《可接受的使用政策》、《法律声明》、《隐私政策声明》、相关服务等级协议(SLA),以及华为云服务网站规定的其他协议和政策(统称为“云服务协议”)的约束。云服务协议链接的网址:cid:link_3如果您不同意本活动规则和云服务协议的条款,请勿参加本活动。部分奖品图片参考(最终奖品以收到的实物为准)
  • [使用说明] CodeArts IDE Network Check for Login Failure(New)
    External Network1. The login page shows "Request failed, please check network settings and retry".Please checkIs the network connected?Is the proxy settings correct?Is the firewall security level too high or the firewall policy settings incorrect?2. Login failedWeak network may cause login failure. Please close the current dialog and try logging in again.Internal NetworkThe login page shows "Proxy authentication error, please check the proxy setting".Please checkIs the network connected?Is the proxy settings correct?First, check the system proxy settings.Open System Settings – Network and Internet – ProxyChoose to use proxy serverSecond, check the proxy setting in CodeArts IDE.Click Set Proxy​Enter the Proxy Settings​Click OK and try to login again
  • [使用说明] CodeArts IDE登录失败网络连接检查指南(新版)
    外部网络一、登录窗口提示“请求失败,请检查网络设置后重试”解决方法:请检查①电脑网络是否连通②是否设置了代理服务器,设置是否正确③是否防火墙安全等级过高或防火墙策略设置不当二、登录失败网络信号弱可能会导致CodeArts IDE登录失败,请关闭当前页面,尝试重新登录。企业内网登录窗口提示“代理认证错误,请检查代理设置”解决方法:首先,请检查 ①电脑网络是否连通 ②系统代理设置是否正确代理设置:打开系统设置 - 网络和Internet - 代理,开启“使用代理服务器”其次,请检查CodeArts IDE代理设置是否正确。(1)点击“设置代理”(2)输入代理,用户名密码等​(3)点击确定,返回登录页
  • [热门活动] 华为云开发者插件Toolkit解密活动-可领取8大领域60本技术干货电子书及福利礼品!
    本次活动由开发者插件Toolkit团队联合云享书库发起,怎么更好使用华为云开发者生态工具?快来体验插件界的全家桶Huawei Cloud Toolkit!【活动详情】即日起至【6月30日】,登录华为云账号并点击下方链接访问产品页面或者直接扫描下方二维码,按照下方三个步骤参与解密互动可领取华为云云享书库8大领域50+本技术领域干货电子书(涵盖华为云应用构建、产业发展趋势、常见通用技术、数据技术、通讯技术、云原生技术、智能前沿技术等8大领域)同时还可以参与华为云周边礼包抽奖!仔细阅读下方三个步骤没有注册华为云账号的请先注册账号哦步骤一:请问Huawei Cloud Toolkit支持几种IDE平台?(请在产品页寻找答案数字)得到一个数字步骤二:点击【产品链接】寻找答案数字https://auth.huaweicloud.com/authui/login.html?service=https%3A%2F%2Fdeveloper.huaweicloud.com%2Fdevelop%2Ftoolkit.html%3Futm_source%3Dhw003&locale=zh-cn#/login移动手机端可扫描下方二维码步骤三:将步骤二提问所得到的数字填入替换下列链接的“?”处,复制到地址栏打开链接即可下载电子书https://bbs.huaweicloud.com/blogs/?99600【抽奖说明】活动结束一周内后,后台将抽出三位送出华为云周边定制礼包,并在下方活动帖公布获奖名单,记得回来看看你获奖了没有哦!【活动帖链接】cid:link_1华为云周边礼包包含:保温杯*1+定制扑克牌*1+攻城狮鼠标垫*1具体礼品根据实际发货为准,可能因礼品库存等不可抗力因素,替换为其他同价值礼品。
  • [使用说明] CodeArts IDE for C/C++ +开发指南
    简介CodeArts IDE是一个集成开发环境(IDE),它提供了开发语言和调试服务。本文主要介绍CodeArts IDE for C/C++的基本功能。1.下载安装CodeArts IDE for C/C++ 已开放公测,下载获取免费体验2.新建C/C++工程CodeArts IDE for C/C++ 提供了创建C或C++工程的能力,可参考以下步骤进行创建:1. 点击顶部菜单 File -> New -> Project...2. 选择 C/C++3. 填写表单并点击创建按钮4. 等待工程创建完成并打开项目3.C/C++代码编写3.1编码基础操作CodeArts IDE for C/C++ 包含了内置的语法着色,定义预览,跳转定义,类继承关系图,调用关系图等一些编码基础功能。语法着色 - 该功能可对函数,类型,局部变量,全部变量,宏,枚举,成员变量等上色。跳转定义 - Ctrl+点击或者F12跳转到定义,或者使用Ctrl+Alt+点击会打开定义到旁边。定义预览 - 当光标移至符号处,则会有符号定义的悬停预览,也可以用alt+F12的快捷键进行文件内的符号预览。查找所有引用 - 当光标点击或者选择到需要查找的符号,右键菜单->查找所有引用或者使用快捷键Shift+Alt+F12会打开定义在页面左侧。调用关系图 - 当光标点击或选中需要调用关系图的函数时,右键菜单->调用关系图,或可以使用快捷键Shift+Alt+H调出。在关系图中,也可以点击需要查看的函数并导航到该函数,同时也能够查看子类和基类。符号大纲 - 左侧工具->右上角三个点->大纲即可打开符号大纲,或者使用快捷键Ctrl+Shift+B打开工具栏。打开大纲后,双击函数即可到达函数定义的位置,并且当前符号大纲可跟随光标移动(此功能需要在大纲菜单栏中打开跟随光标选项)。3.2 代码编写操作CodeArts IDE for C/C++ 包含了内置的符号重命名,提取重构,代码补全/提示,实时语法检查等一些高级代码编写功能。符号重命名(Rename symbol)最基础的重构之一,但是变量或方法名字的可读性非常重要。在光标选中某个变量或方法后,右键单击以调出编辑器上下文菜单并且选择重命名符号或直接按F2,来重命名整个 C/C++ 项目中所有用到该命名的地方。提取重构(Extraction refactoring)CodeArts IDE for C/C++ 支持将字段,方法和参数提取到新类中,根据提取的内容会提供不同的重构类型。可用的 C/C++ 重构类型包括:提取函数/方法(Extract method)- 将选定的语句或表达式提取到文件中的新方法或新函数。在选择提取方法(Extract method)重构后,输入提取的的方法/函数的名称。提取表达式到变量(Extract subexpression to variable)- 将选定的表达式提取为文件中的新变量。代码补全/提示(Code Completion/Hinting)CodeArts IDE for C/C++ 代码补全包含了各种代码编辑功能,包括:代码完成,快速信息,成员列表以及参数信息。当您输入字符时,代码补全若知道可能的补全选项,则会自动弹出成员列表。如果您继续输入字符,成员列表(变量,方法等)将被过滤为仅包含您输入字符的成员。您可通过光标点击或者按Enter或Tab键插入选定的成员名称。该功能会提供各种提示信息帮助您更加方便快速的编辑代码。全局符号搜索(Global Symbol Search)Ctrl+T导出搜索框,输入需要查找的符号,页面会显示出当前文件夹所有包含此符号的文件,点击即可跳转。或者按向上或向下选择并按Enter导航到您想要的位置。实时检查编译错误(该功能依赖compile_commands.json文件)实时检查编译错误是解决编码错误的建议编辑,包括自动补全,实时语法检查等。当编译错误时,会在错误处出现波浪线。可将光标移动或点击到C/C++的代码错误上时,会显示黄色灯泡,表示可以使用快速修复。点击灯泡或按Ctrl+。会显示可用的快速修复和重构列表。Compile_commands.json 管理功能Compiler 模式功能全面,但需要compile_commands.json文件编译数据库才能正常工作,可使用三种方式获取该文件。使用内置 CMake Build Tool 插件(推荐)。构建 CMake 项目,会自动生成cmake-build-debug/compile_commands.json文件, 并且插件会自动将该文件导入到 .arts文件夹。使用 CMake 生成。 如果当前工程是 CMake 工程,可以通过添加参数-DCMAKE_EXPORT_COMPILE_COMMANDS=1生成 compile_commands.json,并通过帮助->显示所有命令->Huawei C/C++:导入编译数据库文件命令导入。使用 Huawei C/C++ 提供的Generate命令。可通过帮助->显示所有命令->Huawei C/C++:生成编译数据库文件,并选择存放源文件的文件夹,该方法分析头文件生成对应的编译数据库。同时 Huawei C/C++也支持以下功能:通过命令或 API 导入compile_commands.json文件(帮助->显示所有命令->Huawei C/C++:导入编译数据库文件)合并多个 compile_commands.json 文件.移除 compile_command.json 文件中重复的命令.导入时为 clangd 提供额外的参数设置.索引更新命令同步工程索引(帮助->显示所有命令->Huawei C/C++:同步工程索引)同步文件夹索引(资源管理器右键菜单->Huawei C/C++:同步文件夹索引)同步文件索引(资源管理器右键菜单->Huawei C/C++:同步当前文件索引)重置工程索引(帮助->显示所有命令->Huawei C/C++:重建全项目索引)编辑源文件的编译选项并刷新索引(右键菜单->编辑编译参数)以上命令和功能在 Compiler 模式或 Hybrid 模式均有效。3.3 代码重构操作重构是通过改变现有程序结构而不改变其功能和用途来提高代码的可重用性和可维护性。CodeArts IDE 支持重构操作,提供了多种重要的重构类型,来改变编辑器中的代码库。CodeArts IDE for C/C++ 内置了对 C/C++ 重构的支持,在本专题中,我们将展示 C/C++ 语言服务的重构支持。定义构造函数(Define constructor)在每次创建类时,可以自动定义类的构造函数,并且初始化成员。当点击或选中类名时,可以点击左侧黄色灯泡选择定义构造函数。根据声明顺序排序函数(Sort functions to declarations)根据头文件中的声明顺序,排序当前定义函数/方法的顺序。当点击或选中当前函数/方法定义时,重构选项可用。将定义添加到实现文件(Add definition to implementation file)将头文件的定义添加到实现文件中。当点击或选中当前函数/方法时,重构选项可用。交换 if 分支(Swap if branches)若当前条件只有if和else分支,选中代码片段后,选择交换 if 分支(Swap if branches),可自动交换if和else分支。内联变量(Inline variable)该功能可以用相应的值替换所有引用。假设计算值总是产生相同的结果。选中需要替换的内容,重构选项可用。内联函数(Inline function)该功能尝试使用适当的代码内联所有函数用法。它只能处理简单的功能,不支持内联方法、函数模板、主函数和在系统头文件中声明的函数。该功能可以内联所有函数引用。生成 getter 和 setter(Generate getter and setter)通过为其生成getter和setter(Generate getter and setter)来封装选定的类属性。同时也可以选择只生成getter(Generate getter)或者生成setter(Generate setter)选项。声明隐式成员(Declare implicit members)此选项会将类的隐式成员在类中声明,当选中类名时,重构选项可用。填充 switch 语句(Populate switch)该功能可以自动填充switch语句。选中任意switch字段,并且点击黄色灯泡,选择填充switch语句。移除 namespace(Remove using namespace)移除namespace功能,会自动移除所有使用到的namespace。当光标点击或选中namesapace关键字时,重构选项可用。移动函数体到声明处(Move function body to out-of-line)将函数/方法定义移动到它声明的位置。在内部添加定义(Add definition in-place)在当前函数/方法并且在类内部生成函数定义。当光标移动到函数/方法时,点击黄色灯泡,重构选项可用。在外部添加定义(Add definition out-of-place)在类外部生成当前函数/方法的函数定义。当光标移动到函数/方法时,点击黄色灯泡,重构选项可用。展开宏(Expand macro)在页面上添加展开宏(Expand macro),以便在可扩展/可折叠的部分提供内容。展开 auto(Expand auto type)展开 auto type所隐藏的变量类型。函数定义外移(Move function body to declaration)该功能会将函数/方法的定义移动到声明的位置。函数定义内移(Move function body to out-of-line)该功能会将函数/方法的定义移动到对应的文件中。转为原始字符串(Convert to raw string)此方法可以将转义后的字符串转换为原始的字符串。当点击或选择了当前字符串,点击黄色灯泡,重构选项可用。快速修复(Quick fixes)快速修复是解决简单编码错误的建议编辑,包括自动补全,实时语法检查等。当光标移动或点击到C/C++的代码错误上时,会显示黄色灯泡,表示可以使用快速修复。点击灯泡或按Ctrl+.会显示可用的快速修复和重构列表。
  • [技术干货] 插件界的全家桶!对接华为云能力就用它了!——Huawei Cloud Toolkit使用指南
    华为云开发者插件(Huawei Cloud Toolkit)是围绕华为云开发者生态工具体系打造的一系列IDE插件,支持华为云API能力对接、自然语言一键转换成C++、Java等标准代码、一键部署到云端等等。一、账号准备点击链接进入产品页面,点击右上角登录/注册华为云账号,查看产品介绍、帮助文档等。cid:link_3华为云API插件是Huawei Cloud Toolkit系列插件的一员,使用API插件我们可以对接华为云丰富的API能力。API插件支持当下IDE平台(IntelliJ IDEA、VS Code)以及华为IDE CodeArts。二、IDE平台支持平台:IntelliJ系列IDE或者VS Code IDE基本操作流程:API插件安装-->华为云账号登录(请提前安装底座插件)-->API插件体验API插件安装IntelliJ IDEA安装:在IntelliJ IDEA顶部菜单栏中选择File > Settings,在Settings对话框的左侧导航栏中单击Plugins。Plugins区域单击Marketplace,在搜索栏中输入Huawei Cloud API。Search Results区域会出现Huawei Cloud API,单击Install,完成后重启IDE。VS Code IDE安装:在Visual Studio Code顶部菜单栏中选择File > Preferences > Extensions,弹出VS Code IDE的Marketplace的插件列表。在搜索栏中输入Huawei Cloud API。找到Huawei Cloud API插件,选择install,完成后重启IDE。华为云账号登录使用前:请先在IDE中安装底座插件Huawei Cloud Toolkit Platform,并完成华为云账号登录。IntelliJ IDEA登录:点击左侧菜单中的Huawei Cloud Toolkit图标,打开插件主面板,选择右上角的用户头像按钮,在弹出的页面选择华为云AK/SK登录、华为账号登录或者CSDN账号登录。若选择AK/SK登录,会进入Setting面板,填入AK、SK后点击apply进行登录操作。(AK/SK获取请点击)若选择华为账号或者CSDN账号登录,会打开浏览器进入登录页面,IDE侧会同步登录结果(华为云账号注册请点击)。VS Code IDE登录:点击左侧菜单中的Huawei Cloud Toolkit图标,打开插件主面板,选择右上角的用户头像按钮,在弹出的页面选择华为云AK/SK登录或者华为账号登录。若选择AK/SK登录,则输入之前准备好的AK、SK登录华为云。(AK/SK获取请点击)若选择华为账号登录,则会跳至浏览器在web页面登录华为云账号,IDE侧会同步登录结果(华为云账号注册请点击)。API插件体验打开插件左侧主面板:点击IDEA或者VSCode左侧工具框中的"Huawei Cloud Toolkit"工具按钮、点击插件主面板中的API主页,则可打开华为云API插件主面板 。选择任意一个云服务,查看该云服务下的提供的相关API、示例代码等,详情能力请参考API插件能力。三、华为CodeArts IDE点击进入CodeArts IDE在线免费体验(需要完成华为云账号登录操作)。2)点击左侧工具栏中的华为云API图标,则可打开华为云API插件主面板。点击查看更多。
  • [使用说明] CodeArts IDE Network Check for Login Failure
    External Network1. The login page shows "This site can't be reached" or gets stuck in loading status.Please checkIs the network connected?Is the proxy settings correct?Is the firewall security level too high or the firewall policy settings incorrect?2. Client timeoutUser doesn't login within 1 minute which causes the following error, please try to login again.Internal Network1. The login page shows "This site can't be reached" or gets stuck in loading status.​Please checkIs the network connected?Is the proxy settings correct?Proxy settingsOpen System Settings – Network and Internet – ProxyChoose to use proxy server2. The login page shows "login failed"It took a long time to login and failed. After retrying, still failed.Please check if the proxy setting in CodeArts IDE is correct.Open Settings in IDE​Search “proxy” and enter the used proxy​Click Check Connection to ensure the network is connectedIf the network connection is available, please try to login again.
  • [技术干货] CodeArts IDE插件开发指南
    0. 安装环境在开始之前,请检查是否已安装 Node.js (cid:link_6)。已安装的情况下,可在本地CMD或CodeArts IDE终端使用命令行 node -v 以及 npm -v 查看相应的安装版本。1. 实战教程(1)创建一个新的插件打开 CodeArts IDE,点击菜单“文件 -> 新建项目”,选择“扩展”。填入插件的相关信息,为了更好地理解后续教程,建议类型选择“支持可展示的Webview以及弹窗的扩展”或者“支持注册创建项目向导的扩展”。注意:发布商必须为插件市场中已创建的发布商,否则将无法在插件市场上发布插件,也可在发布前在 package.json 文件中修改。点击“创建”,等待插件项目创建完成,选择是否在当前窗口打开新建的插件项目。(2)使用CodeArts IDE调试你的前后端代码后端调试        在插件的 src/node/ 目录下存放的是插件的后端代码,后端代码运行在 nodejs 环境中,插件项目在创建的时候已经默认生成了一个后端文件 backend.ts,对于轻量级的插件,只需要在该文件中添加自己想要实现的业务功能即可,该文件包含了三个默认的方法 init()、run()、stop()。另外还默认添加了一个 doSomething 方法,这个方法仅仅是作为示例使用,开发者可以根据需要进行修改或删除。        这里我们简单介绍下 init,run 和 stop 方法:init 函数:作为该后端实例的初始化方法,可以在插件启动的时候进行一些初始化操作,写在该函数中的代码一定会先于 run 和其他函数被调用,这里需要注意的是,对于前端暴露给后端的函数不能在 init 函数中进行调用,也就是不能在 init 方法中执行 this.plugin.call 调用。run 函数:作为后端实例的主逻辑函数,承担着业务功能入口的作用,在该函数中可以方便地调用 CodeArts 的 API,比如 codearts.window.showInformationMessage(`hello world!`); 也可以调用前端暴露出来的函数,也就是可以在该方法中执行 this.plugin.call 调用。stop 函数:将会在插件被停止前被调用,如有需要可以进行一些资源清理的操作。        后端调试步骤:1. 添加断点:在 backend.ts 的 run() 函数中添加一个断点2. 打开调试窗口:按 F5 或者点击右上角调试工具栏中的开始调试按钮,打开【扩展开发宿主】窗口3. 进入断点,进行调试​前端调试        与插件的后端不同,前端的代码最终将被编译并运行于浏览器环境中,前端的代码存放于 src/browser 目录中,插件项目在创建的时候会默认生成两个前端源码文件 frontend.ts 和 dynamic-webview.ts。这两个文件的内容与后端 backend.ts 的结构非常相似,只不过运行的环境不同而已,这里就不再重复对这两个文件中 init()、run()、stop() 方法进行介绍。由于前端运行在浏览器环境中,代码调试将借助于浏览器自带的调试功能。如果需要自动重新编译前端代码,可以在终端中执行命令 npm run watch-browser,然后再运行调试。在启动调试后如果修改了代码,只需在调试窗口按 Ctrl+R 重新加载窗口即可看到修改后的效果。        前端调试步骤:0. 前端调试前,需要先把 webpack.config.js 文件中的 devtool 配置为 'inline-source-map',然后在命令行执行 npm run prepare1. 添加断点:在 frontend.ts 的 run() 函数中添加一个断点2. 打开调试窗口:按 F5 或者点击右上角调试工具栏中的开始调试按钮,打开【扩展开发宿主】窗口3. 打开插件注册的视图,进入断点,进行前端的调试,若无法进入断点,可以使用 Ctrl + Shift + I 打开“开发人员工具”,再 Ctrl + R 重新加载当前窗口(3)前后端方法相互调用后端调用前端1. 在前端定义暴露给后端的方法打开 src/browser/frontend.ts 文件,其中 Frontend 类继承自 AbstractFrontend,除了需要实现的 init()、run()、stop() 这三个方法,我们自定义了一个 myApi(message: string) 方法,如果想要把 myApi 方法暴露给后端去调用,只需要在函数上添加 @expose('function_id') 修饰器。注意:多个expose修饰器中的function_id不能重复@expose('myplugin.page.myApi')public myApi(message: string): string { console.log(message); return 'this is a return value from frontend function';}2. 在后端调用前端暴露的方法打开 src/node/backend.ts 文件,其中 Backend 类继承自 AbstractBacend,需要实现 init(), run(), stop() 这三个方法,我们可以在 run() 方法中通过 this.plugin.call() 调用在前端定义的 myApi 方法并获取到返回值。public async run(): Promise<void> { const retValue = await this.plugin.call('view_type_of_your_plugin_view::myplugin.page.myApi', 'this is a function call from backend'); this.plugin.log(LogLevel.INFO, retValue);}前端调用后端类似的,我们可以在后端定义自己的方法并将方法暴露给前端调用。1. 在后端定义暴露给前端的方法打开 src/node/backend.ts 文件,自定义一个 doSomething(name: string) 方法。@expose('your_backend_function_identifier')public doSomething(name: string): boolean { codearts.window.showInformationMessage(`hello ${name}!`); return true;}2. 在前端调用后端暴露的方法打开 src/browser/frontend.ts 文件,在 run() 方法中通过 this.plugin.call() 调用在后端定义的 doSomething 方法。run(): void { this.plugin.call('your_backend_function_identifier', 'world');}(4)事件订阅:发布和监听事件在插件后端监听事件打开 src/node 目录下的 backend.ts 文件,在 Backend 类的 run() 方法中我们添加如下代码注册监听一个文件删除的事件。const registeredEvent = codearts.workspace.onDidDeleteFiles((event) => { codearts.window.showInformationMessage(`${event.files.join(',')} deleted.`);});this.plugin.context.subscriptions.push(registeredEvent);如果想要删除这个事件的监听可以直接调用 registeredEvent 的 dispose() 方法即可。大家可以尝试注册一些其他的事件并测试效果。在插件前端监听事件打开 src/browser 下的 fronted.ts 文件,我们通过在 Frontend 类的 run() 方法中添加如下代码注册监听一个改变当前活动的编辑器的事件。const eventHandler = (eventType: any, evt: any) => { // do something};this.plugin.subscribeEvent(EventType.WINDOW_ONDIDCHANGEACTIVETEXTEDITOR, eventHandler);前端取消事件注册的方式和后端并不相同,我们需要使用 plugin 对象的 unsubscribeEvent 方法取消注册的事件处理句柄。this.plugin.unsubscribeEvent(EventType.WINDOW_ONDIDCHANGEACTIVETEXTEDITOR, eventHandler);(5)国际化插件创建完后,在根目录下默认生成了 package.nls.json 和 package.nls.zh-cn.json 文件,package.nls.json 文件用来记录默认情况下的翻译词条,比如没有找到对应语言的翻译文件插件框架将默认采用该文件中的词条。package.nls.zh-cn.json 则是中文简体的翻译词条文件,如果插件需要支持其他语言也可以自行添加翻译文件。localize 方法需要提供了一个 key 参数来指定使用国际化文件中的词条索引键值,后续的不定参数用来对翻译词条中的占位符进行替换,词条中支持使用"{0} {1} {2}"这样的格式进行占位,localize 方法的第二个参数开始会被依次替换到占位符中。localize(key: string, ...args: any[]): string;示例如下:{ "plugin.welcome": "Welcome!", "plugin.hello": "Hello {0}!"}内置成员plugin的localize方法我们还在前后端内置的 plugin 成员变量中实现了 localize 方法。Frontend类 (src/browser/fronted.ts) 和 Backend类 (src/browser/backend.ts) 分别继承了 AbstractFrontend 前端类和 AbstractBackend 后端类,可以直接使用 this.plugin.localize 方法进行本地化翻译。// 不带参数this.plugin.localize('plugin.welcome');// 带参数this.plugin.localize('plugin.hello', 'world');直接引入localize方法import { localize } from '@cloudide/nls';使用如下代码就可以将词条填充为: Hello World!localize('plugin.hello', 'World');页面文件中的国际化方法通用插件可以使用 ejs 和 pug 引擎来渲染界面,无论是 ejs 还是 pug 引擎插件框架都为开发者提供了一个 l10n 内置对象,里面存储了当前所选语言的翻译词条列表。对于选择 ejs 引擎来做界面渲染的开发者可以在 ejs 文件中使用如下方式来对需要本地化的文案进行翻译:<%= l10n['plugin.hello'] %>对于使用 pug 引擎的开发者可以使用如下方式:#{l10n['plugin.hello']}(6)插件打包安装在终端执行命令“npm run package”打包插件在 CodeArts IDE 安装打包后的插件2. 插件样例插件注册视图标题栏行为:codearts-example-view-title-actions插件注册菜单:codearts-example-registerMenu插件注册项目创建向导:codearts-example-project-wizard3. 插件发布通过 IDE 直接发布到插件市场0. 若还没有创建发布商,请参考《CodeArts IDE插件市场帮助文档》,前往插件市场创建一个发布商。若已创建发布商但还未创建发布商凭证,请前往 插件市场发布商管理 创建,以下是创建凭证的步骤:(1)点击新增凭证(2)输入凭证名称,并设置过期时间(3)创建成功,请妥善保存发布商凭证,关闭窗口后将无法再次获得此凭证1. 发布前,请确认 package.json 中的 publisher 与发布商凭证对应的发布商的唯一标识相符2. 在 IDE 终端执行命令“npm run publish”,等待打包完成后输入发布商凭证,按回车确认3. 等待插件上传并发布4. 成功后,可以在插件市场的插件管理中看到已上传的插件,默认为灰度待发布,需要插件市场管理者权限审核待发布插件,然后由发布商角色为manager/developer/ower权限用户,将灰度发布状态插件提交正式发布,无需审核,该版本将自动变为正式版本,可以在CodeArts IDE插件市场中搜索到此插件。通过插件市场进行发布请参考《CodeArts IDE插件市场帮助文档》,按照步骤在插件市场上传和管理自己的插件。
总条数:162 到第
上滑加载中