Using InterSystems Development Environments — Atelier and Studio
Setting Studio Options
You can modify the behavior of aspects of Studio by selecting
The options dialog contains tabs described in the following sections.
These options control the Studio environment:
Tabbed Document Selector
: If enabled, displays a tab for each open document. You can choose whether the row displays on the top of bottom of the Studio window.
Resets all keyboard shortcuts to original settings.
Removes an existing shortcut key for the selected command.
Server defined colors
You can select a color for the status panel background or the document background for a software instance. Display a color palette by selecting the square to the far right of the instance. Select a color from the palette, which is shown by a color swatch and its hexadecimal color code.
Documentation and Proxy
: Displays all class attribute values, including usually hidden ones, in both the Inspector and the Class Definition windows.
Multiline Method Argument
: If selected, method arguments are displayed in the class editor one per line. Note that if Multiline Method Argument is enabled and you use Find in Files and then select a line in the Find in Files output of a file that has multiline method arguments, the cursor may go to the wrong line number. Disable Multiline Method Arguments if this is a problem.
: If selected, you see a syntax error if you refer to a variable that hasn't been declared. (Select this and Studio Assist
to display undeclared local variables when entering a #DIM statement in a method or a DO statement in a routine.)
: If selected, a green wavy underline indicates any questionable use of a variablespecifically: A variable is used that has no value, was never created, or has already been killed. Or a variable is given a value, but never used or killed before being used.
Open class in contracted view
: If selected, by default a class opens with all collapsible sections contracted (as though Ctrl+- had been pressed). If not selected, a class opens with collapsible sections open (as though Ctrl++ had been pressed).
Check the types of code snippets you want Studio to display. You can define your own sets of code snippets by specifying a name and a text file. Use
from the document's context (right-click) menu. The snippet is created in your currently-active user-defined set or if no set is currently-active, then in the first set.
prevents you from losing changes to Studio documents on a software or system failure. By default, Auto Save is enabled and saves every 5 minutes. It saves any document that is open and has been modified since the last save into a file that is a text representation of the document, C:\Documents and Settings\<username>\Local Settings\Temp\CST*.tmp
. If you subsequently save (or close) the document, this .tmp
file is deleted. If Studio crashes, the next time that Studio is opened, you get a message telling you that the temporary file exists. If you open this temporary document, you can paste the relevant portions into a Studio document.
Enable service status check (Recommended)
determines how often Studio checks to see if open documents and/or the open project changed on the Server outside of this Studio process. If Studio is the active application, it uses the first setting, Studio is active application (260 sec)
. If Studio is running in the background, it uses the second setting: Studio is background application (30600 sec)
. If you are on a slow sytem, you can uncheck this option. As result studio will not check server status and will not be able timely detect if documents or project on server were modified or studio lost connection. Use with caution.
The editor options allow you to control the behavior of the Studio text editor. These options include:
Syntax Check and Assist
Enable Bracket Matching
: If enabled, pairs of matching brackets enclosing the current cursor point are bolded. Depending on the language you are in, brackets
include [ ] square brackets, ( ) parentheses, and < > angle brackets. Note that for Enable Bracket Matching
to work, Enable Syntax Checking
must be checked. Bracket Matching Line Limit
Limits the number of lines to search above and below the caret position to locate a matching bracket (as an unlimited search in a long file would slow the editor down significantly).
: Enables code completion
. As you are entering ObjectScript code, a drop-down menu is displayed showing available options for what you can enter next. If you type a package name, available classes are listed. If you type a class, available methods are listed. If you type a method, available arguments are listed. Available options may be listed in other locations as well, such as with #dim
declarations and trigger code.
To display undeclared local variables when entering a #DIM statement, you must be in a method, and you must have selected Studio Assist and Option Explicit
. To be listed, a variable must not begin with %, must not be a parameter or in the public list, and must not have been declared already. ))
If you type $$$, available macros are listed as follows: User-defined macros are listed if they are defined in the current file and if they are defined in an include file and, within the include file, they are preceded by a line beginning with three slashes, ///. System-defined macros are listed if the current file is a class file.
Following a partial member name, Studio displays a list of matching members as follows: If the partial entry begins with double-quotes (or a single quote), the popup contain only members whose names must be quoted in the program; that is, they contain spaces or other non-alphanumeric characters. If the partial entry does NOT begin with double-quotes, the popup contains only members whose names do not need to be quoted. If Studio Assist is triggered directly after a period, the popup contains all member names.
The Studio syntax checker uses a different coloring scheme for each language it supports. This option lets you specify the colors used to highlight syntactic elements when Studio syntax coloring is enabled.
To change the color used by the Studio Editor for a specific syntax element do the following in the Options dialog Appearance tab:
Select a language (such as ObjectScript) from the available options
Select a syntax element (such as comments)
Select the desired foreground (and background color if you must!) color
to use the new color scheme.
reverts the selected syntax element to its default color.
reverts all syntax colors to their default values.
You can also change the color for a particular syntax element by right-clicking it in the editor window and selecting
Keyword Expansion Case
This feature only applies to ObjectScript routines.
Specifies the case (Use Current Case
, or Mixed Case
) used to expand ObjectScript commands when you select
. Set this option, highlight the code you want to expand, then select
. This also applies if you are compressing commands.
Defines characteristics of automatic indentation.
: If enabled, if a line begins with a tab, a space, or any combination of spaces and tabs, when you press Enter, the next line is started automatically with the same combination of spaces and tabs.
: If enabled, you can specify any characters that you would like to be automatically entered at the start of each subsequent line. For example, if you enter the set of characters \t.#/;
(tab, dot, pound, slash, semi-colon) and if a line begins with any of these characters or any combination of these characters, when you press Enter, the next line is started automatically with the same combination of characters.
: No automatic indentation is provided.
Displays a table of comment delimiters for Studio document types. Select in a cell to enter a delimiter. Highlight a block of text in a Studio document and press Ctrl + Alt + /
to delimit the block with Multi-Start and Multi-End characters.
Controls the display of some items.
Flags and Optimization
Keep Generated Source Code
: If enabled, specifies that the compiler should not delete any intermediate source code (routines) that it creates as a consequence of compiling.
Compile In-use Classes
: If enabled, the compiler compiles a class even if there currently are instances of the class in active use.
In the Optimization Level
section, you can set the level of optimization to improve execution speed. If optimization is enabled, the compiler reorganizes the code for maximum benefit, including the copying of expressions between classes to eliminate method calls. Levels are:
: Recommended during development. It does not recompile dependent classes and it keeps a strong correspondence between source and object code so it is easier to read and debug. Default.
: Optimizes any reference to ..property
to the instance variable reference (for simple properties described by datatypes where the get
method is not overridden).
In the Flags
field, enter compiler flags you want used in this field shown in the table.
||Include application classes. This flag is set by default.
||Include sub classes.
||Compile. Compile the class definition(s) after loading.
||Display. This flag is set by default.
||Validate XML export format against schema on Load.
||Keep source. When this flag is set, source code of generated routines is kept.
||Lock classes while compiling. This flag is set by default.
||Percent. Include classes with names of the form %*.
||Recursive. Compile all the classes that are dependency predecessors.
||Process system messages or application messages.
||Update only. Skip compilation of classes that are already up-to-date.
||Include classes that are related to the current class in the way that they either reference to or are referenced by the current class in SQL usage.
Use these options if you primarily use Studio to create classes that map onto existing legacy data.
Legacy Mode: Enable Legacy SQL Mode For Classes
If enabled, the other default settings on this tab are enabled. This option effects only how Studio wizards operate; it has nothing to do with the runtime behavior of applications.
Default Storage Type
: Specifies the storage class used when the New Class wizard creates a new class.
: Specifies the default index collation used when defining a mapping to legacy data structures.
Select a theme from the list to change the color scheme of Studio using this option.