Select Edit > Preferences to open the Preferences dialog.

"The Preferences dialog"

The Squish IDE inherits most of the Preferences dialog's panes from Eclipse, so you rarely need them. The following sections describe the most important options of the most important panes.

In all panes, you can click the Restore Defaults button to restore the pane's settings to their default values or the Apply button to apply any changes you have made. If you make a mistake and don't want to restore the default values because you want to use the previous non-default settings, click the Cancel button. However, you can only revert your changes until you click the Apply button. To accept your changes, click the OK button.

Dynamic Languages pane

In the Dynamic Languages pane, specify various DLTK (Dynamic Language ToolKit) settings.

"The Preferences dialog Dynamic Languages pane"

Probably the only interesting setting is Report problems as you type. Select it to highlight syntax errors as you type in the Editor views and mark the lines that contain them in the line numbers margin.

The child panes of Dynamic Languages are rarely needed and are therefore not documented here. The settings on the Debug pane do not affect debugging test scripts.

General pane

In the General pane, specify Eclipse settings.

"The Preferences dialog General pane"

Probably the most interesting setting is Open mode. Squish defaults to the Double click mode, which means that you have to double-click test cases to get their code to appear in a code editor, and so on. Setting the mode to Single click can save a lot of needless mouse clicks.

The following sections describe the child panes of the General pane that contain useful settings.

Appearance pane

Select Appearance > Colors and Fonts to customize the colors and fonts used by the Squish IDE and in particular by the Editor views. In the Basic section, set the Text Font and Text Editor Block Selection Font by selecting them and then clicking the Edit button. Usually, it is best to set the same font for both items.

"Fonts and Colors pane"

To set colors, select an item in the list and click the Edit button to choose a new color.

The Squish IDE ignores Label Decorations pane preferences.

Content Types pane

Select Content Types to set up file type associations. For example, Squish records non-scriptified verification points, such as screenshot verifications, in an XML-format file. To use a custom file extension for such files, add a file association in Content Types > Text > XML > Verification Point. Do not change the default text encoding, UTF-8.

"Content Types pane"

Editors pane

Select Editors to set up general and language-specific editing preferences, such as the number of recently opened files listed in the File menu, and whether to restore the editor state when the Squish IDE starts.

File Associations pane

Select File Associations to associate file types with editors. For example, to make the Squish IDE open .pyw files in the Python editor, click Add in File types and enter *.pyw in the File type field. Then select the new *.pyw entry in File types, and click Add in Associated editors to select Python Editor.

Text Editors pane

Select Text Editors to customize general editing features, such as the undo history size and tab width. In addition, you can determine whether to show line numbers and set some colors.

To customize the cursor, select Accessibility. To customize code annotations, select Annotations.

Keys pane

Select Keys to change the Squish IDE's default keyboard shortcuts.

Perspectives pane

Select Perspectives to control the general behavior of perspectives, such as whether perspectives replace the current perspective (the default) or open in a new window.

Select Search to customize the Search view.

Workspace pane

The Workspace pane contains preferences for the automatic save interval and the default text encoding. However, Squish always uses the UTF-8 encoding, only, so do not change the value of Text file encoding.

"Workspace pane"

Similarly, in the Linked Resources pane, the Enable linked resources checkbox must be checked for the Squish IDE to work properly.

Squish ignores the Build pane preferences.

Select Local History to set the amount of undo history even between sessions.

JavaScript pane

In the JavaScript pane, set JavaScript-specific options.

The main pane is empty. Squish ignores the Console and Debug pane preferences.

  • Select Editor to control the position of the caret during navigation, folding documentation and code blocks, syntax highlighting, code templates, and inserting closing characters automatically.
  • Select Error/Warnings to control how strictly the editor enforces the JavaScript syntax.
  • Select Formatter to control how the editor formats JavaScript.
  • Select Interpreters to select the JavaScript interpreter to use. Even though Squish uses a built-in JavaScript interpreter, you can set preferences for syntax highlighting and error reporting in the JavaScript editor.
  • Select Task Tags to manage a list of special words that the Squish IDE must recognize and highlight inside JavaScript comments. For example, FIXME or TODO.


In the Perl pane, set Perl-specific options.

The Perl executable setting comes from Eclipse and has no effect on test script execution.

  • Select Editor to control indentation, syntax highlighting colors, and inserting closing characters automatically.
  • If you create Perl modules or are deeply into Perl programming, you can enable Module::Starter and Perl::Critic.
  • Select Source Formatter to control how the editor formats Perl source code.
  • Select Task Tags to manage a list of special words that the Squish IDE must recognize and highlight inside Perl comments. For example, FIXME or TODO.

PyDev pane

In the PyDev pane, set Python-specific options.

The Squish IDE ignores the Debug and Interpreters pane preferences. Squish uses the Python interpreter it is shipped with.

  • Select Editor to control the position of the caret during navigation, folding documentation and code blocks, syntax highlighting, code templates, and inserting closing characters automatically.
  • Select Task Tags to manage a list of special words that the Squish IDE must recognize and highlight inside Python comments. For example, FIXME or TODO.

Run/Debug pane

In the Run/Debug pane, set general preferences for running and debugging test scripts, such as what to do when a breakpoint is hit.

"Run/Debug pane"

Keep the Activate the workbench when a breakpoint is hit and the Activate the debug view when a breakpoint is hit checkboxes checked.

The Squish IDE ignores the Console pane preferences.

Select Launching to control the Squish IDE's behavior when running a test. Note that the Squish IDE ignores the options related to building. Set Save required dirty editors before launching to Always (the default), or at least to Prompt. If you set it to Never, you might lose test edits if the Squish IDE crashes.

The Squish IDE ignores the Default Launchers pane preferences. Do not set preferences in the Launch Configurations pane.

The Squish IDE ignores the Perspectives pane preferences. Squish always uses the Test Debugging Perspective for debugging.

You rarely need the String Substitution pane.

Select View Management to control view management in perspectives.

Squish pane

In the Squish pane, set Squish-specific preferences.

"The Preferences dialog Squish pane"

To change the Squish tools folder that the Squish IDE uses, click Browse and select another folder. This is useful when your AUTs use different GUI toolkits, and you want to switch between toolkits while using the Squish IDE.

Note: The Remote Testing pane was removed in Squish IDE 7.1.0. Add connections to remote servers in the Servers pane.

Logging pane

The Logging pane provides some settings for finer control over logging. The IDE Internal Logging Level setting affects only the Squish IDE's internal log. Qt support might ask you to set the level to Verbose to help you solve a problem.

OCR pane

In the OCR pane, set preferences for the supported OCR engines, such as the OCR engine used by default and authentication keys for online engines. You can edit the OCR settings also in the ocr.ini file.

"The OCR pane"

Playback pane

In the Playback pane, set preferences for replaying tests.

"The Playback pane"

Set the Snooze Factor to uniformly speed up or slow down recordings that contain calls to snooze(seconds) by a factor.

To specify the response to lookup errors, select the checkboxes for halting when Squish fails to find an object or showing the Object Not Found dialog.

Note: The Object Not Found dialog opens if you set the testSettings.objectNotFoundDebugging to false in the test script or on the Test Settings page.

Recoding pane

"The Recording Preferences pane"

In the Recording pane, specify preferences for recording tests:

  • In Script Synchronization, select Based on Object Existence to use waitFor functions, such as Object waitForObject(objectOrName) for synchronization. Select Based on Time During Recording to record calls to the snooze(seconds) function rather than to the waitFor functions. Playback speed will be roughly the same as the recording speed.
  • The Compress Events checkbox only effects Qt Widgets. Disable it to record test cases with intermediate mouse hover and mouse move events. This might lead to recorded test scripts having many more lines than with event compression on.

Servers pane

The Squish IDE supports multiple squishserver configurations. You can quickly switch between different remote systems and different Squish edition installations. In the Servers pane, specify squishserver instances for executing tests. The default configuration includes a single server that the Squish IDE starts automatically to record or play back a test.

"The Servers preferences pane"

To run the squishserver on remote servers, select Add > Remote Server and specify the hostname and port of the server. For more information, see Distributed Tests.

Select Add > Discover servers in local network to detect squishserver instances running in the local network and to quickly add selected servers to the Squish IDE configuration.

The Squish IDE can also start further Squish server instances using additional Squish installations. Select Add > Managed server to add Squish installations to the Squish IDE configuration. The Squish IDE will start a squishserver instance, just like with the default configuration.

Click the Set as Default button to select the server instance to use when recording and replaying tests. You can also set the default server on the Squish server toolbar.

Test Creation pane

In the Test Creation pane, specify the Test Case Template directory and the Default scripting language to use for new test suites. You can override them when creating new test suites.

To create test case templates, right-click a test case in the Test Suites view and select Create Template from Testcase in the context menu. For more information, see Testcase Templates.

Tcl pane

In the Tcl pane, set Tcl-specific preferences.

The main pane is empty. Squish ignores the Console, Core, Debug, Interpreters, Libraries, and Man panes.

  • Select Code Templates to create Tcl template files separately from Squish's own file template mechanism. You can edit the basic predefined templates or add custom ones.
  • Select Editor to control the position of the caret during navigation, use of spaces or tabs, indentation, folding documentation and code blocks, syntax highlighting, code templates, and inserting closing characters automatically.
  • Select Task Tags to manage a list of special words that the Squish IDE must recognize and highlight inside Tcl comments. For example, FIXME or TODO.

© 2023 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners.
The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation.
Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.