aardio 文档

aardio 开发环境快捷键与小技巧

本帖仅介绍一些容易被忽视的重要技巧,
例如括号匹配、同词高亮这些一看就会用,你不知道他也会自己跑出来介绍自己的功能,本帖一律不介绍。

首先介绍最重要的一个快捷键 Ctrl + K,
这个快捷键的作用是更新与修复更新折叠、着色、智能提示这些数据。

我们在输入代码时 —— 代码的结构会不断地变动,aardio 为了优化性能,并不会在输入每一个字符时都会更新折叠、着色、智能提示这些数据,而且有时候只是做局部更新。但我们可以按 Ctrl+K 快捷键主动更新或修复这些数据。

我们也可以在标准库库、扩展库、用户库目录上点击鼠标右键,
在右键菜单中点击【刷新目录、智能提示】刷新对应支持库的智能提示数据。

刷新智能提示

一般代码的智能提示会自动出来,也可以按 Ctrl+I ( 或者 Ctrl+J )组合键显示。
注意 aardio 显示代码提示时会跟踪输入名字空间的顺序,有部分提示 Ctrl+I 调不出来,只有输入时才会出来。

F1 键编码助手

aardio 代码编辑器中按 F1 键可运行 AI 编码助手。

打开 aardio 工具 » 问 AI » 设置 可选择 AI 接口并勾选 设为 F1 键编码助手

F1 键编码助手

按 Ctrl + F1 可以显示、折叠工具栏。

其他一些常用快捷键

  1. F11 切换全屏

  2. Ctrl+B 自动隐藏侧边栏

  3. Ctrl+W 关闭当前窗口(这个不是指文档,一个文档可以有多个视图窗口)

  4. 选中一段代码,按 Tab 键增加缩进,按 Shift+Tab 减少缩进。

  5. Ctrl+/ 切换注释

用于取消或添加注释。
如果选区内包含注释,或光标位于注释内(或两侧)则移除注释,否则添加注释。

添加注释时:
无选区总是添加「行注释」,有选区则总是添加「段注释」

  1. Ctrl+* 自动输入段注释标记
    如果遇到热键冲突,同时按下 Ctrl+Shift+* 作用是一样的。

如果当前光标位置无选区:则自动输入 输入段注释标记 /* ..... */,
如果当前光标位置有选区:则在选区首尾添加段注释标记,如果选区内已经包含其他段注释,则外层新加的段注释标记会自动增加首尾星号数目,以避免冲突。

  1. Ctrl+Shift+< 自动输入网页模板标记 <? ?>

  2. Ctrl+{ 自动输入{}包含的语句块,并添加缩进,光标移动到语句块内部。
    如果先选中一段代码,该段代码自动移入语句块内部,如果遇到热键冲突,同时按下Shift键也可以。

  3. Ctrl+( 自动输入(),光标移动到括号内部。
    如果先选中一段代码,该段代码自动移入括号内部,如果遇到热键冲突,同时按下Shift键也可以。

  4. Ctrl+" 自动输入一对引号,光标移动到引号内部。
    如果先选中一段文本,该段代码自动移入引号内部,并且文本中的所有双引号自动替换为一对双引号(因为在双引号内用一对双引号表示原来的双引号),如果遇到热键冲突,同时按下Shift键也可以。

  5. Ctrl + ` 自动输入一对反引号,光标移动到反引号内部。
    如果先选中一段文本,该段代码自动移入反引号内部,并且文本中的所有反引号自动替换为一对反引号(因为在反引号内用一对反引号表示原来的反引号),如果遇到热键冲突,同时按下Shift键也可以。

  6. Ctrl+& 自动输入2个 &&,如果遇到热键冲突,同时按下Shift键也可以。

  7. Ctrl+| 自动输入2个 ||,如果遇到热键冲突,同时按下Shift键也可以。

Tab,Shift+Tab 快捷键的用法

按 Tab,Shift+Tab 键时,
如果有代码选区,但按Tab缩进、按Shift+Tab减少缩进逻辑。

按Shift+Tab 键时如果无代码选区,
则向右侧查找符合以下条件之一的位置,并移动输入光标到该位置:

  1. 右括号右侧,如果刚好跳到 if(){} 的语句块开始标记前,则继续向后跳到语句块内部。
  2. 字符串与注释内侧开始处
  3. 字符串与注释结束处。

其他快捷键

界面菜单或工具栏有说明的这里不列出,注意这些是很多编辑器都可以通用的快捷键。

复制通用 HTML 高亮代码块

在 aardio 代码编辑器点右键,打开右键菜单。

然后点击『复制全部到 HTML 代码块』就可以复制 HTML 格式的高亮代码块到剪贴板。
在很多在线编辑器都可以直接粘贴此代码块,兼容公众号、头条号、百家号等图文编辑器。

如果点击『复制全部到 HTML 代码块』的同时按住 Ctrl 键,
则复制的代码块支持自动换行。

如果点击『复制全部到 HTML 代码块』的同时按住 Shift 键,
则以文本格式复制高亮代码块的 HTML 代码到剪贴板。

快速选择代码段

按住 CTRL 用鼠标左键点击,可选择当前所属代码段。
一个字符串、注释均被识别为一个代码段单位。

快速选择代码段

如果按住Ctrl 点击的是代码中的超链接 - 略有不同的是会调用系统默认浏览器打开该网址。

在窗体设计器中巧用 Shift 键对齐控件、统一控件大小

在窗体设计器中,选择多个控件,
然后点击工具栏控件布局按钮,弹出菜单中可以对齐、统一控件大小等。

锁定控件

您可以拖动鼠标,拖选多个控件。
也可以单按 Ctrl 键不放用鼠标左键点击并切换一个控件的选择、取消选择状态。
或者单按 Shift 键不放用鼠标左键点击并多选控件。
如果同时按住 Ctrl + Shift 不放用鼠标左键点击控件会移动控件到最前面。
按住 Ctrl + Shift 连续点击所有控件会重排 Z 序( 也是Tab 键顺序 )。

【重要】当你单按 Shift 键不放,最后一次用鼠标点击的控件会被设置为【参考控件】,
【参考控件】的选区控制点显示为黑色小方块,而其他选中控件显示为空心小方块。
当对齐位置或统一大小时,以【参考控件】所在的位置或大小为标准 - 并调整到与【参考控件】相同。

使用对齐辅助线

aardio 有显示对齐辅助线的功能,可以非常方便的实现手动对齐。
使用这个功能之前,要首先设置控件自动对齐到网格(在aardio设计器上方的工具栏点击【自动对齐到网格】按钮)。

锁定控件

锁定控件

可以在右键菜单中临时锁定控件(切换到代码视图、或关闭文件时自动解锁),
如果一个控件被锁定以后就不能再调整大小(避免被无意拖动),如果被锁定控件与其他控件重叠,鼠标点击时将穿透重叠区域 -优先选择未被锁定的控件。

另外,我们也可以在控件属性中设置“临时锁定”属性。

锁定控件

九宫格自动缩放布局

aardio 中的窗口、控件自带窗口缩放自适应功能。
每一个控件都可以在控件属性中设置自适应缩放、固定边距等属性。

而且我们可以一键为所有控件自设置这些参数,
方法很简单,右键点窗体,然后在弹出菜单中点击「九宫格缩放布局」即可。

九宫格缩放布局

跳转到定义 / 文件

在代码中右键点击变量(或函数名等),
在弹出的右键菜单中点击【 跳转到定义 / 文件 】,或直接按F12快捷键,
可以快速跳转到该变量定义位置,如果选择的是标准库函数,则打开标准库定位到函数所在位置。

跳转到定义

注意不需要设置选区,直接鼠标右键点击就行了。

也可以在代码中的文件路径上右键点击,使用【 跳转到定义 / 文件 】功能打开文件, 如果点选的不是aardio文件 - 将调用外部编辑器打开。如果点选的是目录 - 调用资源管理器打开。

跳转到定义

$ 包含指令符

可以直接从桌面拖动一个文件放到代码编辑器里,
将文件内容包含进一个普通字符串变量,编译发布后不再需要原文件(已经编译到程序的变量里面了)

包含操作符

这个符号挺有意思,只要在文件路径前面加上这个符号, 就会将该文件编译为一个普通的字符串对象. 例如  var str = $"e:/我的图像/x.jpg" 如果编译或发布以后, 你就不需要这个图像文件了,即使别人电脑上没有这个E盘也没有关系,因为文件已经编译成一个普通的二进制字符串了。在aardio编辑器里,只要将资源管理器里的文件直接往编辑器里一拖就行了,会自动加上这个包含指令符。

可以直接从资源管理器拖动外部文件到 aardio 工程目录中

可以直接从资源管理器拖动外部文件到 aardio 工程目录中。

拖放文件

也可以复制文件以后,在工程目录上点右键,在弹出菜单点击“粘贴文件...”即可。
如果是 *.ttf 格式的图标字体文件,请粘贴到标准库(或用户库)的 fonts 目录,如下图:

粘贴文件

可以直接拖动工程目录下的文件到代码内, 会自动生成相对工程目录的短路径( aardio中路径首字符为/或\表示应用程序根目录) 如果被拖动的文件是一个窗体文件,将自动生成加载窗体的代码( 如上图 )

拖放工程文件

拖动选项卡排序

aardio 编辑器打开多个代码文件时,可拖动选项卡排序,如图:

拖动排序 MDI 选项卡

状态栏查看文件路径

如果你在 aardio 中打开了太多的 aardio 文件,
可以在 aardio 状态栏查看文件路径,如果状态栏显示的是其他信息,
试试点击不同文件的选项卡来回切换一下 - 就可以看到路径了。

也可以在编辑器选项卡上右键菜单上点击 浏览此文件...

注意 aardio 菜单项的标题后面带 ... 省略号,通常表示此操作与系统资源管理器有关。 浏览此文件... 指的也是调用资源管理器中查看文件位置。

自定义发布( build )

打开 aardio工程,首次点击【发布】按钮生成EXE文件,
会在工程下生成 “/.build/” 目录, 双击打开“/.build/” 目录,可以看到生成了以下文件:

/.build/default.init.aardio /.build/default.main.aardio .build/default.Manifest.xml

注意上面所有文件名第一个"."前面的部分应当与工程名相同,例如上面的几个文件对应的是 default.aproj 工程文件。

/.build/default.Manifest.xml 为EXE文件的配置信息,Manifest一般不建议修改,详细了解该文件的作用请查阅MSDN以及相关资料,这里不多讲。

其中/.build/default.main.aardio 是一个触发器,在生成EXE以后会被自动调用,例如用aardio写安装向导程序,就可以在这里调用7z等支持库把其他文件压缩到EXE文件尾部了。

另外一个/.build/default.init.aardio在发布以前被调用,例如我们在服务器上写fastcgi程序,因为cgi.exe在测试运行时一直是在占用状态,可以在此文件中添加下面的代码自动退出cgi进程。

 //发布前触发  
 import ide;import process.file;  
 process.file.terminate( ide.getPublishPath() );

另外支持库如果是库目录下面的默认库,也可以在同一库目录添加 \.build\main.aardio 自定义一些发布操作,

很多库下面有这个文件,大家可以自己看一下。

自定义控件

打开窗口设计器,在控件工具箱中的最后一个控件是自定义控件。

自定义控件

自定义控件可以修改类名 - 这里可以使用所有 win.ui.ctrl 名字空间下的类名。
所以,你可以通过自定义控件创建所有其他的控件。

自定义控件 - 修改类名

自己写自定义控件也很简单,
只要在 win.ui.ctrl 名字空间下建立库文件,然后创建窗口就可以。
可参考  win.ui.ctrl 下面的其他控件源码,以及 win.ui.ctrl.custom 控件源码

窗口特殊坐标

在窗口属性中,left, top 属性默认为相对于左上角的坐标,
如果为-2表示显示在右下角,如果为 -1 就是屏幕居中。

窗体位置属性

对于窗体对象,还可以调用 winform.center() 函数居中显示,
这个函数可以指定一个计算居中位置的父窗口,如果不指定就取自己的当前父窗口。
这个函数会首先计算居中显示以后如果在可见范围内 - 就居中显示,否则自动调整到屏幕可见范围内显示。

调整控件 Z 序的技巧

Z 序指的是控件在 Z 轴上的排序,
X 轴表示横坐标,Y 轴表示纵坐标,而 Z 轴表示的是窗口在屏幕上的前后叠加顺序,

当你打开 aardio,从工具箱里往窗体上拖放控件,先放上去的 Z 序较小,后放上去的 Z 序较大。
在运行时默认的控件会从Z序较小的开始创建、先创建的控件 Z 序较小。

可以理解为:
窗口内部有一个数组维护了所有子窗口的句柄,按 Z 序从小到大依次排列。

如果为-2表示显示在右下角,如果为 -1 就是屏幕居中。

窗口 Z 序

在窗口设计器中,可以在控件上使用鼠标右键点击,
在弹出的右键菜单中点击【前置】【后置】【最前面】【最后面】等菜单项调整Z序。

移动控件到【最前面】的快捷键是:Ctrl + Shift + 鼠标左键。
如果按住 Ctrl + Shift + 鼠标左键 依次点击所有控件,就是重排全部 Z 序。
注意 Tab 键切换焦点顺序等于 Z 序。

设置代码编辑器字体与配色

设置代码编辑器字体与配色:
点击"aardio 工具 » 开发环境 » 编辑器外观" 就可以设置代码编辑器的配色方案了。

设置码编辑器外观

调整编辑器字体大小有三种方式.

  1. 在顶部功能区点击"放大","缩小"。

  2. 在底部状态栏右侧 - 字体滚动选框上点击向上,或向下箭头, 也可以用鼠标滚轮快速设定。

  3. 按住键盘上的 Ctrl 键, 然后在代码编辑器上用鼠标滚轮向上或向下滚动调整字体大小。

快速选中代码行

点击每一行代码最前面的空白处可以快速选中一行代码。

选中代码行

另外按 Ctrl+G 可以直接跳转到指定行 - 代码比较多的时候这个快捷键比较有用。

编辑器中鼠标双击选中单词

在代码编辑器中双击文字,可以快速选中一个中文短句或一个英文单词。

快速缩进、撤消缩进

选中多行代码,按键盘上的 Tab 键可增加一个缩进,按 Shift+Tab 可撤消一个缩进。

自动折叠代码块

aardio 编辑器中下面格式的代码块会默认显示为折叠状态

/*折叠状态显示标题{{*/
//....
/*}}*/

可选中代码块,然后点击「aardio 窗口顶部的:语法 » 自动折叠选区」 快速转换为折叠代码块,如下图:

转换为折叠代码块

快速注释

可以拖选一段代码,然后点击工具栏的【注释】按钮,
如果当前没有任何选区,点【注释】按钮会注释输入光标所在的当前代码行。

取消注释并不需要拖选代码,在任何一个注释块内点【取消注释】按钮就可以了,
编辑器会自动检测出注释所在的开始位置、结束位置并取消注释。

同一目录放多个工程文件

你知道吗?其同一工程文件目录下,其实可以放多个aardio工程文件,
在新版工程管理器中可以方便的管理同一目录下的工程,aardio新版对于同一工程只会打开一个进程实例,所以任何地方双击打开工程 - 都会立即切换到已打开的实例。

在多个工程文件间快速切换

上图为方便截图使用了右键菜单操作,在工程管理器中也可以鼠标左键双击直接打开工程,开始页可直接鼠标左键单击打开工程。

注意:

  1. 同一个目录下的工程 可以共享同一用户库目录(即工程目录下的"/lib/"目录),但用户库可以按名字空间分类组织 - 这与标准库包含大量的库并不会混乱的道理是一样的。注意在工程中删除用户库中的目录、或文件 - 会实际的删除硬盘文件。

  2. 每个工程可以创建不同的虚拟目录,也可以包含相同的虚拟目录( 允许添加不同的文件 ),在工程中移除虚拟目录、或文件 - 不会删除硬盘文件。

  3. 每个工程的启动文件文件名可以是 *.main.aardio 格式,例如 default.aproj的启动文件就是 default.main.aardio。

代码首行注释的特殊用途

在 aardio 代码中,首行注释有一些特殊用途。

在标准库、用户库中,首行注释可以更改显示在IDE中的标题(修改以后,需要在上层目录的右键菜单中点刷新目录)。

刷新目录与智能提示

其他的普通 aardio 文件,如果首行注释为

 //RUNAS//

那么在 aardio 中点击【运行】运行该代码时将会请求系统管理权限。
如果在工程的 main.aardio 启动文件首行添加 //RUNAS//,那么将会自动修改 "\.build\default.Manifest.xml" 文件设置生成的EXE文件启动时需要管理权限。

如果当前进程已经有管理权限,则可执行以下代码设置为开机启动自动获取管理权限(无弹框):

if(!_STUDIO_INVOKED){
    import sys.runAsTask;

    //创建开机任务
    var task = sys.runAsTask("WubiLex( 五笔助手 ) 启动任务","用于微软五笔的辅助工具。");

    //如果用户勾选开机启动
    if(winform.chkEnableSystemRun.checked){

        //设为开机以管理权限启动
        task.register("/tray");
    }
    else {
        //取消开机启动
        task.delete();
    }   
}

开机启动、或开机以管理权限启动 —— 都尽量在用户同意并勾选相关选项后再设置。

Markdown 格式