How can I learn more about Caché Studio?
The best place to start is to read the
Using
Caché Studio guide included with the Caché online documentation.
A project is simply a collection of class definitions, routines, and/or
CSP files that you can group together for the sake of convenience.
Using projects gives you an easy way to return to your work when you
start a Studio session. For example, you can place all the classes related
to an application, or part of an application, in a project. When you start
Studio, open this project and the Project tab of the Workspace window will
display all the classes in a convenient list.
You can also export and import entire projects to and from a single
external file making it easy to save or pass around application code.
How do I add an item to a project?
There are several ways to add items to a the current project.
-
When you open an item or items (using the
command
in the
menu), select the
Add to Project check box
in the Open Dialog before opening the file.
-
Use the
command from the
menu
to add the item in the current editor window to the current project.
Can I add something from another namespace to my project?
No. A project can only contain items that are visible to the current
Caché namespace.
Can an item belong to multiple projects?
Yes. A project is simply a list of items (class definitions, routines,
and CSP files). The items themselves have no link back to the projects they
may belong to. There is no limit to how many projects an item can belong to.
What if I don't want to use projects?
You are not required to use projects with Studio; you can completely
ignore them if you like. Simply do not add any items to the default project
and ignore the prompt asking you if you want to save your project when you
exit Studio.
Yes. Use the
command in the
menu.
In the Export dialog select
Export Project, enter a file
name, and press
OK. This will export the entire contents
of the current project (including the project definition) to a single XML
file.
How do I delete a project?
Use the File Open Dialog and list all your projects. Right-click on
a project and select
from the pop-up menu.
Note that you can use the File Open Dialog to delete any type of item
on the server in this way.
How do I open a class definition?
To open an existing class definition (i.e., one saved in the Caché
server) do the following:
-
Make sure you are connected to the Caché namespace
and server containing the class definition.
-
Using the
command in the
menu,
invoke the Open Dialog.
-
Make sure that class definitions are listed by selecting
Class
Definitions (.CLS) or
All in the File Types combo box.
-
Package names are listed in the file list as folders. Click
on the desired package name to list all the classes (or sub-packages) within
the package. When you see the class you wish to open you can double-click
on it to open it.
-
Alternatively, you can enter the name of the class you want
directly into the filename edit box with a
.cls extension
(such as
Sample.Person.cls) and press
Open.
To open an existing routine (i.e., one saved in the Caché server)
do the following:
-
Make sure you are connected to the Caché namespace
and server containing the routine.
-
Using the
command in the
menu,
invoke the Open Dialog.
-
-
Double-click on the desired routine name to open it.
-
Alternatively, you can enter the name of the routine you want
directly into the filename edit box with correct extension (such as
MyRoutine.MAC)
and press
Open.
How do I open a CSP file?
You can open a CSP file in the same way that you open a class definition
or a routine. The main difference is that the Open Dialog lists CSP Applications
(e.g.,
/csp/samples) as folders; click on application
to see the CSP pages within it.
What does the Show System check box in the Open Dialog do?
If the
Show System check box is checked, then the
Open Dialog will list system items (items whose names start with the
% character
and are stored in the %CACHELIB database) along with items in the current
namespace.
Can I use pattern matching in the Open Dialog?
Yes. You can use the
* character as you would in a standard
File Open dialog. You can use file extensions to filter certain items; for
example,
*.cls will list all Class Definitions in the selected
package.
How do I open a routine from a different namespace?
The Studio Open Dialog only lists items from the current namespace and
server. To open a routine from a different namespace or server you can either:
-
Connect to the new namespace and/or server using the
command
in the
menu and then open the desired routine.
-
Open a routine using the
command
in the
menu. This allows you to open the routine without
first connecting to the new namespace or server.
Yes. You can list
% classes (classes whose package name
starts with a
% character and are stored within the %CACHELIB
database) in the Open Dialog by selecting the
Show System check box
at the bottom of the dialog.
Studio will open
% classes as read-only if you open them
while connected to a namespace other than %CACHELIB.
What does the Connect command in the File menu do?
Studio maintains a connection to a specific Caché namespace and
server. It uses this connection to provide a list of classes (such as for
specifying property types, super classes, etc.). It also uses this connection
for debugging. The
command in the
menu
lets you connect to a different namespace or server.
How do I start the debugger?
You can connect the debugger to a target process in of the
following ways:
-
Define a
debugging target (name of program
or routine to debug) for the current project using the
command
within the
menu and then use the
command
within the
menu to start the target program and connect
to its server process.
-
Use the
command within the
menu
to choose from a list of running processes on a Caché server and connect
to it.
At this time, Studio does not support class-level debugging so you have
to use a few tricks to debug classes.
-
Make sure that you set the
Keep Generated Source
Code option before you compile your class. This option is located
in the Options dialog on the Classes tab. You can invoke this dialog using
the
command within the
menu.
-
View the INT code generated for your class using the
command in the
menu (available
when the current window contains a class definition).
-
Set a breakpoint at the desired location in the INT code by
pressing the
F9 (toggle breakpoint) key on the desired source
line.
-
Set a debugging target to specify where you want the debugger
to begin code execution. You can set this within the Project Settings dialog.
To invoke this dialog, use the
command
within the
menu.
Hint: you can enter the name of a class method here along with arguments:
##class(MyApp.MyClass).MyMethod("This is a test")
-
Start the debugger using the
command
in the
menu.
Yes. While debugging type in the name of the variable (or an expression)
in the left-hand column of the Studio Watch Window. Each time the debugger
pauses, the variable or expression will be reevaluated.
What do the different colors in the editor mean?
The Studio uses different colors to display the various syntax elements
of a given language.
Why is there a wavy, red line underneath my code?
The wavy, red line indicates that the underlined code (or possibly code
before it) contains syntax errors.
Can I change the colors in the editor?
Yes. You can change the colors used for the various syntax elements
as follows:
-
Invoke the Options dialog using the
command
in the
menu and display the Editor tab.
-
Choose a language from the list on the left.
-
Choose the desired syntax element (comment, variable, etc.)the
list of available items depends on the selected language.
-
Select a color and press
OK.
Does Studio support Kanji characters?
Yes. Studio has complete support for UNICODE and Kanji characters.
Does Studio support Hebrew characters?
Yes. The Studio Editor supports Hebrew characters as well as bidirectional
editing.
Can I import class definitions or routines from external files?
Yes. Use the
command in the
menu.
What is the difference between Local and Remote files?
Studio is a client-server application; the Studio itself runs on a client
system and talks to a server. The server can either be on the same machine
or on a remote machine. The Studio uses the terms
Local and
Remote to
refer to operating system files (such as when you are importing or exporting)
that are stored on the client and server systems, respectively.
If both the client and server are on the same system then there is no
difference between Local and Remote.
Yes. The Studio supports both printing as well as print preview. Both
are available from the
menu.
Templates are a mechanism for creating user-defined Studio add-ins.
A template is a small program that injects a useful code fragment into
the current document at the current cursor point. Templates can use Caché
Server Pages to present a sophisticated user interface within a pop-up browser
hosted by Studio.
Is there a list of available Templates?
Yes. You can either invoke the Templates menu (using the
command
in the
menu) or look at the list in the
Templates chapter
in the
Using Caché Studio guide.
Can I create a new Template?
Does Studio support development by multiple users?
Yes. You can do this in several ways:
-
Set up a common Caché server system and have all developers
store their code on it.
-
Use local Caché servers (on the developer's system)
and store source code in a source control system as exported XML files.
What happens if I try to open a class (or routine) that someone else
is editing?
Studio will display a dialog stating that the class (or routine) is
in use by someone else and ask you if you want to open it in read-only mode.
What if someone wants to edit a super class of a class that I am working
on?
Studio does not prevent another developer from modifying the super class
of a class you are working on.
While Studio could take out locks on all subclasses whenever a class
is opened for editing, in practice this would be annoying and unwieldy. Instead,
a development needs to work out rules and procedures for defining and modifying
super classes. This is similar to how development teams in other languages
(say Java) usually work with class definitions in source control systems.
How do I create a new class?
Use the
command in the
menu
and ask for a new Class Definition. This invokes the New Class Wizard.
How can I see the source code generated for my class?
Yes. You can see all the source code generated by the Class Compiler
using the
command in the
menu
(available when the current window contains a class definition).
Make sure that you set the
Keep Generated Source Code option
before you compile your class. This option is located in the Options dialog
on the Classes tab. You can invoke this dialog using the
command
within the
menu.
When I try to compile my class, the Studio says it is up to date and
does not need to be compiled. Can I force a compile to happen?
Yes. Turn off the
Do not compile up-to-date items option.
This option is located in the Options dialog on the Classes tab. You can invoke
this dialog using the
command within the
menu.
How do I create an INT routine?
Create a new Caché ObjectScript routine using the
command
in the
menu and then save the new routine using a
name with a
.INT extension. You can create an include
(
.INC) file in the same fashion.
How do I define an SQL View?
Studio does not include a mechanism for defining SQL views. To do this,
as well as other SQL tasks, use the
Caché SQL Manager.
Does Studio integrate with external Source Control systems?
Can I create my own hooks?
Can I use this version of Studio with older versions of Caché?
In order to support class editing and debugging, the new Studio requires
server features that are only available in Caché v5.0 and above.
Will Studio be compatible with future versions?
Yes. The new version of Studio is designed to be forwards and backwards
compatible starting with Caché v5.0.
Can I run Studio on Linux?
The Studio client only runs on Windows platforms and will not run on
Linux. You can use a Windows-client to talk to a Linux server. You can also
use a partition manager, such as VMWARE, to run both Windows and Linux partitions
on your development system and run Studio in the Windows partition with Caché
running in the Linux partition. The only trick is to configure your networking
so that the Windows partition can talk to the Linux partition via TCP/IP.
Can I use Studio with a UNIX or OpenVMS server?
Yes. The new version of Studio can work with any server as long as it
is running Caché v5.0 or higher.
Why doesn't Studio use the licensed components of Microsoft Visual Studio?
There are several reasons why we built Caché Studio from the
ground
up instead of licensing or extending Visual Studio:
-
The Caché Studio editor uses advanced parsing technology
not available within the Microsoft Studio framework.
-
Microsoft cannot guarantee the compatibility of future versions
of Visual Studio.
Why wasn't the Studio interface developed using Java?
At this time, the only way to get acceptable performance for the Studio
editor is to use direct calls to the Windows API. While there are syntax-coloring
editors developed using Java they do not offer the sophisticated multi-language
parsing used by Studio and they typically require very high performance computers
for decent performance.