DevEco Device Tool 是面向智能设备开发者提供的一站式集成开发环境,支持 HarmonyOS Connect 的组件按需定制,支持代码编辑、编译、烧录和调试、性能监测等功能,支持 C/C++语言,以插件的形式部署在 Visual Studio Code(简称 VSCode)上,支持 Windows10 64 位或 Ubuntu18 及以上版本。
本次为大家带来的是 DevEco Device Tool 3.0 Release,新增四项新功能,欢迎大家升级体验!
【升级方式】
建议您从官网下载安装包进行全量升级:https://device.harmonyos.com/cn/develop/ide
在日常开发中,你是否遇到过因工具缺失导致编译失败?然后到处查找工具,找到后又要学习怎么安装,安装后还需要配置工具链,操作繁琐,费时费力。
本次新版本贴心地为开发者集成了丰富多样的编译工具链。导入工程时,DevEco Device Tool 自动检测工程所依赖的工具是否完备。如果存在工具缺失,可一键下载和安装所有缺失的工具,且自动完成工具链配置,大幅度减少编译复杂度,提高工作效率。
具体使用方法:
(1)导入工程后,在 DevEco Device Tool 工具界面,选择“QUICK ACCESS > DevEco Home > Projects”,然后点击 “Settings”进入工程配置界面。
(2)在工程配置界面,点击“toolchain”页签下的“Details”,详细查看缺失了哪些工具。
(3)在工程配置界面,点击“toolchain”页签下的“Setup”,一键下载和安装所有缺失的工具。

图 1 集成编译工具链
为帮助提升开发效率,本次新版本集成了开源社区的设备开发样例,让开发者无需从零开始敲代码,可快速上手。开发者在创建工程时根据需要选择开发样例,即可一键快速拉取源码。
具体使用方法:
(1)在 DevEco Device Tool 工具界面,选择“QUICK ACCESS > DevEco Home > Home”,然后点击 Create Project 进入创建工程的向导界面。
(2)输入工程名称,在 Bundle 下拉栏中选择需要的设备开发样例。Device Tool 会根据所选的开发样例自动填写 MCU 和开发板信息。
(3)点击 Finish,Device Tool 自动拉取开发样例完成工程创建。

图 2 选择开发样例
本次新版本集成了 17 个不同产品的样例,后续会有越来越多的样例逐渐上架,形成标准的资源中心。作为开发者的你,也可以将自己的样例上传到 OpenHarmony 社区参与样例共建哦!
样例共建链接:
在开发过程中,开发者可能都遇到过开发环境不够用、与同事争抢同一套开发环境的窘迫场景。为此,本次新版本新增了远程开发模式下多人共享开发的功能,支持一个团队共用一台服务器。只需搭建一台公共的 Linux 服务器,团队成员即可从自己的 Windows 机器远程登录 Linux 服务器,进行共享开发。既节省了时间,也降低了成本。
具体使用方法:
(1)点击 VSCode 左侧的“小电脑”图标,进入远程资源管理器界面,添加远程服务器(即 Linux 服务器)。添加成功后,打开远程服务器的操作窗口,输入mi码完成登录。
添加和登录远程服务器的操作可参考官网文档:
(2)管理员登录远程服务器通过 sudo 命令进行初始配置后,团队成员即可通过 Remote SSH 登录远程服务器,进行共享开发了。

图 3 多人共享开发
在开发过程中,调试能力尤为重要,一个好用的调试功能能够帮助开发者事半功倍地完成开发任务。
此次新版本新增了自研调试插件,为开发者提供源码级调试能力。调试界面如下图所示:

图 4 调试界面
提供的源码级调试能力包括:
具体使用方法:
(1)点击 VSCode 左侧的“三角”图标,进入运行和调试界面。
(2)在左上角“运行和调试”的下拉框中,选择需要调试的芯片和启动方式,点击“运行三角”按钮启动调试。

图 5 源码级调试能力
新增特性:
● 集成编译工具链。支持自动检测工程所依赖的工具是否完备,并提供一键下载和安装缺失工具的功能。
● 集成设备开发样例。创建工程时根据需要选择开发样例,即可一键快速拉取源码。
● 新增基于 Remote-SSH 模式实现多人共享远程开发环境。
● 新增自研的调试插件,支持源码级调试能力,提供查看变量、监控、调用栈、查看通用寄存器及反编译等调试操作。
增强特性:
● 导入芯片工程后,对于环境缺少的部分公共工具,可以自动提示。
● 补齐寄存器修改、汇编单步、断点设置、数据断点、内存查看/修改等调试能力。
● 优化编译完的镜像包同步回本机的时间到两分钟左右。
● 优化编译烧录过程中的报错提示,提高开发者解决报错的效率。
修复的问题:
● 修复了 Atcs 测试用例执行完成后没有显示报告的问题。
● 修复了 DevEco Device Tool 仿真器偶尔会编译失败的问题。
● 优化安装 DevEco Device Tool 出现报错和弹窗提示,修复版本lou洞。
● 修复了编译烧录失败时,报错信息不完善,工具链缺失提示不明显的问题。

我正在编写一个gem,我必须在其中fork两个启动两个webrick服务器的进程。我想通过基类的类方法启动这个服务器,因为应该只有这两个服务器在运行,而不是多个。在运行时,我想调用这两个服务器上的一些方法来更改变量。我的问题是,我无法通过基类的类方法访问fork的实例变量。此外,我不能在我的基类中使用线程,因为在幕后我正在使用另一个不是线程安全的库。所以我必须将每个服务器派生到它自己的进程。我用类变量试过了,比如@@server。但是当我试图通过基类访问这个变量时,它是nil。我读到在Ruby中不可能在分支之间共享类变量,对吗?那么,还有其他解决办法吗?我考虑过使用单例,但我不确定这是
无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD
有人知道在发布新版本的Ruby和Rails时收到电子邮件的方法吗?他们有邮件列表,RubyonRails有一个推特,但我不想听到那些随之而来的喧嚣,我只想知道什么时候发布新版本,尤其是那些有安全修复的版本。 最佳答案 从therailsblog获取提要.http://weblog.rubyonrails.org/feed/atom.xml 关于ruby-on-rails-如何在发布新的Ruby或Rails版本时收到通知?,我们在StackOverflow上找到一个类似的问题:
在许多ruby类之间共享记录器实例的最佳(正确)方法是什么?现在我只是将记录器创建为全局$logger=Logger.new变量,但我觉得有更好的方法可以在不使用全局变量的情况下执行此操作。如果我有以下内容:moduleFooclassAclassBclassC...classZend在所有类之间共享记录器实例的最佳方式是什么?我是以某种方式在Foo模块中声明/创建记录器还是只是使用全局$logger没问题? 最佳答案 在模块中添加常量:moduleFooLogger=Logger.newclassAclassBclassC..
我已经按照https://github.com/wayneeseguin/rvm#installation上的说明通过RVM安装了Ruby.有关信息,我有所有文件(readline-5.2.tar.gz、readline-6.2.tar.gz、ruby-1.9.3-p327.tar.bz2、rubygems-1.8.24.tgz、wayneeseguin-rvm-stable.tgz和yaml-0.1.4.tar.gz)在~/.rvm/archives目录中,我不想在任何目录中重新下载它们方式。当我这样做时:sudo/usr/bin/apt-getinstallbuild-essent
我的Ruby-on-Rails项目中有以下文件结构,用于规范:/spec/msd/serviceservice_spec.rb/support/my_modulerequests_stubs.rb我的request_stubs.rb有:moduleMyModule::RequestsStubsmodule_functiondeflist_clientsurl="dummysite.com/clients"stub_request(:get,url).to_return(status:200,body:"clientsbody")endend在我的service_spec.rb我有:re
我有一个功能“从外部网站导入文章”。在我的第一个场景中,我测试从外部网站导入链接列表。Feature:ImportingarticlesfromexternalwebsiteScenario:Searchingarticlesonexample.comandreturnthelinksGiventhereisanImporterAnditsURLis"http://example.com"Whenwesearchfor"demo"ThentheImportershouldreturn25linksAndoneofthelinksshouldbe"http://example.com/d
Ruby是否支持(找不到更好的词)非转义(逐字)字符串?就像在C#中一样:@"c:\ProgramFiles\"...或者在Tcl中:{c:\ProgramFiles\} 最佳答案 是的,您需要在字符串前加上%前缀,然后是描述其类型的单个字符。你想要的是%q{c:\programfiles\}。镐书很好地涵盖了这一点here,部分是通用分隔输入。 关于ruby-Ruby是否支持逐字字符串?,我们在StackOverflow上找到一个类似的问题: https:/
尝试从我的AngularJS端将数据发布到Rails服务器时出现问题。服务器错误:ActionController::RoutingError(Noroutematches[OPTIONS]"/users"):actionpack(4.1.9)lib/action_dispatch/middleware/debug_exceptions.rb:21:in`call'actionpack(4.1.9)lib/action_dispatch/middleware/show_exceptions.rb:30:in`call'railties(4.1.9)lib/rails/rack/logg
我正在编写一个Rubygem,在我的代码中使用{key:'value'}哈希语法。我的测试都在1.9.x中通过,但我(可以理解)在1.8.7中得到syntaxerror,unexpected':',expecting')'。是否有支持1.8.x的最佳实践?我是否需要使用我们的老friend=>重写代码,还是有更好的策略? 最佳答案 我认为你运气不好,如果你想支持1.8,那么你必须使用=>。像往常一样,我会提到在1.9的某些情况下您必须使用=>:如果键不是一个符号。请记住,任何对象(符号、字符串、类、float……)都可以是Ruby哈