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

目录

管理组件、函数和属性

识别代码中的可编辑部分

编写 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.mfbz.cn/a/215629.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

线程的使用1

1. 创建一个线程 1.1 创建线程练习 线程实际上是应用层的概念,在 Linux 内核中,所有的调度实体都被称为任务 (task) , 他们之间的区别是:有些任务自己拥有一套完整的资源,而有些任务彼此之间共享一套资源 对此函数的使…

【C++】简单的C++程序编译

一、简单的C程序 //prog.cc int main() {return 0; }二、编译 1. win11命令终端 cc prog.cc 2. win11 Visual Studio命令终端 cl /EHsc /W4 prog.cc 3. GNU编译器 g -Wall -o prog prog.cc 三、运行 1.win11 prog 2.Unix/Linux ./prog 四、查看返回值 1.win11 路…

本地存储与复杂数据类型转换

1. 本地存储介绍 2.1 本地存储分类 - localStorage // 存储一个名字localStorage.setItem(uname, abc)// 获取名字console.log(localStorage.getItem(uname));// 删除本地存储 只删名字// localStorage.removeItem(uname)// 改localStorage.setItem(uname, aaa)// 存一个年龄 …

网络运维与网络安全 学习笔记2023.11.30

网络运维与网络安全 学习笔记 第三十一天 今日目标 实现AP自动注册、配置WLAN业务参数、无线终端通过wifi互访 实现AP自动注册 项目背景 企业内网的大量AP已经通过DHCP的方式获得IP地址 为了实现后期大量AP的统一管理,希望通过AC实现集中控制 在AC设备上&#…

企业培训私有化解决方案PlayEdu

本文应网友 林枫 的要求而折腾; 什么是 PlayEdu ? PlayEdu 是一款适用于搭建内部培训平台的开源系统,旨在为企业/机构打造自己品牌的内部培训平台。PlayEdu 基于 Java MySQL 开发;采用前后端分离模式;前端采用 React1…

idea保存时自动删除不用的import

1、File->setting 2、Editor->General->Auto Import 按照操作,即可实现!!!!!!!

关于开展人工智能专业人员“自然语言及语音处理设计开发工程师”专项培训的通知

“人工智能技术与咨询”发布 工业与信息化部电子工业标准化研究院于2022年7月1日发布《人工智能从业技术人员要求》,现针对已发布标准于1月3日至7日在北京举办《自然语言与语音处理设计开发工程师》中级人才培养,下边是具体文件通知请大家查阅。行业人才…

关于开展人工智能专业人员“计算机视觉处理设计开发工程师”专项培训的通知

“人工智能技术与咨询”发布 工业与信息化部电子工业标准化研究院于2022年7月1日发布《人工智能从业技术人员要求》,现针对已发布标准于1月3日至7日在北京举办《自然语言与语音处理设计开发工程师》中级人才培养,下边是具体文件通知请大家查阅。行业人才…

【c】课程满意度计算

我们不好直接比较二维数组中任意多个元素的值是否相等,我们可以创建一维数组,首先将一维数组的值全部设为0,一维数组的下标代表你喜欢课程的量,一维数组的各个元素的值代表你喜欢的次数 例如 你输入3 5,代表你喜欢第三…

Rust 语言:认识 Rust

本心、输入输出、结果 文章目录 Rust 语言:认识 Rust前言Rust的特点Rust LOGO Rust 在IT行业的应用前景Rust 是一门系统级编程语言相关链接花有重开日,人无再少年实践是检验真理的唯一标准 Rust 语言:认识 Rust 编辑:简简单单 Onl…

线程的使用2

3. 利用管道实现互相的发收通信 jack.c #include<stdio.h> #include<stdlib.h> #include<string.h> #include<unistd.h> #include<sys/types.h> #include<sys/stat.h> #include<fcntl.h> #include <pthread.h>//有名管道进程间…

深圳招聘一般在哪个网站

深圳吉鹿力招聘网是一个专注于深圳招聘的平台&#xff0c;主要提供人才招聘服务。在深圳吉鹿力招聘网上&#xff0c;你可以找到各种深圳招聘信息&#xff0c;包括企业招聘、职位发布、简历投递等。深圳吉鹿力招聘网的出现&#xff0c;方便了求职者的投递和查询工作机会&#xf…

2023年江西省“振兴杯”网络信息行业职业技能竞赛 Web4 Writeup

这次振兴杯碰到的一道题&#xff0c;某些姿势之前貌似没有碰过&#xff0c;简单记一下吧 源码 <?php class Bird{public $funcs;public $salt;public $flag;function say_flag(){$secret hash_hmac(sha256, $_GET[salt], file_get_contents(/flag));$hmac hash_hmac(sha…

开源数据大屏系统介绍

睿思BI数据大屏系统现已开源&#xff0c;通过拖拽配置的方式构建大屏&#xff0c;支持零代码开发。并且包含大量大屏模版&#xff0c;方便用户快速创建大屏应用。 系统主要包括数据准备、大屏设计、权限管理3个部分内容。 1.数据准备 1.1 创建数据源&#xff1a;定义BI系统链…

PHP使用HTTP代码示例模板

PHP是一种广泛用于服务器端的编程语言&#xff0c;它提供了许多内置的函数和扩展&#xff0c;以便开发人员能够轻松地处理HTTP请求和响应。在PHP中&#xff0c;您可以使用以下代码示例模板来处理HTTP请求和生成HTTP响应。 php复制代码 <?php // 处理GET请求 if ($…

计算机组成学习-存储系统总结

复习本章时&#xff0c;思考以下问题&#xff1a; 1)存储器的层次结构主要体现在何处&#xff1f;为何要分这些层次&#xff1f;计算机如何管理这些层次&#xff1f;2)存取周期和存取时间有何区别&#xff1f;3)在虚拟存储器中&#xff0c;页面是设置得大一些好还是设置得小一…

园区无线覆盖方案(智慧园区综合解决方案)

​ 李经理正苦恼头疼的工业园区数字化改造项目。近年企业快速增长,园区内Argent工业设备激增,IT部门应接不暇。为确保生产系统稳定运行,IT管理团队经过反复摸索,决定进行全面的数字化升级。然而改造之艰巨远超想象——混杂的接入环境、复杂的专线部署、长达数月的建设周期,种种…

法律情境扮演、逆向推理文字游戏、AIGC创作……见证AI极致生产力!

飞桨星河社区&#xff0c;以飞桨和文心大模型为核心&#xff0c;集开放数据、开源算法、云端GPU算力及大模型开发工具于一体&#xff0c;在大模型范式下&#xff0c;为开发者提供模型与应用的高效开发环境。在成立的5年以来&#xff0c;已汇集660万AI开发者&#xff0c;覆盖深度…

LLM之RAG实战(一):使用Mistral-7b, LangChain, ChromaDB搭建自己的WEB聊天界面

一、RAG介绍 如何使用没有被LLM训练过的数据来提高LLM性能&#xff1f;检索增强生成&#xff08;RAG&#xff09;是未来的发展方向&#xff0c;下面将解释一下它的含义和实际工作原理。 ​ 假设您有自己的数据集&#xff0c;例如来自公司的文本文档。如何让ChatGPT和其他…

中级工程师评审条件:如何成为一名合格的中级工程师

作为一名工程师&#xff0c;不仅需要具备扎实的技术基础和实践能力&#xff0c;还需要通过评审来证明自己的能力水平。在成为一名合格的中级工程师之前&#xff0c;你需要满足一系列评审条件。甘建二今天将详细介绍中级工程师评审的要求和标准&#xff0c;帮助你成为更优秀的工…