Amiblitz/PED
要输入和编译程序,您需要一个编辑器。 Blitz2 附带一个文本编辑器,它既充当 Blitz2 编译器的界面,也是一个独立的 ASCII 编辑器(ASCII 是计算机用于普通文本的标准)。水平和垂直条被称为“滚动条”。当您编辑的文件比屏幕长或宽时,您可以通过用鼠标左键拖动这些条在它们的框内来定位对文件的视图。屏幕底部是有关光标相对于编辑文件开头的相对位置的信息,以及一个内存监视器,它让您知道 Amiga 系统中可用的最大内存块。使用鼠标左键,您可以像其他任何 Amiga 屏幕一样上下拖动 Blitz2 屏幕,也可以将其放置在后面,方法是使用屏幕右上角的前后工具。
关于当前目录的说明
如果您更改了文件请求器中的路径名以找到要加载的程序,则通常需要在文件请求器中选择“确定”之前单击“CD”工具。这会将当前目录更改为您加载程序的目录。
通过更改当前目录,程序尝试使用的任何文件都将从加载源代码的同一目录加载。
这意味着当程序执行(运行)并尝试从磁盘加载任何数据或图形时,默认路径(它查找文件的目录)将设置为与加载程序本身的目录相同。如果程序出现运行时错误“无法加载形状”或类似错误,那是因为当前目录未设置。按“Esc”退出调试器并返回编辑器。如果程序使机器崩溃,那是因为发生了相同的错误,但错误检查在编译器选项菜单中被禁用。
输入文本
编辑器可以像标准打字机一样对待,只需继续输入,使用回车键开始新行。
随着您输入,屏幕上移动的小方框称为光标。光标在屏幕上的位置是您输入时字母将出现的位置。使用箭头键,您可以将光标移动到文档中的任何位置,在这里称为文件。
如果您将光标放在已输入的文本中间,则只需输入即可插入字母,编辑器会将光标下方和右边的所有字符移动一个,并将您按下的键插入到创建的空间中。
DEL 键将删除光标正下方的字符,并将该行上剩余的文本向左移动一个字符以覆盖空白。DEL 键左侧的键也会删除一个字符,但与 DEL 键不同的是,它会删除光标左侧的字符,将光标和行的其余部分向左移动。TAB 键的工作原理类似于打字机,它将光标和光标右侧的任何文本向右移动若干列。
如上所述,回车键允许您开始新行。如果您在文本行中间,并且希望将光标右侧的所有文本向下移动到新行,请使用 Shift + 回车键,这称为插入回车符。要连接两行文本,请使用 Amiga 键盘组合。
结合使用 Shift 键和箭头键,您可以将光标移动到行的最开头或最结尾,以及向上和向下移动整个文档页面。通过将鼠标指向屏幕上的某个位置,您可以通过单击鼠标左键将光标移动到该位置。有关 Blitz2 编辑器中使用的其他重要键,请参阅本章末尾的键盘快捷键。
突出显示文本块
在编辑文本(特别是程序)时,您经常需要对文本块进行操作。将鼠标放在块的开头或结尾,按住鼠标左键并拖动鼠标以突出显示要复制、删除、保存或缩进的区域。在按住按钮的同时,您可以通过将指针移动到显示器的最顶部或最底部来滚动显示器。
您也可以使用键盘选择一个块,将光标定位到文本块的开头,按 F1 键,然后将光标定位到文本的结尾,按 F2 键。
对于结构化程序员来说,一个特殊的功能是 Amiga-A 键组合,它会自动突出显示当前行以及在上方或下方以相同空格缩进的行。
编辑器菜单
使用鼠标右键,您可以访问 Blitz2 编辑器的菜单系统。以下是这些菜单中从左到右的功能列表。
项目菜单
新建:从 Amiga 的内存中删除您正在编辑的文件。如果文件自上次保存到磁盘后已更改,则请求器将询问您是否确实要新建文件。
加载:从磁盘读取文件。当您选择加载时,会弹出一个文件请求器,它使您能够轻松选择要编辑的文件。有关使用文件请求器的完整描述,请参阅本章后面的内容。
保存:将文件写入磁盘。当您选择保存时,会弹出一个文件请求器,它使您能够轻松选择要保存文件的名称。有关使用文件请求器的完整描述,请参阅本章后面的内容。
默认设置:更改 Blitz2 编辑器的外观。您可以编辑调色板,选择字体大小,并告诉系统您是否希望在保存文件时创建图标。滚动边距决定了光标需要离屏幕边缘多远才能使 Blitz 滚动文本。
关于:显示有关 Blitz2 的版本号和版权信息。
打印:将文件发送到输出设备,通常是 PRT:打印机设备。
CLI:从编辑器启动命令行界面,使用 ENDCLI 命令关闭此 CLI 并返回 Blitz2 编辑器。
关闭 WB:如果 WorkBench 当前已打开,则关闭它。此选项仅应在您内存严重不足时使用,因为关闭 WorkBench 可以释放大约 40K 宝贵的 ChipMem。
退出:关闭 Blitz2 编辑器,并返回到 Workbench 或 CLI。
编辑菜单
复制:将使用鼠标或 F1-F2 键组合突出显示的文本块复制到当前光标位置。F4 键是复制的另一个键盘快捷键。
删除:删除突出显示的文本块(与 Shift + F3 键相同)。
块到磁盘:将突出显示的文本块以 ASCII 格式保存到磁盘。
从磁盘插入:从磁盘加载文件并将其插入您正在编辑的文件的当前光标位置。
忘记:取消选择选定(突出显示)的文本块。
插入行:在当前光标位置将行分成两行。
删除行:删除光标当前所在的文本行。
删除右侧:删除该行上光标右侧的所有文本。
连接:将光标下方行的文本放置在当前行的末尾。
块 TAB:将所有突出显示的文本向右移动一个 TAB 边距。
块 UNTAB:将所有突出显示的文本向左移动一个 TAB 边距。
源代码菜单
顶部:将光标移动到文件的开头。
底部:将光标移动到文件的最后一行。
转到行:将光标移动到您选择的行号。
搜索菜单
查找:将在文件中搜索字符串。
下一个:将光标定位到使用查找菜单选项输入的查找字符串的下一个出现位置(如下)。
上一个:将光标定位到使用查找菜单选项输入的查找字符串的上一个出现位置(如下)。
替换:将执行与查找请求器中讨论的功能相同的操作(如下)。
在搜索菜单中选择查找后,将出现以下请求器:在顶部的字符串工具栏中输入要搜索的字符串,然后单击“下一个”。这将使光标定位到字符串的下一个出现位置,如果不存在这样的字符串,屏幕将闪烁。
使用“上一个”图标从当前光标位置向后搜索。
区分大小写选项将只查找字母大小写相同的字符串,默认情况下,搜索将忽略字母是大写还是小写。
要将查找字符串替换为另一个字符串,请单击“替换”旁边的框,然后输入另一个字符串。替换将搜索查找字符串的下一个出现位置,将其删除,并在其位置插入替换字符串。
全部替换将继续在整个文件中对所有出现的查找字符串进行替换。
Blitz 文件请求器
当您选择加载或保存时,Blitz2 会在屏幕上放置一个文件请求器。使用文件请求器,您可以快速轻松地在磁盘上找到文件。
单击窗口的左上角或底部的“取消”工具栏将取消文件请求器,并返回到编辑器。
右侧的滑块使您能够在当前选定目录(抽屉)中的文件之间向上和向下滚动。
双击文件名(将指针指向文件名并按两次鼠标左键)将选择该文件名。
单击 <DIR> 将更改为该目录并列出其中包含的文件。
单击“上级”将返回到上级目录。
单击驱动器将在文件列表的顶部添加所有驱动器、卷和已分配设备的列表,以便您可以移动到它们的目录。
您也可以通过单击“路径”和“文件”旁边的框并输入合适的文本,使用键盘输入路径和文件名。然后单击“确定”工具栏。
CD 是 Blitz2 编程中使用的一个特殊命令,用于将编辑器的当前目录更改为路径名中指定的目录。这意味着当您选择 CLI 或从编辑器启动任务时,其根目录将是 CD 工具栏选择的目录。
Blitz2 文件请求器的最后一个功能是能够调整窗口大小。通过使用鼠标左键拖动窗口的右下角,您可以一次看到更多文件。
编译器菜单
以下是关于 Blitz2 编程模式下使用 Ted 时可用的额外选项和命令的讨论。编译器菜单包含控制 Blitz2 编译器所需的所有命令。
编译/运行 将您的 Blitz2 程序编译到内存,如果没有任何错误,则运行程序。
运行 如果程序已经成功编译到内存中,则运行程序。
创建文件 将您的 Blitz2 程序编译到磁盘,作为可执行程序。
选项 请参阅下一页了解有关 Blitz2 编译器选项的详细信息。
创建常驻文件 将从当前文件创建一个“常驻文件”。常驻文件是一个包含所有常量和宏定义以及 newtype 定义的文件。通过从您的代码中删除这些定义的大块并创建一个常驻(预编译)文件,可以显着提高编译速度。
查看类型 允许您查看所有当前的常驻类型。单击类型名称,将显示其定义。也可以从这个扩展中查看子类型。
CLI 参数 允许您在从 Blitz2 编辑器环境执行程序时向程序传递参数,就像您从 CLI 运行程序一样。
计算器 允许您以 2、10 和 16 进制进行计算。十六进制值以 $ 开头,二进制值以 % 开头。它还支持多级括号。
重新加载所有库 将从 BLITZLIBS: 读取所有文件到 Blitz2 编译器环境中。这在编写自己的 Blitz2 库并希望在不重新运行 Blitz2 的情况下对其进行测试时很有用。
AmiBlitz 扩展
保存并编译/运行 保存您的代码,然后编译并运行您的程序。
保存并创建可执行文件 保存您的源代码,然后创建一个可执行程序。
编译器选项
以下是关于编译器菜单中找到的选项请求器的讨论。
为可执行文件创建图标 如果打开,编译器将创建一个图标,以配合使用 CREATE FILE 选项创建的文件。这意味着程序可以从工作台访问。注意:要使程序在从工作台运行时正常执行,源代码的顶部应包含 WBStartUp 命令。
启用运行时错误 打开时,将捕获运行时错误并调用 Blitz2 调试器。请参阅第 5 章,详细了解 Blitz2 中的运行时错误。
生成最小的代码 选择两遍编译模式,该模式始终计算对象代码所需的最小内存量。创建可执行文件时,会自动选择“生成最小的代码”。未选择时,程序将更快编译。
调试信息:在 CREATE FILE 期间创建一个符号表,以便更容易调试可执行文件。
缓冲区大小 允许在使用 Blitz2 作为单遍编译器时更改不同的缓冲区。使用“生成最小的代码”(两遍编译)时,会自动优化这些缓冲区。唯一的例外是字符串缓冲区设置,如果使用大型字符串(例如将整个文件读入一个字符串),则应增加字符串工作区缓冲区的大小以处理使用的最大字符串。
对象最大值 允许设置 Blitz2 对象(如屏幕、形状等)的最大数量。请参阅第 6 章,详细了解 Blitz2 对象及其最大设置。
常驻:将预编译的常驻文件添加到 Blitz2 环境中。在框中单击并输入常驻文件名。
Amiblitz 扩展
标签列表窗口 这将显示为屏幕右侧的一个窗口,正好是旧标签列表出现的地方,但现在是一个包含一些有用工具的窗口。窗口的标题显示当前“deflibs”文件的名称(请参阅工具类型)。
填充窗口大部分空间的列表是标签列表。这将显示以“.”字符开头的标签。AmiBlitz2 也在这里显示函数和语句,还可以显示注释和 case 语句。为了提高速度,该列表最多只能显示 1,000 个项目。您可以用鼠标左键单击列表中的项目,编辑器窗口将跳转到包含该项目的行。您可以按住鼠标左键并在列表上拖动指针以滚动列表,或者使用窗口右侧的道具工具。
窗口顶部的字符串工具允许您将显示缩短为特定项目(只显示以字符串工具中文本开头的项目)。C 工具将清除字符串工具。
Case 工具使列表仅显示 Case 语句。
; 工具显示所有注释。
All 工具显示所有标签、函数/语句、注释和 Case 语句 - 在启用“All”时可以使用字符串工具。
对话框参数窗口 如果您在指令上按下 Ctrl+Help,将打开一个窗口,该窗口将显示指令的所有参数,并允许您为每个参数输入值。
如果对话框参数窗口已打开,您只需单击另一个指令即可显示其参数。
“添加代码”按钮将添加命令和参数,或修改现有命令和参数,以添加到当前源位置。
AmiBlitz 工具类型
您还可以将一些工具类型添加到 AmiBlitz2 图标中。
OLDSEARCH - 使用搜索窗口时,光标不会跳转到行的开头。应启用或禁用此工具类型,它没有参数。
BACKDROP - 启用此工具类型时,将使编辑器窗口变为背景窗口。如果它与 AmiBlitz 屏幕上的其他窗口重叠,并且您没有“窗口到背面”热键(因为编辑器窗口上没有窗口深度工具),这将非常有用。此工具类型默认启用,没有参数。
DONTSORT - 启用时,此工具类型告诉标签窗口不要按字母顺序对列表中的标签进行排序。此工具类型是一个开关,因此没有参数。
LIBFILE - 您可以使用此工具类型告诉 AmiBlitz2 使用哪个文件作为“deflibs”文件。格式为 LIBFILE=<filename>。默认值,或者如果未指定工具类型,则为“deflibs”。
STANDARDEDITMODE - 使编辑器像任何普通的文本编辑器一样工作。按下回车键将分割一行,而不是开始新的一行,退格键将合并行,按下“Del”并选中一个块将删除该块。此工具类型是一个开关,没有参数。
STARTDIR - 告诉 AmiBlitz 启动后使用哪个目录作为当前目录。此工具类型是一个字符串,格式为 STARTDIR=<directory path>
NO_AUTO_TOKENIZE - 强制 AmiBlitz 不要尝试自动确定是否对文件进行标记,并将始终以常规的 AmiBlitz 方式工作(文件始终被标记)。此工具类型是一个开关,没有参数。
NEWCOLORMODE - 允许编辑器在 8 色或 16 色屏幕模式下工作。如果没有设置此工具类型,您只能将调色板编号 0 到 3 用于以下工具类型(任何更高的数字都将环绕回 0)。当设置此工具类型时,它还会使块突出显示颜色成为调色板中的最后一个条目。此工具类型是一个开关,没有参数。
RemarkForg - 用于注释的前景色的颜色编号。此工具类型的格式为 RemarkForg=<Palette colour number>。
RemarkBackg - 注释的背景色的颜色编号。此工具类型的格式为 RemarkForg=<Palette colour number>。
FunctionColor - 用于函数/语句名称的颜色编号。此工具类型的格式为 FunctionColor=<palette colour number>。当您键入函数/语句名称后跟括号时,例如“foo()”的“foo”将以指定的颜色显示在您的代码中。
MacroColor - 用于宏名称的颜色编号。此工具类型的格式为 MacroColor=<palette colour number>。当您调用宏时,例如“!iamamacro”将以指定的颜色显示在您的代码中。
ConstantColor - 用于常量的颜色编号。此工具类型的格式为 ConstantColor=<palette colour number>。当您键入任何常量时,例如“#MYWINDOW”将以指定的颜色显示在您的代码中。
StringColor - 用于字符串的颜色编号,包括引号。此工具类型的格式为 StringColor=<palette colour number>。当您键入时,例如“`hello, world`”将以指定的颜色显示在您的代码中(包括引号)。
NewtypeColor - 用于 newtype 内字段的颜色编号。此工具类型的格式为 NewtypeColor=<palette colour number>。当您使用 newtype 内部的字段时,例如“hi.there\dr_nick”的“\dr_nick”部分将以指定的颜色显示在您的代码中。
ClassicColor - 用于直接使用经典 Amiga 芯片集的库中的指令的颜色编号。此工具类型的格式为 ClassicColor=<palette colour number>。值为 99 也将禁用指令帮助程序中的经典命令。
新工具类型使用的实际颜色可以在项目菜单中的“首选项”项中更改。请注意工具类型名称中美国式拼写“Color”!
编辑器的其他 Amiblitz 扩展
合并代码行 新功能是您现在可以将行合并在一起,这在您达到行长度限制(自 AB2.26 以来为 250 个字符,在此之前为 128 个字符,在原始 Blitz2 中也是如此)时非常有用。为此,只需在您的代码中添加 @@,AmiBlitz 将从下一行继续,就像它们是同一行一样。此功能要求您使用至少值为 4 的优化。
保存源位置 当您在 AmiBlitz2 中保存源代码时,还会保存编辑器的当前位置。当您重新加载源代码时,编辑器将从先前显示的光标位置开始。
可执行文件格式 AmiBlitz 现在可以创建不同类型的可执行文件。第一个最明显的变化是它可以创建 PPC 可执行文件,当您在程序中使用 PPC 汇编语言时。可执行文件格式是 WarpOS fat 二进制文件,可以在 WarpOS 下运行,也可以使用 WarpOS 模拟在 MorphOS 下运行。请注意,当前的大量库仍然是 68k,AmiBlitz 生成的代码也是如此!如果您想创建 PPC 可执行文件,您需要自己编写 PPC 汇编语言代码。
第二个新增功能是 AmiBlitz 可以创建可执行文件中的芯片或 BSS 部分(只有一部分!)。如果您需要将可执行文件的特定部分放置到例如芯片内存中以供图片使用,以便您可以在不从 fastram->chipmem 解码的情况下显示图片,这将非常有用。
AmiBlitz2 默认使用 CODE 部分。您可以在代码中输入 "chip" 或 "bss" 来切换到另一个部分,这将成为当前部分,直到代码中输入另一种类型的部分("bss" 或 "chip")或代码结束。不要在代码中重复使用相同的代码段类型(即,不要两次使用 "chip")!
AB2 源文件格式 如果您将源代码保存为 ".ab2" 扩展名,那么源代码将被保存为 ASCII 文件,但 ".xtra" 文件也会被保存。
这很有用,因为您不需要将源代码加载到 AmiBlitz 编辑器中来读取它(就像您必须使用 ".bb2" 源代码格式那样做),而且您还可以使用 .xtra 文件(如果将源代码保存为 ASCII,则无法获得)。
键盘快捷键
右 Amiga 键位于空格键的右侧。
Amiga A 选择所有与当前行缩进相同的文本(严格用于结构化编程的管理)
Amiga B 底部 将光标定位在文件的最后一行
Amiga D 删除行 删除光标当前所在行的文本
Amiga F 查找/替换 在 SEARCH 菜单中执行 FIND 命令
Amiga G 转到行 将光标移动到文件的特定行
Amiga I 插入行 将光标处及以下的所有文本向下移动一行
Amiga J 连接行 将下一行与当前行连接起来
Amiga L 加载 从磁盘读取文件
Amiga N 下一个 查找“查找字符串”的下一个匹配项
Amiga P 上一个 查找“查找字符串”的先前匹配项
Amiga Q 退出 将退出 Blitz2 编辑器
Amiga R 替换 将替换光标处的文本(如果与查找字符串相同)为使用查找命令指定的备用字符串。
Amiga S 保存 将文件写入磁盘
Amiga T 顶部 将光标移动到文件的顶部
Amiga W 忘记 将取消突出显示选定的文本块
Amiga Y 删除光标右侧
Amiga Z CLI
Amiga ? 默认值 允许用户更改 Blitz2 编辑器的外观和感觉
Amiga ] 块 TAB 将整个块向右移动一个 TAB
Amiga [ 块 UNTAB 将整个块向左移动一个 TAB
Amiblitz 扩展
CTRL U 撤消当前行
CTRL 光标上 跳到源代码的顶部
CTRL 光标下 跳到源代码的结尾
ALT 左键单击(光标右) 跳到函数/标签等。
ALT 中键单击(光标上) 返回到旧位置
ALT(光标下) 返回到先前的位置
LAmiga A 跳到源代码中最后添加文本的位置
LAmiga Shift 1/2/3 在当前行设置书签
LAmiga 1/2/3 跳到先前设置的书签
F4/F5/F6 快速在三种不同的窗口配置之间切换*
LAmiga F4/F5/F6 保存窗口配置的设置*
F7/F8 标签列表视图中的上一个/下一个条目
您必须保存首选项才能将窗口配置存储到文件中,当 AmiBlitz 启动时,它始终默认使用 F4 配置。
帮助
当光标下没有内容(以及光标左侧没有内容)时,“帮助”将显示一个指令搜索窗口。您可以在字符串小部件中输入一些文本,所有包含该文本的指令和“库”宏都将显示在列表视图中。这被称为“指令助手”。
当光标下或左侧有字符时,“帮助”将显示屏幕标题栏中的常规帮助字符串(如果字符是已识别指令的一部分)。当它不是指令的一部分时,AmiBlitz 将显示您在源代码中使用了多少次这个词。这对于检查变量的拼写(Count>1)或确保您之前没有使用过该变量(Count=1)很有用。
当光标在类型中使用的斜杠字符(“\”)上时,“帮助”将显示该 NEWTYPE 的所有字段。这将适用于变量、USEPATH 代码(例如 "\name")和数组。如果您具有具有相同名称但类型不同的局部变量和全局变量,则将显示局部变量类型。
Shift+Help 在指令或对象名称上将显示该指令的在线帮助的完整文本(如果可用)。按下 Alt+Help 在指令上将显示库中包含该指令的命令。这些可以在 PED 菜单编辑器中更改(在 Custom 菜单中)。
RAmiga+Help 将显示默认帮助程序,这对内部 AmiBlitz 命令很有用。此帮助可以是英语或德语,具体取决于您使用的 help.dat 文件(help_en.dat 或 help_de.dat)。默认情况下,使用英语帮助文件。
Ctrl+Help 将为您提供对话框参数窗口