Tools

There are some tools that facilitate the developer's daily life...

Programmer's Editing Tool (PET)

This is our main code editor. Note that PET has some powerful features that are not integrated into the GUI but are accessible using keyboard shortcuts. For example, the current state of the editor can be stored to a .pet file and re-loaded anytime. To see an overview of the available keyboard shortcuts, have a look at the module header of the module PET.Mod.

Macros

All editor components support keyboard macros. The macros are defined in Macros.XML and can be activated by pressing the macro key (default: INS) after a string of the form PARAMETER:MACRONAME, e.g. ModuleName:M followed by a INS keystroke generates a module skeleton. To module implementing macros is WMMacros.Mod.
Tip: Try out the paragraph key as macro key (can be set in Macros.XML)

Hotkeys

Some example hotkeys are defined in HotKeys.XML. Generally, an arbitrary command can be assigned to (most) key combinations. To enable hotkeys (default: disabled), call the command HotKeys.Open. To see whether a given key combination results in reasonable key messages, use WMKeyCode.Open and try the key combination.

Shell

There is a very simple command shell. To see it in action, call WMShell.Open.

Search&Replace

Besides the search tool in MainMenu->Tools->Search, there is a command line search tool implemented in the module SearchTools.Mod. The special thing about this search tool is that it loads files as formatted text. This makes it possible to search and replace strings in a list of formatted text files. See SearchTools.Mod for details.

Virtual Serial Ports and Disks

The module SerialsVirtual.Mod implements a virtual null-modem cable, i.e. it creates two virtual serial ports that are linked together. This can be very helpful when developing applications that use serial ports.
The module VirtualDisks.Mod implements a virtual disk device. You can install a file as disk or use a RAM disk. In particular, this makes it possible to mount the disk image file of VMWare under WinAOS.

Monitoring of Static Variables

The Performance Monitor 2.0 (MainMenu->Inspect->Performance) is a very powerful tool. Besides some pre-defined modules (WMPerfMonPlugin*) for accessing various variables reflecting the system state, there is a plugin capable of doing some general system state access: WMPerfMonPluginModVar.Mod. This plugin can be used to make some static variables (not yet all types supported) directly accessable to the Performance Monitor even if they are not exported.
If you for example want to monitor the values of the static variables ModuleName.Variable1Name and ModuleName.Variable2Name, call WMPerfMonPluginModVars.Install DemoName ModuleName.Variable1Name ModuleName.Variable2Name. The values can then be display using the Performance Monitor.

VMWare (A2)

Besides the already mentioned virtual disk driver VirtualDisks.Mod, that enables you to mount VMWare disk images under WinAOS, there also is VMWareTools.Mod. By installing this module, the CTRL-W shortcut (paste content from host system clipboard) can be used in all editor components.

Mounting AosFS from WinAOS (WinAOS)

Using the module Win32.WinDisks.Mod, it is possible to mount AosFS file systems under WinAOS. Note that WinAOS must be started with administrator privileges.

Calling Windows Applications from WinAOS (WinAOS)

Using the module Win32.WinApplications.Mod you can start MS Windows programs from WinAOS.

Removing End-of-line Whitespace

The command WhitespaceRemover.Remove can be used to remove end-of-line whitespace from lists of files.

Profiling

There are two profilers available in A2.

  • WMProfiler.Mod, HierarchicalProfiler.Mod: Statistical hierarchical profiler with graphical user interface
  • Profiler.Mod: Statistical profiler
Copyright (C) 2007 ETH Zürich
June 18, 2009, at 04:43 PM
http://www.ocp.inf.ethz.ch/wiki/Development/Tools