在 App 设计工具的代码视图中管理代码

news2025/1/10 20:21:13

目录

管理组件、函数和属性

识别代码中的可编辑部分

编写 App

管理 UI 组件

管理回调

在 App 中共享数据

在多个位置运行的单一源代码

创建输入参数

为您的 App 添加帮助文本

限制您的 App 一次只运行一个实例

修复代码问题和运行时错误

个性化代码视图外观

更改颜色设置

更改制表符预设项


        代码视图提供了 MATLAB® 编辑器中的大多数编程功能。它还提供了丰富的功能,可帮助浏览代码,避免许多繁琐的任务。例如,可以通过在搜索栏中键入部分名称来搜索回调。点击某个搜索结果,编辑器将滚动到该回调的定义。此外,如果更改了某个回调的名称,App 设计工具会自动更新代码中对该回调的所有引用。

管理组件、函数和属性

代码视图有三个窗格可帮助您管理代码的不同方面。下表介绍了每一个窗格。

窗格名称窗格外观窗格功能
组件浏览器

Component Browser showing the property inspector for a button component.

  • 上下文菜单 - 右键点击列表中的组件以显示上下文菜单,该菜单包含用于删除或重命名组件、添加回调或显示帮助的选项。选择在组件浏览器中包括组件标签选项,将显示分组的组件标签。

  • 搜索栏 - 通过在搜索栏中键入部分名称,即可快速定位组件。

  • 组件选项卡 - 使用此选项卡查看或更改当前所选组件的属性值。还可以通过在此选项卡顶部的搜索栏中键入部分名称来搜索属性。

  • 回调选项卡 - 使用此选项卡管理所选组件的回调。

代码浏览器

Code Browser showing the Callbacks tab with three callbacks.

  • 回调函数属性选项卡 - 使用这些选项卡添加、删除或重命名 App 中的任何回调、辅助函数或自定义属性。点击回调函数选项卡上的某个项目,编辑器将滚动到代码中的对应部分。通过选择要移动的回调,然后将回调拖放到列表中的新位置,来重新排列回调的顺序。此操作会同时在编辑器中调整回调位置。

  • 搜索栏 - 通过在搜索栏中键入部分名称,即可快速定位回调、辅助函数或属性。

App 布局

App Layout showing a thumbnail of an app that contains a radio button group, a slider and a push button.

  • App 缩略图 - 使用缩略图可在具有许多组件的复杂大型 App 中查找组件。在缩略图中选择某个组件,即会在组件浏览器中选择该组件。

识别代码中的可编辑部分

        在代码视图编辑器中,代码中的有些部分是可编辑的,有些则不可编辑。不可编辑部分由 App 设计工具生成和管理,可编辑部分包括:

  • 定义的函数(例如,回调和辅助函数)的主体

  • 自定义属性定义

在默认颜色方案中,代码的不可编辑部分以灰色显示,可编辑部分以白色显示。

App code. A properties block and body of a function have a white background, while a methods block and function declaration have a gray background.

编写 App

        App 设计工具将您的 App 定义为 MATLAB 类。要创建 App,并不需要了解类或面向对象的编程,因为 App 设计工具会管理代码的这些方面。但是,App 设计工具中的编程所需要的工作流不同于严格使用函数的工作流。可以在工具条的资源选项卡上点击显示提示 

 按钮,随时查看此工作流的总结。

管理 UI 组件

        在App 中添加 UI 组件时,App 设计工具会为组件指定一个默认的名称。使用此名称(包括app前缀)可在代码中引用该组件。可以通过双击组件浏览器中的名称并键入新名称来更改组件的名称。当更改组件名称时,App 设计工具会自动更新对该组件的所有引用。

Component Browser showing the name of a figure and a button component. The name of the button is app.Button, and the text "Button" is highlighted and editable.

        要在您的代码中使用组件的名称,较省时间的方法是从组件浏览器中复制名称。将光标放在代码的可编辑区域中要添加组件名称的位置。然后,在组件浏览器中,右键点击组件名称并选择在光标处插入。也可以将组件名称从列表拖到代码中。

Context menu associated with the app.Button component. The context menu includes the Insert at Cursor option.

        要删除组件,请在组件浏览器中选择其名称,然后按 Delete 键。

管理回调

        要使组件响应用户交互,可以添加回调。右键点击组件浏览器中的组件,然后选择回调 > 添加 (回调属性) 回调

        如果从 App 中删除组件,仅当关联的回调未被编辑且未与其他组件共享时,App 设计工具才会删除关联的回调。

        要手动删除回调,请在代码浏览器回调选项卡上选择回调名称,然后按 Delete 键。

在 App 中共享数据

        要存储数据并在不同的回调之间共享这些数据,请创建一个属性。例如,如果希望 App 读取数据文件并允许 App 中的不同回调访问该数据,请在加载文件时将数据存储在一个属性中。

要创建属性,请在编辑器选项卡上展开属性 

 下拉列表,然后选择私有属性公共属性。App 设计工具将创建一个模板属性定义,并将光标放在该定义旁边。根据需要更改属性的名称。

properties (Access = public)
        X % Average cost
end

        要在代码中引用该属性,请使用语法 app.PropertyName。例如,app.X 引用名为 X 的属性。

在多个位置运行的单一源代码

        如果要在 App 中的多个位置执行同一个代码块,可以创建辅助函数。例如,可能想创建一个辅助函数以在用户更改编辑字段中的数字或选择下拉列表中的项后更新绘图。通过创建辅助函数,可以使常用命令执行同一个来源的代码,而不用维护几组多余的代码。

要添加辅助函数,请在编辑器选项卡上展开函数 

 下拉列表,然后选择私有函数公共函数。App 设计工具将创建一个模板函数,并将光标放在该函数的主体中。

        要删除辅助函数,请在代码浏览器函数选项卡上选择函数名称,然后按 Delete 键。

创建输入参数

        要在 App 中添加输入参数,请在编辑器选项卡上点击 App 输入参数 

。输入参数通常用于创建具有多个窗口的 App。

为您的 App 添加帮助文本

        添加 App 摘要和描述,以向用户提供有关App 的信息。要添加帮助文本或编辑现有帮助文本,请点击App 帮助文本 

。使用“App 帮助文本”对话框可以指定 App 的简短摘要,以及对该 App 的功能和使用方法的更详细解释。App 设计工具可将此帮助文本以注释形式添加到 App 定义语句中。

        要在 MATLAB 命令行窗口中显示 App 帮助文本,请调用 help 函数并指定 App 名称。App 帮助文本会出现在 App 文档页的顶部。可以通过调用doc函数并指定App名称来查看 App 的文档页。

限制您的 App 一次只运行一个实例

        在 App 设计工具中创建 App 时,可以在 App 的两种运行行为之间进行选择:

  • 一次只允许运行一个 App 实例。

  • 允许同时运行 App 的多个实例。这是默认行为。

        要更改 App 的运行行为,请从组件浏览器中选择 App 节点。然后,从 App 选项卡的代码选项部分,选中或清除单个运行实例

Component Browser Inspector for the app node. The Code Options section is expanded and shows the Single Running Instance check box.

        当选中单个运行实例并且多次运行该 App 时,MATLAB 会重用现有实例并将其前置,而不是创建一个新实例。如果清除此选项,则 MATLAB 会在每次运行该 App 时都创建一个新实例,并继续运行现有实例。这些运行行为适用于您从 MATLAB 工具条上的 App 选项卡或从命令行窗口运行的 App。

        当从 App 设计工具运行 App 时,无论此选项处于选中还是清除状态,其行为都不会更改。App 设计工具在创建新的 App 实例之前始终会先关闭该 App 的现有实例。

修复代码问题和运行时错误

与 MATLAB 编辑器一样,代码视图编辑器也提供代码分析器消息,帮助您发现代码中的错误。

Code Analyzer message for an edit field callback. The code in the function body sets EditField.Value. The message says "Use app.EditField to reference a property of app" and includes a button labeled "Fix".

如果直接从 App 设计工具中运行App(通过点击 

 运行),倘若在运行时发生任何错误,App 设计工具会在代码中突出显示错误的来源。要隐藏错误消息,请点击错误指示符(红色圆圈)。要使错误指示符消失,请更正代码并保存更改。

Error message. The line of code with the error has an error indicator next to it.

        还可以通过在 App 设计工具中以交互方式调试 App 代码来诊断代码中的问题。有

个性化代码视图外观

        可以自定义代码在代码视图编辑器中的显示方式。要更改您的代码视图预设项,请转至 MATLAB 桌面的主页选项卡。在环境部分中,点击 

 预设

更改颜色设置

        要更改代码的可编辑部分的颜色设置并自定义语法高亮,请选择 MATLAB > 颜色,并调整桌面工具颜色和 MATLAB 语法高亮颜色。这些设置会同时影响 App 设计工具的代码视图编辑器和 MATLAB 编辑器。

        要更改代码的不可编辑部分的背景颜色,请选择 MATLAB > App 设计工具,并调整只读背景颜色。仅在 MATLAB > 颜色预设项中的使用系统颜色选项未选中时,才能更改此设置。

更改制表符预设项

        要在代码视图编辑器中指定制表符和缩进的大小,请选择 MATLAB > 编辑器/调试器 > Tab 键。在此处,可以指自定义制表符和缩进的大小,以及有关制表符行为的详细信息。这些预设项会同时影响 App 设计工具的代码视图编辑器和 MATLAB 编辑器。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1282327.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SourceTree for Mac: 您的个人Git仓库管理专家

在当今的软件开发世界中,版本控制系统如Git的重要性日益凸显。它们帮助开发者在协作开发过程中保持代码的同步和有序。如果你是一位Mac用户,并且正在寻找一款简单易用的Git客户端工具,那么SourceTree for Mac可能是你的最佳选择。 SourceTre…

服务异步通讯

四、服务异步通讯 4.1初始MQ 4.1.1同步通讯和异步通讯 同步调用的优点: 时效性较强,可以立即得到结果 同步调用的问题: 耦合度高 性能和吞吐能力下降 有额外的资源消耗 有级联失败问题 异步通信的优点: 耦合度低 吞吐量提升 故障隔离 流量削峰 异步通信的缺点: …

Python更改YOLOv5、v7、v8,实现调用val.py或者test.py后生成pr.csv,然后再整合绘制到一张图上(使用matplotlib绘制)

1. 前提 效果图 不错的链接:YOLOV7训练模型分析 关于map的绘图、loss绘图,可参考:根据YOLOv5、v8、v7训练后生成的result文件用matplotlib进行绘图 v5、v8调用val.py,v7调用test.py(作用都是一样的,都是…

根据YOLOv5、v8、v7训练后生成的result文件用matplotlib进行绘图

1. 效果图 2. 认识result内容 2.1 YOLOv7的result.txt 参考链接:YOLOv7结果分析,txt文件内容 0/299 14.7G 0.07522 0.009375 0.02266 0.1073 58 640 0.0002958 0…

【开源】基于JAVA的考研专业课程管理系统

项目编号: S 035 ,文末获取源码。 \color{red}{项目编号:S035,文末获取源码。} 项目编号:S035,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 考研高校模块2.3 高…

力扣572:另一棵树的子树

力扣572:另一棵树的子树 给你两棵二叉树 root 和 subRoot 。检验 root 中是否包含和 subRoot 具有相同结构和节点值的子树。如果存在,返回 true ;否则,返回 false 。 二叉树 tree 的一棵子树包括 tree 的某个节点和这个节点的所…

树_路径总和

//给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 // targetSum 。如果存在,返回 true ;否则,返回 false 。 // // 叶子节点 是指…

线程池怎么用?---实例讲解

线程池使用实例 先写一个配置类 /*** 线程池配置*/ Configuration public class ThreadPoolConfig {//定义线程前缀public static final String NAME_PRE"test";/*** ExecutorService 这个对象就是线程池,可以点进去他的源码看看* Bean,将ge…

【零基础入门Python】Python If Else流程控制

✍面向读者:所有人 ✍所属专栏:零基础入门Pythonhttps://blog.csdn.net/arthas777/category_12455877.html Python if语句 Python if语句的流程图 Python if语句示例 Python If-Else Statement Python if else语句的流程图 使用Python if-else语句 …

【EI稳定检索】第三届能源利用与自动化国际学术会议(ICEUA 2024)

第三届能源利用与自动化国际学术会议(ICEUA 2024) 2024 3rd International Conference on Energy Utilization and Automation (ICEUA 2024) ICEUA 2024已成功申请JPCS - Journal of Physics: Conference Series (ISSN:1742-6596)---独立出版 2024年…

【Linux】 OpenSSH_9.3p1 升级到 OpenSSH_9.5p1(亲测无问题,建议收藏)

👨‍🎓博主简介 🏅云计算领域优质创作者   🏅华为云开发者社区专家博主   🏅阿里云开发者社区专家博主 💊交流社区:运维交流社区 欢迎大家的加入! 🐋 希望大家多多支…

模板、STL标准模板库

模板 通常 对 具有相同要求的结果或者类 提供一个模板,根据实际使用时传过来的数据类型,决定函数和类的具体实现。 模板可以让类或者函数支持一种类型,这种通用类型在实际运行的过程中可以使用任何数据类型。 这种编程方式也成为"泛型编…

uniapp自定义进度条组件

目标效果 原型设计为这样的样式&#xff0c;但是现有的进度条都无法满足需求&#xff0c;于是编写组件实现。 设计引用格式为 <zLineProgress :total"15" :val"7" title"你好吗" />定义组件 <template><view style"hei…

TikTok动态展示广告是什么?

TikTok 的动态展示广告 (DSA) 是一种定制视频广告&#xff0c;它们是根据广告模板实时创建的&#xff0c;并填充定期更新的产品目录中的产品信息。DSA 是 TikTok 版本的动态产品广告&#xff0c;是社交广告中受到卖家欢迎的一种形式&#xff0c;主要是在应用程序和社交广告平台…

【java+vue+微信小程序项目】从零开始搭建——健身房管理平台(1)spring boot项目搭建、vue项目搭建、微信小程序项目搭建

项目笔记为项目总结笔记,若有错误欢迎指出哟~ 【项目专栏】 【java+vue+微信小程序项目】从零开始搭建——健身房管理平台(1)项目搭建 持续更新中… java+vue+微信小程序项目】从零开始搭建——健身房管理平台 项目简介Java项目搭建(IDEA)1.新建项目2.项目类型3.项目设置4…

❀My学习Linux命令小记录(10)❀

目录 ❀My学习Linux命令小记录&#xff08;10&#xff09;❀ 36.fold指令 37.expr指令 38.iperf指令 39.telnet指令 40.ssh指令 ❀My学习Linux命令小记录&#xff08;10&#xff09;❀ 36.fold指令 功能说明&#xff1a;控制文件内容输出时所占用的屏幕宽度&#xff0c…

Android12之MediaCodec硬编解码调试手段(四十九)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒体系统工程师系列【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只…

YOLOv8创新魔改教程(二)如何添加注意力机制

YOLOv8创新魔改教程&#xff08;二&#xff09;如何添加注意力机制 &#xff08;一&#xff09;找代码 github找各种注意力机制的代码 &#xff08;二&#xff09;融合 1.创建文件 在ultralytics/nn/attention.py创建attention.py 文件 将找到的代码粘贴进来 2.修改task…

MySQL find_in_set函数的深入解析与应用

theme: smartblue 在数据库操作中&#xff0c;我们经常会遇到需要处理以逗号分隔的字符串&#xff0c;并且需要根据这些字符串进行查询的情况。MySQL提供了一个非常实用的函数FIND_IN_SET()来处理这种特定的查询需求。本文将深入解析FIND_IN_SET()函数的使用方法&#xff0c;并…

Disucz论坛必备哪些插件,最全Disucz插件【2023最新】

社区论坛的重要性愈发凸显。Disucz作为一款开源的社区论坛软件&#xff0c;其灵活性和可扩展性使其成为许多网站社区的首选。要充分发挥Disucz的潜力&#xff0c;选择并安装适当的插件是至关重要的。 Disucz插件大全 Disucz插件的多样性和功能丰富性为用户提供了个性化和高度…