CN108351764A - 程序代码编辑器中数据的图形表示 - Google Patents

程序代码编辑器中数据的图形表示 Download PDF

Info

Publication number
CN108351764A
CN108351764A CN201680062349.5A CN201680062349A CN108351764A CN 108351764 A CN108351764 A CN 108351764A CN 201680062349 A CN201680062349 A CN 201680062349A CN 108351764 A CN108351764 A CN 108351764A
Authority
CN
China
Prior art keywords
data
source code
value
code
data value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201680062349.5A
Other languages
English (en)
Other versions
CN108351764B (zh
Inventor
M·杜克曼
K·S·欧尔
S·佩吉
B·阿格黑
C·拉特纳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Computer Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Computer Inc filed Critical Apple Computer Inc
Publication of CN108351764A publication Critical patent/CN108351764A/zh
Application granted granted Critical
Publication of CN108351764B publication Critical patent/CN108351764B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/33Intelligent editors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23291Process, graphic programming of a process, text and images

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Stored Programmes (AREA)

Abstract

本发明在一个实施方案中提供了一种非暂态计算机可读介质,所述非暂态计算机可读介质存储用于在集成开发环境内实现源代码编辑器的指令。所述指令使得一个或多个处理器实现一种方法,所述方法包括在源代码编辑器处接收数据,所述数据表示待由所述源代码编辑器显示的由源代码使用的数据值,将表示所述数据值的所述数据***所述源代码中,并且在所述源代码编辑器中显示所述数据值的图形表示,所述图形表示显示在与所述数据值相关联的程序代码语句内。

Description

程序代码编辑器中数据的图形表示
相关申请的交叉引用
申请人要求2015年10月28日提交的共同待审的临时专利申请序列号62/247,636的优先权,该专利申请全文以引用方式并入本文。
背景技术
许多现代编程语言需要高级的编辑和编译软件以便编辑、调试及编译源代码。在一些开发环境中,软件开发者在测试新的代码之前通常要从事若干手动步骤。例如,在典型的开发生命周期中,在调试可开始之前源代码必须被独立地编辑、编译及执行。为了改进软件开发的任务,开发者可使用集成开发环境(IDE)开发软件应用程序。IDE是一种软件应用程序,通常包含编辑器、编译器和/或解释器、构建自动化工具和调试器。IDE的示例包括来自Apple Inc.,Cupertino,California的IDE以及来自Microsoft Corp.,Redmond,Washington的IDE。IDE的编辑器包括便于在文件之间移动并访问相关参考资料的特征(例如,应用编程接口(API)定义)。IDE的编辑器还包括便于查看和编辑文本数据(例如,源代码或XML)的特征,在被执行时,将显示图形内容(例如,编程组件诸如数据模型或图形用户界面(GUI)部件的表示)。
计算机程序代码中的数据可为可变数据或常量数据(例如,文字数据)。程序代码中的变量通常包括对存储数据的存储器或寄存器地址的引用,这些数据可以在执行程序代码的过程中以编程方式进行操作。文字数据表示为计算机程序代码内以文字表示的确切值。对于简单的值,该文字数据可易于解释。然而,对于表示复杂数据的值,程序代码内的文字值可能不容易解释。
发明内容
在一个实施方案中,非暂态计算机可读介质存储用于图形表示集成开发环境的源代码编辑器中内联的复杂文字值的指令。
一个实施方案提供了一种方法,该方法包括在源代码编辑器处接收数据,该数据表示待由源代码编辑器所显示的由源代码使用的数据值;将表示数据值的数据***源代码中;并且在源代码编辑器中显示数据值的图形表示,该图形表示与程序代码语句内联和/或显示在程序代码语句内,该程序代码语句与数据值相关联。
一个实施方案提供了一种***,该***包括一个或多个处理器和计算机可读介质,该计算机可读介质包含指令,该指令当由一个或多个处理器执行时使得一个或多个处理器执行各种操作。在一个实施方案中,这些操作包括:执行源代码编辑器,该源代码编辑器显示程序代码的源代码列表;在源代码编辑器处接收数据,该数据表示待由程序代码使用的数据值;将表示数据值的数据***源代码中;以及在源代码编辑器中显示数据值的图形表示。图形表示可显示在与数据值相关联的程序代码语句内。
一个实施方案提供了一种其中存储有指令的非暂态计算机可读介质,这些指令在被处理器执行时,使得处理器执行操作,这些操作包括:在源代码编辑器处接收数据,该数据表示待由源代码编辑器显示的源代码使用的数据值;将在源代码编辑器处接收的数据的表示编码成数据的编码表示;将数据值的编码表示***源代码中;以及在源代码编辑器中显示数据值的图形表示以取代编码表示,其中图形表示显示在与数据值相关联的程序代码语句内。
以上发明内容不包括本发明的所有方面的详尽列表,并且其他特征将通过附图和具体实施方式显而易见。预期本发明包括可根据以上概述的各方面以及以下具体实施方式中所公开的那些的所有合适组合来实践的所有***和方法。
附图说明
本发明以举例的方式进行说明,并且不限于各个附图的图形,在附图中类似的附图标号指示类似的元件,并且其中:
图1是根据一个实施方案的数据处理***和集成开发环境的框图;
图2是在交互式开发应用程序中使用的图形文字的示例性类型的图示;
图3A-图3C示出根据一个实施方案将图形显示的图像文字***和操作到代码编辑器中;
图4A-图4B示出根据一个实施方案将图形显示的颜色文字***和操作到代码编辑器中;
图5示出根据一个实施方案将图形显示的文件文字***代码编辑器中;
图6是示出根据一个实施方案数据文件资源的存储的图示;
图7是示出根据一个实施方案图形数据值表示逻辑的流程图;
图8是根据一个实施方案使用图形文字进行交互式应用程序开发的过程的流程图;
图9是根据一个实施方案的数据处理***硬件的框图;并且
图10是根据一个实施方案的另外的数据处理***的框图。
具体实施方式
本专利申请描述了关于在软件开发工具诸如集成开发环境(IDE)的图形用户界面中呈现数据值的各种实施方案。如本文所述的IDE的实施方案为交互式开发环境提供,在该交互式开发环境中,在程序代码被输入IDE的编辑器中时,对程序代码的每个语句进行交互式评估和显示。交互式环境能够像在标准开发环境中那样对算法和***API进行实验,同时提供通过自动显示结果来自动评估表达式的优点。为改进交互式开发过程,在处理使用复杂类型的数据诸如图形图像、文件、网页、应用文件、视频等的程序指令时,文字数据值在显示在源代码编辑器中时可表示为内联在程序的源代码中。文字数据值可在使用该文字数据值的一行程序代码内显示为文字数据值的图形表示。
该复杂数据的定义和表示可作为常量数据或“文字”数据***现有IDE中。虽然数据表示为内联在源代码中,但是该数据可表示可能不容易和/或快速解释的数据。文字数据的图形显示可使得开发者能够在开发过程中轻松查看和操作文字数据的值,并且操作的结果可在IDE的编辑器内内联显示。表示复杂数据类型诸如颜色数据、音频数据、视频数据或包括图像或文本数据的数据文件的文字数据以图形方式显示在IDE的编辑器中。在一个实施方案中,文字数据还可表示多媒体数据诸如视频数据和/或音频数据,并且也可以图形方式显示在IDE的编辑器中。在一个实施方案中,开发者可定义自定义数据类型,并且该自定义数据类型的自定义处理程序可用于以图形方式显示该自定义数据类型的文字数据的表示。以图形方式表示数据使开发者能够使用用户界面工具交互式操作数据。该图形表示在编辑器中可以按照与文本类似的方式进行复制和粘贴,并且可通过IDE的编辑器的用户界面进行操作。虽然数据以图形方式呈现给开发者,但是数据也可被编码为文本值,该文本值可由编译器解析成可执行指令。
示出并描述了示例性源代码,该示例性源代码与Swift编程语言中的程序代码指令一致。然而,实施方案并不限于使用Swift编程语言。本文所述的概念也可应用于支持语言诸如C、Objective C、C++、Java和/或任何其他编程语言的源代码编辑器和集成开发环境。
为提供对各种实施方案的透彻解释,本文提出了许多具体细节。然而,本领域的普通技术人员将理解,可以在没有那些具体细节的情况下实践实施方案。在一些情况下,未详细示出熟知的部件、结构和技术,以免模糊本说明书的关键细节。在本文中对“一个实施方案”或“实施方案”的引用是指结合或关联该实施方案描述的特定特征、结构或特性可以被包括在至少一个此类实施方案中。然而,在本说明书中的各个位置出现短语“在一个实施方案中”不一定都是指同一个实施方案。
在随后的附图中所描绘的过程由包括硬件(例如,电路***、专用逻辑等等)、软件(如非暂态机器可读存储介质上的指令)或者硬件和软件两者的组合的处理逻辑来执行。虽然下文按照某些顺序操作来描述该过程,但应当理解,所描述的某些操作可以不同的顺序执行。此外,某些操作也可并行执行而非按顺序执行。
下文所述的图中的图形用户界面图像的图示包括受版权保护的材料。版权所有人,包括本发明的受让人在内,据此保留其在这些材料中的权利,所述权利包括版权。由于本专利文档或本专利公开内容出现在专利与商标局文件或记录中,因此版权所有人不反对任何人对本专利文档或本专利公开内容的拓制,但会以其他方式保留任何形式的所有版权权利。版权所有Apple Computer,Inc.,2015年。
集成开发环境中数据的内联图形表示
图1是根据一个实施方案的数据处理***102和集成开发环境104的框图。数据处理***102可为执行操作***诸如Apple Inc.,Cupertino,California的Mac OS操作***的台式或移动计算或数据处理***。数据处理***102也可为执行不同操作***的不同类型的计算***。集成开发环境104可为例如集成开发环境(IDE),该IDE为软件开发者提供了可用于创建、执行和调试计算机程序代码的特征。在一个或多个实施方案中,IDE 104作为应用程序进程与交互开发的应用程序150结合在数据处理***102上执行。交互开发的应用程序150可以在与IDE的应用程序进程不同的存储器地址空间中作为应用程序进程152来执行,但是在一些具体实施中,交互开发的应用程序150的应用程序进程152和IDE 104的应用程序进程可结合到相同存储器地址空间的单一进程中。
IDE 104在数据处理***102的显示器上呈现用户界面包括代码编辑器108。代码编辑器108可显示程序代码106的列表,诸如交互开发的应用程序150的源代码。在一个实施方案中,源代码可为Swift编程语言中的程序代码指令。然而,实施方案并不限于使用Swift编程语言,因为在一个实施方案中,源代码也可以编码为语言诸如C、Objective C、C++、Java和/或其他编程语言。IDE 104提供了对交互开发的应用程序150的执行的控制。在一个实施方案中,IDE 104可在附加程序代码指令被输入代码编辑器108中时动态编译和执行该指令,能够以交互的方式对交互开发的应用程序150进行编码、执行、调试和重新编码。
在一个实施方案中,代码编辑器108可显示与组成交互开发的应用程序的应用程序进程152的可变数据或文字数据内联的程序代码106。例如,颜色数据可由称为“颜色”的文字值110来表示,该文字值具有与颜色“红色”相关联的数值。代替例如与红色相关联的红/绿/蓝/α元组(例如,{1,0,0,1})的是,与颜色红色相关联的数值的程序代码分配可显示为颜色=“红色”。除使用文字编码表示颜色红色之外或作为替代形式,可以图形方式显示颜色红色(表示为粗体文本)的色度指示器。另选地,可以显示红色色板,或者可提供任何其他图形指示以传递与待分配给“颜色”的底层数值相关联的颜色数据。
同样,图像可以由表示图像数据的文字值112诸如对图像数据文件的引用来表示。除显示引用图像数据的文字之外或作为替代形式,图像的图形表示可以与图像数据相关联的程序代码语句内的程序代码内联显示。文字值110和文字值112的图形表示在编辑器中可以按照与文本类似的方式进行复制和编辑。另外,文字值的图形表示可使用由IDE 104提供的工具进行操作。
在一个实施方案中,提供了文字编辑器114,该文字编辑器114能够***或修改文字数据。例如,可以与文字数据的图形表示进行交互(例如,点击、触摸等)以访问文字编辑器114,并且文字编辑器114能够选择不同的图像或文件或能够对文字数据进行图形编辑。例如,与文字颜色数据的图形表示的交互可以访问呈颜色选择器形式的文字编辑器114,该颜色选择器能够对颜色数据进行图形选择或操作。然后,对颜色数据的选择或操作可以反映在内联文字数据的图形显示中。在一个实施方案中,响应于选择或操作颜色数据,IDE104可经由交互开发的应用程序150的应用程序进程152自动编译程序代码106并且执行所得的指令。
在一个实施方案中,***并且操作到IDE 104的代码编辑器108中的图形表示在底层的程序代码中表示为可以由编译器解析和处理的编码值。图形表示的特定编码可取决于编译器的功能或编写程序代码的语言提供的功能。例如,图形数据可以表示为基于美国信息交换标准码(ASCII)或Unicode编码格式或者与IDE 104支持或可访问的编程语言和相关联的编译***一致的任何编码格式。
图形数据可被编码成适用于由IDE 104的前端编译器120处理的表示。前端编译器120可以是集成在IDE 104内的编译***的一部分或存储在数据处理***102上并且可由IDE 104访问的编译***。在一个实施方案中,IDE 104使用基于LLVM编译器基础架构的编译***,但是可以使用其他编译***。前端编译器120分析程序代码以构建程序的内部表示。例如,前端编译器120可将图形数据的编码表示编译到中间表达式122中。
如果需要,中间表达式122可用于由编码的表示表示的数据对象转换成可由应用程序进程152执行的表达式。基于交互开发的应用程序150的预期目标,数据可发生数据类型转换。例如,IDE 104可以在具有支持NS图像数据类型中的图像数据的操作***的数据处理***102上执行,同时应用程序进程152可以开发具有用于支持UI图像数据类型的图像数据的操作***的目标***。另外,IDE 104可以使用NS颜色数据类型,同时应用程序进程152可以期望呈UI颜色数据类型的形式的颜色数据。具体数据类型作为示例列出,并且可以图像方式显示在IDE 104的代码编辑器108中的任何数据类型可以在编译成供应用程序进程152使用的适当的数据类型的过程中被转换或解释。
在一个实施方案中,后端编译器124还可将图形显示的数据的中间表达式122编译成可由应用程序进程152编译的可执行指令使用的表达式126A。例如,与图像数据相关联的文字值112还可处理成包含对于底层的图像数据(例如,呈便携式网络图形(PNG)格式的数据的(NSData*)UIImagePNGRepresentation(dataName))具有特异性的数据表示128的表达式126A。表达式126A可以通过进程间通信(IPC)(例如,IPC130)的形式作为表达式126B传送到交互开发的应用程序150中,该表达式126B用于***或修改由应用程序进程152的可执行指令使用的数据。例如,表达式126B可指示作为待由应用程序进程152使用的图像文字154(UIImage myImage)***与UIImagePNG(myImage)表示相关联的数据156。表达式126B还可以使得交互开发的应用程序150设置或修改由应用程序进程152使用的颜色文字153(UIColor颜色)的值。
图1所示以及上文所述的特定数据类型用于示例性而非限制性目的,因为本文所述的***、过程及相关联的逻辑可一般性地用于由IDE 104支持的任何文字数据类型以及与程序代码106相关联的底层编程语言。另外,至少一部分技术也可应用于具有源于在IDE104的代码编辑器108中显示的具有图形表示的文字数据类型的值的可变数据类型。
***和使用以图形方式显示的文字数据
图2是在交互式开发应用程序中使用的图形文字的示例性类型的图示。如图所示,以图形方式显示的文字值可包括在代码编辑器108内的程序代码语句内并且由该程序代码语句操作。示出了多个程序代码语句,包括操作图像文字(例如,程序语句201)、颜色文字(例如,程序语句204A-B)和文件文字(例如,程序语句206)的程序代码语句。在一个实施方案中,包括以图形方式显示的文字的程序语句201的结果202可与生成结果的程序语句201关联显示。另外,使用以图形方式显示的文字所限定的文字可以用作其他程序代码的参数,如在程序代码语句203中一样。创建和操作以图形方式显示的文字的具体示例在下面的图3-图5中示出。
图3A-图3C示出根据一个实施方案将图形显示的图像文字***和操作到代码编辑器108中。图3A示出用于使用引用文件的图像文字初始化UIImageView类别的图像参数的拖放过程。图3B示出用于使用用户界面工具以图形方式操作图像文字的过程。图3C示出如何使用界面工具和程序代码操作以图形方式显示的图像文字。虽然图3A-图3C示出并且描述了以图形方式显示的图像文字,在一些情况下示出的过程也可适用于所有其他形式的以图形方式显示的文字,诸如颜色文字和文件文字。
如图3A所示,可使用拖放过程将用作图像文字的图像文件***代码编辑器108中。要将图像文字302***源编辑器中,将用作图像文字302的图像文件可以位于文件***查看器内或通过执行IDE的数据处理***上的操作***的文件管理器,使用GUI,可将文件拖到代码编辑器108中。如视图300中所示,开发者通过GUI可以单击或触摸待***的文件的表示,该表示可以被拖到代码编辑器108中,并且留在对应于接收文字图像的程序代码语句的代码编辑器108的位置处(例如,UIImageView(image:UIImage?))。代码编辑器108可显示待***的文件的指示305(例如,“A llama poses.png”)。在一个实施方案中,***点304在拖放过程中追踪用户界面指针,以指示其中可放置图像文字的代码内的位置。
作为拖放过程的替代形式,开发者可使用操作菜单(未示出)并且使用由IDE提供的文件选择窗口选择命令以将图像文字***程序代码内期望的***点处。该文件选择过程相对于下图5所示的文件文字示出。
在一种具体实施中,一旦文字被添加至代码,图像文字302被表示为包围由文字表示的图像的缩放版本的圆角矩形。另外,代码编辑器108可在代码编辑器108的侧边栏区域内指示文字的数据类型306。在一个实施方案中,附加图形表示303显示在代码编辑器108内,该代码编辑器108示出包括图像文字302的程序语句的结果。
如图3B所示,可按照与程序代码类似的方式使用用户界面工具操作图像文字302。例如,开发者可选择图像文字302,并且使用标准用户界面操作窗口308可将图像文字302或其引用的内容剪切或复制到存储在数据处理***的存储器中的***剪贴板。另外,还可以执行程序代码的操作***可以支持的其他操作。在一个实施方案中,在剪切、复制或以其他方式操作的图像文字302时,图像文字302的底层文本编码将复制到存储器中。在此类实施方案中,当图像文字的剪贴板版本被粘贴到标准文本编辑器中或粘贴到不支持图像文字302的代码编辑器中时,将***并且显示图像文字的文本编码。包含图像文字302的图3B的程序代码语句的示例性编码如下面的代码语句1所示。
代码语句1–包括编码图像文字的程序代码语句
let imageView=UIImageView(image:[#Image(imageLiteral:"a llamaposes.png")#])
如代码语句1中所示,图像文字302可使用“[#]”语句进行编码,该“[#]”语句指定基于图像文字的图像并且列出包含图像文字来源于其中的数据的文件名称(例如,[#Image(imageLiteral:"someImage.png")#])。代码编辑器108可识别编码语句中的文件名称并且显示文件中包含的图像数据以取代编码语句。然而,应当理解,实施方案可以相对于具体实施细节进行改变,并且可以使用超出代码语句1中所示方法的其他编码方法。在一个实施方案中,用于某些类型的文字包括但不限于图像文字和文件文字的文件将自动复制到特定的和/或预先确定的位置,该位置可以是应用程序包中的位置或文件夹,该应用程序包包含其中***以图形方式显示的文字的交互开发的应用程序的代码和资源。将文件存储在预先确定的位置允许编码引用文件名称,而无需文件的完整路径描述。然而,实施方案也可以允许引用超出应用程序资源所用的预先确定的位置之外的文件。在此类实施方案中,可使用文件位置的更完整的描述。
如图3C所示,可以复制和粘贴***的图像文字302以用于附加的程序语句。另外,使用以图形方式显示的文字所限定的文本文字可用于限定其他文字。例如,以图形方式显示的图像文字302可使用图3B中示出的界面工具进行复制,并且复制的图像文字312可用于附加的程序语句中,诸如示出的限定值imageTemplate 310的程序语句。使用限定用于imageTemplate 310文字的附加数据的程序语句(例如,imageWithRenderinMode(.AlwaysTemplate))示出imageTemplate 310的定义。一般来讲,在使用以图形方式显示的文本时,可使用完全基于文本的代码的代码语句中可用的任何编程功能。代码编辑器108的侧边栏区域可显示关于程序语句的操作的附加内容以限定imageTemplate 310值。例如,在执行该程序语句时,可显示用于模板的图像数据的大小316。
使用限定的imageTemplate 310,还可限定文字值。例如,附加的程序语句可基于先前限定的imageTemplate 310限定附加文字(例如,imageView2 322)。与分配相关联的数据类型326还可显示在代码编辑器108的侧边栏中。
图4A-图4B示出根据一个实施方案将图形显示的颜色文字***和操作到代码编辑器108中。图4A示出颜色文字***代码编辑器108。图4B示出在***代码编辑器108中之后编辑颜色文字。
如图4A所示,在一个实施方案中,代码编辑器108可以图形方式与程序代码语句内联显示颜色文字数据并且显示在程序代码语句内。程序代码语句402可用于限定图像数据类型(例如,UIImageView),并且开发者可使用以图形方式显示的颜色文字数据编辑图像数据类型的属性。例如,响应于完成程序代码语句402以限定图4A的imageView值,代码编辑器108可确定程序语句的有效性。如果程序代码语句402有效,则与包含代码编辑器108的IDE相关联的编译器可将程序语句编译到可执行表达式中。在一个实施方案中,可显示执行表达式的结果403,尽管可独立于图像文字数据的内联图形显示来启用、禁用和配置内联结果的显示。
在一个实施方案中,可通过指定第一颜色文字404A来调节限定的图像的属性。第一颜色文字404A可使用代码编辑器108的编辑器选项来***。响应于选择编辑器选项以***颜色文字,可显示颜色拾色器406A以选择第一颜色文字404A的值。所选择的任何值可与程序代码内联以图形方式显示在代码编辑器108中,使得程序代码语句显示分配给指定颜色的图形表示的值。使用颜色文字值的程序语句分配的结果405也可显示在代码编辑器108中。
第二颜色文字404B和第三颜色文字404C也可按照类似于***第一颜色文字404A的方式***代码编辑器108中。就图3A-图3C中所述的以图形方式显示的图像文字而言,每个颜色文字404A-C可具有以图形方式显示的文字值的基于底层文本的编码。基于底层文本的编码可***应用的程序代码中,并且代码编辑器108可自动解释颜色文字的文本编码以显示底层文本表示的颜色值。示出颜色文字的示例性文本编码的代码语句在代码语句2中示出。
代码语句2–包括编码颜色文字的程序代码语句
imageView.tintColor=[#Color(colorLiteralRed:1,green:1,blue:1,alpha:1)#]
如图4B所示,一旦颜色文字被***代码编辑器108中,即可使用图形界面工具对颜色文字的值进行编辑。开发者可轻击、单击或以其他方式与显示的彩色文字(例如,第一颜色文字404A或第二颜色文字404B)交互,以重新启用颜色拾色器406B。除颜色拾色器406A-B以外,可以提供若干其他形式的颜色拾色器和编辑器以选择数据处理***上可用的各种颜色。使开发者能够使用示出的颜色文字工具406A-B以图形方式选择程序代码的颜色文字值,使得能够在程序中相对于使用代码语句2的编码颜色值中所表示的底层颜色数据进行更准确且有效的颜色选择。在一个实施方案中,响应于颜色文字数据中的任何改变,利用颜色文字的程序语句的结果407可显示在代码编辑器108中。
图5示出根据一个实施方案将图形显示的文件文字508***代码编辑器108中。在一个实施方案中,文件文字508的***可使用图3A的拖放过程或通过代码编辑器108的菜单选项来执行。选择代码编辑器的菜单选项可使得用户界面窗口502出现,开发者通过该用户界面窗口502可选择要作为文件文字***的文件506。一旦选择了文件,则可以将用于以图形方式显示的文件文字的编码***底层源代码中,然后该底层源代码通过源编辑器108显示为图形文字值。文件文字508的图形显示可按照与图像和颜色文字类似的方式进行操作。以图形方式显示的文件文字508可按照与基于文本的程序代码类似的方式进行复制和粘贴。示出颜色文字的示例性文本编码的代码语句在代码语句3中示出。
代码语句3–包括编码文件文字的程序代码语句
let asciiSwift=try?String(contentsOfURL:[#FileReference(fileReferenceLiteral:"swiftAsASCII.txt")#])
在一个实施方案中,文件文字508被解释为引用***的文件文字的资源定位符数据类型(例如,NSURL)。然而,文件文字的数据类型可根据实施方案并且基于此类实施方案中支持的底层编程语言和编译器类型而改变。在一些实施方案中,文件文字的数据类型可基于***的文件类型(例如,图像、音频、视频等)而改变。例如并且在一个实施方案中,图像文件504(例如,swift.png)还可被选择为作为文件文字***,并且代码编辑器108可将***的图像文件文字解释为图像文字。
图6是示出根据一个实施方案数据文件资源的存储器的图示。在一个实施方案中,包含用作文字数据的数据的数据文件被自动复制到特定的和/或预先确定的位置,该位置可以是应用程序包中的位置或文件夹,该应用程序包包含其中***以图形方式显示的文字的交互开发的应用程序的代码和资源。例如,包含用于示出的图像文字602的数据的数据文件606可存储在与交互开发的应用程序相关联的资源文件夹604中。数据文件606可在图像文字602***代码编辑器108中之前被***资源文件夹604中,如图3A所示。另选地,通过将数据文件606拖放到代码编辑器108中,数据文件606将自动复制到资源文件夹604中。
图7是示出根据一个实施方案图形数据值表示逻辑700的流程图。在一个实施方案中,图形数据值表示逻辑700可通过源代码编辑器逻辑执行或通过包含源代码编辑器的IDE的其他逻辑部件执行。图形数据值表示逻辑700可将数据处理***配置成接收表示待由源代码编辑器显示的由源代码使用的数据值的数据,如在框702处所示。
在框703处,图形数据值表示逻辑700可确定所接收的数据引用是否包含待由源代码使用的(例如,用作文字值)的数据的数据文件或者所接收的数据本身是否表示待由源代码使用的数据值。如果在框703处,图形数据值表示逻辑700确定数据引用数据文件,则在框704处,逻辑可确定数据文件内的内容的数据类型。在各种实施方案中,该内容可包括文本数据、图像数据、多媒体数据诸如音频和/或视频数据或其他类型的数据诸如自定义数据类型的数据。另外,在一个实施方案中,由所接收的数据所参考的数据文件可以被自动复制到预先确定的位置,该预先确定的位置被指定为存储由源代码使用的资源。
如果在框703处,图形数据值表示逻辑700确定所接收的数据本身为文字数据值并且不引用数据文件,则在框705处,逻辑可确定所接收的数据的数据类型。在一个实施方案中,颜色文字数据可以被***源代码中。另外,开发者可限定自定义数据类型。如果已限定自定义数据类型,则在框705处,图形数据值表示逻辑700可确定所接收的数据是否匹配自定义数据类型。
在框704处确定数据文件中的内容的数据类型之后,在框705处,图形数据值表示逻辑700可将标识数据文件的数据***源代码中。在一个实施方案中,标识数据文件的数据可被编码成表示数据文件中参考的数据的类型,例如,如上文代码语句1和代码语句3所述。在框705处确定所接收的数据的数据类型之后,在框707处,图形数据值表示逻辑700可将表示数据值的数据***源代码中。例如,对于表示颜色文字数据值的数据,诸如代码语句2中的编码表示可被***源代码中。
在框708处,图形数据值表示逻辑700可与源代码内联显示表示数据值的图标。在利用数据值的程序代码语句内,可使用表示数据值的图标。在一个实施方案中,可显示表示数据值的图标以取代标识包含在框706处***的数据值的数据文件的数据或者在框707处***的表示数据值的数据。表示数据值的图标可以与数据值相关联的程序语句内联显示或显示在该程序语句内。
图8是根据一个实施方案使用图形文字进行交互式应用程序开发的过程800的流程图。该过程800可为计算机实现的过程或方法,该过程或方法由执行代码编辑器108或包括如图1所示的源代码编辑器的IDE的数据处理***执行。源代码编辑器或IDE可接收表示待由源代码编辑器显示的由源代码使用的数据值的数据,如框802处所示。
表示数据值的数据可在框802处通过拖放过程接收,在该拖放过程中,包括待由源代码的程序语句使用的数据的文件被拖放到显示程序语句的源代码编辑器的区域中并且置于与程序语句相邻的位置处。另选地,源代码编辑器的用户界面选项可用于选择包含待由源代码使用的数据的文件。源代码编辑器的用户界面选项还可用于将非基于文件的文字数据***源代码中。
在一个实施方案中,过程800包括将在源代码编辑器处所接收的数据的表示编码到数据的编码表示中,如框804处所示。数据的编码表示可为文本表示或不同类型的表示,诸如不透明数据表示。特定类型的编码在不同实施方案中可以是变化的。一些实施方案可以排除编码。
另外,过程800包括将表示数据值的数据***源代码中,如框806处所示。表示该值的数据可为在框804处创建的数据的编码表示或数据值的任何其他表示。在框808处,过程800可使得源代码编辑器中数据值的图形表示与数据值相关联的程序代码语句内联显示。与数据值相关联的程序代码语句可为利用数据值的任何程序语句,诸如将数据值分配给程序常量的程序代码,诸如上面的代码语句1至代码语句3的程序语句所示。数据值的图形表示可根据表示的数据的类型而改变。例如,图形表示可为表示颜色文字数据的颜色值或者可为图像文字的图像数据的缩放版本。另外,图形表示可为包含视频数据的数据文件的视频帧。
在一个实施方案中,过程800包括自动编译与数据值相关联的程序代码语句,如框810处所示。在一个实施方案中,过程800自动编译源代码取决于特定事件未发生的情况,诸如确定完整和正确的程序语句已被输入到源代码编辑器中。另选地,在持续变化的基础上可自动并且周期性地发生编译。
另外,过程800可使得数据处理***执行所编译的程序代码语句以生成结果,如框812处所示。程序语句的结果至少部分地取决于在框802处接收的由数据表示的数据值。例如,结果可以为创建了包含数据值的新程序常量,或者程序数据值的特性基于数据值进行修改。
过程800还可使得显示编译的程序语句的执行的结果,如框814处所示。结果的显示可基于开发者的偏好被启用或禁用。在一个实施方案中,显示结果包括但不限于显示从文件文字加载的数据,诸如从数据文件加载的文本数据、从图像文件加载的图像数据或从视频文件加载的视频数据。显示结果还可包括从音频数据文件加载的音频数据的回放。显示结果还可包括显示基于颜色文字数据修改的图像或视频数据。
图9是根据一个实施方案的数据处理***900的框图。需注意,虽然图9示出了可结合到移动设备或手持设备中的数据处理***的各种部件,但是其并不旨在表示使这些部件互连的任何特定架构或方式,因此此类细节与本发明并无密切关系。还应理解,也可将具有比示出的更少部件或更多部件的其他类型的数据处理***在各种实施方案内使用。
数据处理***900包括用于将***的各种部件互连的一条或多条总线909。一个或多个处理器903如本领域已知地耦接到一条或多条总线909。存储器905可以为易失性DRAM或非易失性RAM,诸如NOR闪存存储器或其他类型的高速非易失性现场执行存储器。该存储器可使用本领域已知的技术耦接到一条或多条总线909。数据处理***900还可包括明确非易失性存储器907,诸如数据存储设备,该数据存储设备包括一个或多个硬盘驱动器、闪速存储存储设备或在电力从***移除之后保持数据的其他类型的存储器***。非易失性存储器907和存储器905可各自使用已知的接口及连接技术耦接到一条或多条总线909。显示控制器922可耦接到一条或多条总线909以接收显示数据,该显示数据可显示在显示设备923上。在一个实施方案中,显示设备923包括用于提供触摸屏的集成式触摸输入。
数据处理***900还可包括一个或多个输入/输出(I/O)控制器915,所述控制器为一个或多个I/O设备提供接口,所述一个或多个I/O设备诸如一个或多个鼠标、触摸屏、触摸板、操纵杆和其他输入设备(包括本领域已知的那些),以及输出设备(例如,扬声器)。输入/输出设备917如本领域中已知地通过一个或多个I/O控制器915耦接。
虽然在一个实施方案中,数据处理***900示出在直接耦接到一条或多条总线时的存储器905和非易失性存储器907,但是非易失性存储器907可远离数据处理***900,诸如在网络存储设备中,该网络存储设备通过网络接口诸如调制解调器、无线LAN或以太网接口耦接到数据处理***。如本领域所熟知的,总线909可通过各种网桥、控制器和/或适配器彼此连接。在一个实施方案中,I/O控制器915包括用于控制USB***设备的USB(通用串行总线)适配器或用于控制Thunderbolt***设备的Thunderbolt控制器中的一者或多者。在一个实施方案中,一个或多个网络设备925可耦接到总线909。一个或多个网络设备925可为有线网络设备(例如,以太网)或无线网络设备(例如,WI-FI、蓝牙)。
图10是根据一个实施方案的另外的数据处理***的框图。示出的数据处理***1000可包括经过优化以用于移动或手持设备中的硬件部件,并且可以包括在片上***集成电路内。可以使用未示出的一个或多个总线或接口互连各个部件,如现有技术中所知那样。利用图示数据处理***构造的电子设备可以包括比图示更多的或更少的部件。
数据处理***1000可包括具有一个或多个处理器1005的处理***以及用于存储数据和用于执行的程序的存储器1010。还可包括音频I/O子***1020。该音频I/O子***1020可包括用于电话或视频会议或用于音乐的录制和回放的麦克风和扬声器。
可包括显示控制器和显示设备1030以提供以图形方式显示的用户界面,并且可以有无线收发器1070用以经由一种或多种无线技术诸如Wi-Fi、红外、蓝牙或无线电设备技术的一种或多种变体来发射和接收数据。***可以包含处于向前和向后配置中的一个或多个相机设备1040,但每个均仅有前向相机或后向相机的类似配置的***可以是很多最优配置之一。数据处理***还包括一种或多种输入设备1050,以使得用户能够向***提供输入。输入设备可以包括小键盘或键盘,它们是单独的或与显示设备1030上覆盖的触摸或多点触摸面板结合。可利用工厂生成的校准数据来实时调节显示设备和触摸面板。数据处理***1000还可包括用于通过全球定位***(GPS)设备、WI-FI位置感知或其等同服务提供位置感知服务1060的设备。
通过本描述将显而易见的是,本发明的各方面可至少部分地在软件中体现。也就是说,响应于其处理器执行存储介质诸如包括非暂态机器可读存储介质中包含的指令序列,可在数据处理***中实施这些技术。在各种实施方案中,可将硬连线的电路与软件指令结合使用来实施本发明。因此,这些技术不限于硬件电路与软件的任何特定组合,亦不限于由数据处理***执行的指令的任何特定源。此外,应当理解,在描述移动设备或手持设备的情况下,这种描述涵盖移动设备(例如膝上型电脑设备、平板设备)、手持设备(例如智能电话)以及适合用于可穿戴电子设备中的嵌入式***。
在以上说明书中,结合本发明的特定实施方案已描述了本发明。然而显而易见的是,在不脱离本发明的更广泛的实质和范围的情况下,可对这些实施方案进行各种修改和变更。因此,说明书和附图应被视为是例示性的而非限制性的。所提供的描述和示例中的细节可以在一个或多个实施方案中的任何地方使用。不同实施方案或示例的各种特征可以与包括的一些特征和排除的其他特征进行各种组合,以适应各种不同的应用。示例可以包括主题,诸如一种方法,用于执行该方法的操作的装置,至少一种包括指令的机器可读介质,该指令在被机器执行时使得机器执行该方法或者根据本文所述的实施方案和示例的设备或***的操作。另外,本文所述的各种部件可为用于执行根据一个实施方案所述的操作或功能的装置。
在一个实施方案中,非暂态计算机可读介质存储用于图形表示集成开发环境的源代码编辑器中内联的复杂文字值的指令。在一个实施方案中,指令使得数据处理***执行一种方法,该方法包括在源代码编辑器处接收数据,该数据表示待由源代码编辑器所显示的由源代码使用的数据值;将表示数据值的数据***源代码中;并且在源代码编辑器中显示数据值的图形表示,该图形表示显示在与数据值相关联的程序代码语句内。
在一个实施方案中,该方法还包括确定用于待由源代码使用的数据值的数据类型并且基于数据类型显示数据值的图形表示。数据值可表示具有待由源代码用作文字数据值的内容的数据文件,并且显示数据值的图形表示包括显示表示数据文件的图标。数据文件可为包含待由源代码用作图像文字数据值的图像数据的图像数据文件,并且表示数据文件的图标是图像数据文件的图像数据的缩放版本。数据文件还可包含待由源代码用作字符串文字数据值的文本数据或者待由源代码用作音频或视频数据的多媒体数据。
在一个实施方案中,该方法还包括编码包含文字数据值的数据文件的标识符并且将标识符存储到源代码。数据值可表示待由源代码用作颜色文字值的颜色数据,并且该方法还可包括编码颜色文字值的表示并且将表示存储到源代码。在一个实施方案中,该方法还包括在将表示数据值的数据***源代码中之后自动编译与数据值相关联的程序语句,并且在源代码编辑器内显示与数据值相关联的程序语句的输出。
一个实施方案提供了一种***,该***包括一个或多个处理器和计算机可读介质,该计算机可读介质包含指令,该指令当由一个或多个处理器执行时使得一个或多个处理器执行各种操作。在一个实施方案中,这些操作包括:执行源代码编辑器,该源代码编辑器显示程序代码的源代码列表;在源代码编辑器处接收数据,该数据表示待由程序代码使用的数据值;将表示数据值的数据***源代码中;以及在源代码编辑器中显示数据值的图形表示。图形表示可与数据值相关联的程序代码语句内联显示。
在一个实施方案中,该***的一个或多个处理器还被配置为经由***的显示器上的用户界面通过拖放过程在源代码编辑器处接收数据,其中拖放过程用于指示包含待由程序代码使用的数据的数据文件。该数据文件可包含选自由图像数据和文本数据组成的组的数据类型的数据。该组还可包括多媒体数据。数据文件内的内容可由程序代码用作文字数据。数据值可表示待由源代码用作颜色文字值的颜色数据。颜色数据可通过由源代码编辑器提供的用户界面被***程序代码中,并且颜色文字数据值的图形表示可为由颜色文字数据值表示的颜色。
一个实施方案提供了一种其中存储有指令的非暂态计算机可读介质,这些指令在被处理器执行时,使得处理器执行操作,这些操作包括:在源代码编辑器处接收数据,该数据表示待由源代码编辑器显示的由程序代码使用的数据值;将在源代码编辑器处接收的数据的表示编码成数据的编码表示;将数据值的编码表示***源代码中;以及在源代码编辑器中显示数据值的图形表示以取代编码表示,其中图形表示显示在与数据值相关联的程序代码语句内。在一个实施方案中,操作还包括将数据值的编码表示***源代码中之后,自动编译与数据值相关联的程序代码语句;以及在源代码编辑器内显示与数据值相关联的程序语句的输出。
预期本发明包括可根据本文所述的各种实施方案的所有合适组合来实践的所有***和方法。本领域的技术人员根据上述说明将会理解,实施方案的各种技术可通过多种形式实现。因此,虽然已经结合其特定示例描述了实施方案,但是实施方案的真实范围不应受到限制,因为其他修改对于本领域技术人员在研究附图、说明书和所附权利要求后将变得显而易见。

Claims (20)

1.一种计算机实现的方法,包括:
在源代码编辑器处接收数据,所述数据表示供所述源代码编辑器所显示的源代码使用的文字数据值;
将表示所述文字数据值的所述数据***所述源代码中;以及
在所述源代码编辑器中显示所述文字数据值的图形表示,所述图形表示显示在与所述文字数据值相关联的程序代码语句内。
2.根据权利要求1所述的计算机实现的方法,还包括确定用于待由所述源代码使用的所述文字数据值的数据类型以及基于所述数据类型显示所述文字数据值的所述图形表示。
3.根据权利要求2所述的计算机实现的方法,其中所述文字数据值表示具有待由所述源代码用作所述文字数据值的内容的数据文件,并且显示所述文字数据值的所述图形表示包括显示表示所述数据文件的图标。
4.根据权利要求3所述的计算机实现的方法,其中所述数据文件是包含待由所述源代码用作图像文字数据值的图像数据的图像数据文件,并且表示所述数据文件的所述图标是所述图像数据文件的所述图像数据的缩放版本。
5.根据权利要求3所述的计算机实现的方法,其中所述数据文件包含待由所述源代码用作字符串文字数据值的文本数据。
6.根据权利要求3所述的计算机实现的方法,其中所述数据文件包含待由所述源代码用作音频数据或视频数据的多媒体数据。
7.根据权利要求3所述的计算机实现的方法,还包括编码包含所述文字数据值的所述数据文件的标识符以及将所述标识符存储在所述源代码内。
8.根据权利要求1所述的计算机实现的方法,其中所述文字数据值表示待由所述源代码用作颜色文字值的颜色数据。
9.根据权利要求8所述的计算机实现的方法,还包括编码所述颜色文字值的表示以及将所述表示存储在所述源代码内。
10.根据权利要求1所述的计算机实现的方法,还包括:
在将表示所述文字数据值的所述数据***所述源代码中之后,自动编译与所述文字数据值相关联的所述程序代码语句;以及
在所述源代码编辑器内显示与所述文字数据值相关联的所述程序代码语句的输出。
11.一种***,包括:
一个或多个处理器;和
计算机可读介质,所述计算机可读介质包含指令,所述指令当由所述一个或多个处理器执行时使得所述一个或多个处理器:
执行源代码编辑器,所述源代码编辑器显示程序代码的源代码列表;
在所述源代码编辑器处接收数据,所述数据表示待由所述程序代码使用的文字数据值;
将表示所述文字数据值的所述数据***所述源代码中;以及
在所述源代码编辑器中显示所述文字数据值的图形表示,所述图形表示显示在与所述文字数据值相关联的程序代码语句内。
12.根据权利要求11所述的***,其中所述一个或多个处理器还用于经由提供在所述***的显示器上的用户界面通过拖放过程在所述源代码编辑器处接收所述数据。
13.根据权利要求12所述的***,其中所述拖放过程用于指示包含待由所述程序代码使用的数据的数据文件。
14.根据权利要求13所述的***,其中所述数据文件包含选自包括图像数据和文本数据的组的数据类型的数据。
15.根据权利要求14所述的***,其中所述组另外地包括多媒体数据。
16.根据权利要求15所述的***,其中所述数据文件的内容待由所述程序代码内的多个程序语句用作文字数据。
17.根据权利要求11所述的***,其中所述文字数据值表示待由所述源代码用作颜色文字值的颜色数据,所述颜色数据经由由所述源代码编辑器提供的用户界面***所述程序代码中。
18.根据权利要求17所述的***,其中所述颜色文字值的所述图形表示为由所述颜色文字值表示的颜色。
19.一种其中存储有指令的非暂态计算机可读介质,所述指令在被处理器执行时,使得所述处理器执行操作,所述操作包括:
在源代码编辑器处接收数据,所述数据表示待由所述源代码编辑器显示的源代码使用的数据值;
将在所述源代码编辑器处接收的所述数据的表示编码成所述数据的编码表示;
将所述数据值的所述编码表示***所述源代码中;以及
在所述源代码编辑器中显示所述数据值的图形表示以取代所述编码表示,所述图形表示显示在与所述数据值相关联的程序代码语句内。
20.根据权利要求19所述的非暂态计算机可读介质,所述操作还包括:
将所述数据值的所述编码表示***所述源代码中之后,自动编译与所述数据值相关联的所述程序代码语句;以及
在所述源代码编辑器内显示与所述数据值相关联的所述程序代码语句的输出。
CN201680062349.5A 2015-10-28 2016-09-21 数据处理方法和*** Active CN108351764B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562247636P 2015-10-28 2015-10-28
US62/247,636 2015-10-28
US15/066,539 2016-03-10
US15/066,539 US10255045B2 (en) 2015-10-28 2016-03-10 Graphical representation of data in a program code editor
PCT/US2016/052958 WO2017074609A1 (en) 2015-10-28 2016-09-21 Graphical representation of data in a program code editor

Publications (2)

Publication Number Publication Date
CN108351764A true CN108351764A (zh) 2018-07-31
CN108351764B CN108351764B (zh) 2022-01-25

Family

ID=57124115

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680062349.5A Active CN108351764B (zh) 2015-10-28 2016-09-21 数据处理方法和***

Country Status (4)

Country Link
US (1) US10255045B2 (zh)
EP (1) EP3338179B1 (zh)
CN (1) CN108351764B (zh)
WO (1) WO2017074609A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109976734A (zh) * 2019-02-26 2019-07-05 林庆斌 一种实现母语编程的方法

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10489122B1 (en) * 2015-09-02 2019-11-26 Devin Abbott Inline text editor elements as an abstraction layer for graphical code editing
US9823906B2 (en) * 2016-03-31 2017-11-21 Sap Se Complementary model-driven and textual development using enforced formatting constraints
CN106547534B (zh) * 2016-09-19 2020-04-14 华为技术有限公司 展示页面扩展点的装置及方法
CN110494843B (zh) * 2017-04-03 2023-10-10 创首公司 混合模式编程
US10613844B2 (en) * 2017-11-10 2020-04-07 International Business Machines Corporation Using comments of a program to provide optimizations
US10970049B2 (en) 2018-01-31 2021-04-06 Palantir Technologies Inc. Code execution and data processing pipeline
US10552123B2 (en) 2018-03-12 2020-02-04 Microsoft Technology Licensing, Llc In-line code adornments
US11256481B2 (en) * 2018-06-03 2022-02-22 Apple Inc. Software development environment with compilation and read-evaluate-print-loop operations
CA3055859A1 (en) * 2018-09-24 2020-03-24 Quadient Group Ag Method and system for operating a software application on a processor of a mobile device
US11256479B2 (en) 2019-04-29 2022-02-22 Apple Inc. Dynamic updates in an interactive programming environment
CN111596852B (zh) * 2020-06-12 2021-06-08 腾讯科技(深圳)有限公司 内容编辑方法、***及计算机可读存储介质和终端设备
US11875137B2 (en) * 2020-12-07 2024-01-16 Texas Instruments Incorporated Method and apparatus for adding new inline prompts to a program development environment
CN112527274A (zh) * 2020-12-18 2021-03-19 成都泛微网络科技有限公司 一种数据处理方法及相关设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020065848A1 (en) * 2000-08-21 2002-05-30 Richard Walker Simultaneous multi-user document editing system
US20020104071A1 (en) * 1999-10-05 2002-08-01 Dietrich Charisius Methods and systems for supporting and deploying distributed computing components
CN101046767A (zh) * 2006-03-31 2007-10-03 Sap股份公司 用于自动测试基于图形的编程工具的方法和***
US20110283204A1 (en) * 2010-05-12 2011-11-17 Microsoft Corporation Pasting Various Data into a Programming Environment
WO2013192464A1 (en) * 2012-06-22 2013-12-27 Microsoft Corporation Folded views in development environment
US20140245256A1 (en) * 2013-02-27 2014-08-28 Siemens Aktiengesellschaft Method and program editor for creating and processing a program for an industrial automation arrangement
CN104699866A (zh) * 2013-12-04 2015-06-10 航天科工仿真技术有限责任公司 人机界面三维设计***中的空间表格编辑器的实现方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6263339B1 (en) 1998-08-25 2001-07-17 Informix Software, Inc. Dynamic object visualization and code generation
US8850335B2 (en) 2006-04-11 2014-09-30 Invensys Systems, Inc. Strategy editor supporting automatic designation of displayed line style based upon a connection data type
US9367658B2 (en) * 2011-06-22 2016-06-14 Maxeler Technologies Ltd. Method and apparatus for designing and generating a stream processor
US9411558B2 (en) 2012-10-20 2016-08-09 Luke Hutchison Systems and methods for parallelization of program code, interactive data visualization, and graphically-augmented code editing
US8972947B2 (en) 2013-01-09 2015-03-03 Apple Inc. Data presentation in integrated development environments
CN104378342B (zh) * 2014-01-10 2016-04-13 腾讯科技(深圳)有限公司 多账号验证方法、装置及***

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020104071A1 (en) * 1999-10-05 2002-08-01 Dietrich Charisius Methods and systems for supporting and deploying distributed computing components
US20020065848A1 (en) * 2000-08-21 2002-05-30 Richard Walker Simultaneous multi-user document editing system
CN101046767A (zh) * 2006-03-31 2007-10-03 Sap股份公司 用于自动测试基于图形的编程工具的方法和***
US20110283204A1 (en) * 2010-05-12 2011-11-17 Microsoft Corporation Pasting Various Data into a Programming Environment
WO2013192464A1 (en) * 2012-06-22 2013-12-27 Microsoft Corporation Folded views in development environment
US20140245256A1 (en) * 2013-02-27 2014-08-28 Siemens Aktiengesellschaft Method and program editor for creating and processing a program for an industrial automation arrangement
CN104699866A (zh) * 2013-12-04 2015-06-10 航天科工仿真技术有限责任公司 人机界面三维设计***中的空间表格编辑器的实现方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109976734A (zh) * 2019-02-26 2019-07-05 林庆斌 一种实现母语编程的方法
CN109976734B (zh) * 2019-02-26 2022-07-12 林庆斌 一种实现母语编程的方法

Also Published As

Publication number Publication date
CN108351764B (zh) 2022-01-25
WO2017074609A1 (en) 2017-05-04
EP3338179A1 (en) 2018-06-27
US10255045B2 (en) 2019-04-09
US20170123762A1 (en) 2017-05-04
EP3338179B1 (en) 2021-09-08

Similar Documents

Publication Publication Date Title
CN108351764A (zh) 程序代码编辑器中数据的图形表示
US8843892B2 (en) Visual representations of code in application development environments
US8700998B2 (en) Foreign language translation tool
CN101821714A (zh) 复用运行应用中的组件
US20030160822A1 (en) System and method for creating graphical user interfaces
US20180275835A1 (en) System and method for on-screen graphical user interface encapsulation and reproduction
JP2000003274A (ja) コンピュータ上で実行可能なエディタのテキスト要素生成方法及びエディタのテキスト要素生成装置並びにエディタ上にテキスト要素を生成させるように構成されたプログラムを記憶したコンピュータ読み取り可能な記憶媒体
US10838717B2 (en) Representing a software application using extended reality
JP2000305688A (ja) アプリケーション制御方法、グラフィカルユーザーインタフェースおよび記録媒体
TW201525776A (zh) 對於鍵盤使用者介面的啓用控制
JP2015504186A (ja) モバイル・アプリケーション開発のためのシステムおよび方法
US20190278697A1 (en) Representing a test execution of a software application using extended reality
KR20120022831A (ko) 플랫폼 확장성 프레임워크
CN112306481A (zh) 图形化编程场景的代码展示方法、***、装置及存储介质
JP2002503363A (ja) プラグ可能なイベントキュー付きのイベントキューオペレーションのモニター装置及び方法
US20110126171A1 (en) Dynamic native editor code view facade
US7386847B2 (en) Task roster
JP2006506691A (ja) 2層ペーストバッファおよびディスプレイ
US9170783B1 (en) Class creation assistant for textual programming languages
TWI467481B (zh) 層級式程式源碼管理方法、系統及電腦程式產品
US11281437B2 (en) User interface design platform, system, and method for applying consistent look and feel
US10402242B2 (en) Annotation apparatus, annotation method, and computer-readable recording medium
EP3528126B1 (en) Representing a test execution of a software application using extended reality
US20140215434A1 (en) Non-transitory computer-readable recording medium storing user interface program for developing application software
US11966293B2 (en) Techniques for trial-and-error learning in complex application environments

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant