2208 lines
91 KiB
TeX
2208 lines
91 KiB
TeX
|
||
@@Menus
|
||
<title Menus>
|
||
|
||
\ \
|
||
|
||
@@FileMenu
|
||
<title File Menu>
|
||
<GROUP Menus>
|
||
|
||
The File Menu contains many of the standard new, open, save,
|
||
close, and printing buttons that one would expect in a text
|
||
\or code editor.
|
||
|
||
* Menu Items *
|
||
<table>
|
||
Menu Item \Description
|
||
----------------- ---------------------------------------------
|
||
New... Create a new File or Project.
|
||
Open File... Open an existing file.
|
||
Close File
|
||
Open Project... Open an existing Project file.
|
||
Close Project
|
||
Save Saves the currently active file if changes
|
||
have been made. If the file is new, you will
|
||
be prompted for a file name and location.
|
||
Save As... Save the currently active file with a
|
||
different name.
|
||
Save All Saves any unsaved changes to project and
|
||
script files.
|
||
Print... Print the currently active file.
|
||
Print Setup...
|
||
Print Preview...
|
||
Recent Files List of recently closed files.
|
||
Recent Projects List of recently closed projects.
|
||
Exit
|
||
</table>
|
||
|
||
* Tutorials *
|
||
<link HowToCreateNewProject, Create a New Project>
|
||
|
||
@@EditMenu
|
||
<title Edit Menu>
|
||
<GROUP Menus>
|
||
|
||
This menu list contains many of the standard text and code
|
||
editing functions.
|
||
|
||
* Menu Items *
|
||
<table>
|
||
Menu Item \Description
|
||
------------ ----------------------------------------------------
|
||
Undo Undo the last edit. Unfortunately with
|
||
ActiproSoftware SyntaxEditor, a selective Undo
|
||
\History is not possible.
|
||
Redo Redo the last edit. Unfortunately with
|
||
ActiproSoftware SyntaxEditor, a selective Redo
|
||
\History is not possible.
|
||
Cut
|
||
Copy
|
||
Paste
|
||
Delete
|
||
Indent Insert a tab at the beginning of the current line.
|
||
Outdent Remove a tab at the beginning of the current line.
|
||
Comment Insert "// " at the beginning of the current line.
|
||
Selection
|
||
Uncomment Remove "// " from the beginning of the current
|
||
Selection line.
|
||
Make Convert all letters in the selection to uppercase.
|
||
Uppercase
|
||
Make Convert all letters in the selection to lowercase.
|
||
Lowercase
|
||
Delete Remove trailing whitespace at the end of the
|
||
Horizontal current line.
|
||
Whitespace
|
||
Bookmarks Toggle, Next, Previous, and Clear bookmarks.
|
||
Show Line Hide/show line numbers on the left side of the
|
||
Numbers document.
|
||
Insert Code If your Code Snippets Path has been set, allows
|
||
Snippet you to browse and insert one of those snippets. See
|
||
<link LanguageSettingsCategory, Language Settings Category>.
|
||
</table>
|
||
|
||
@@ViewMenu
|
||
<title View Menu>
|
||
<GROUP Menus>
|
||
|
||
The View Menu allows you to open and/or give focus to any of the dockable
|
||
windows found in the application: Project Explorer, Document Outline,
|
||
Output, Find Results, Errors, and Help.
|
||
|
||
Each window's menu item contains a drop down menu with the following items:
|
||
<table>
|
||
Menu Item \Description
|
||
---------- --------------------------------------------------------
|
||
Show Shows the window and gives it focus.
|
||
Center Centers the window over the Main Window.
|
||
Dock If the window is floating, it returns to its last known
|
||
docked position, if any.
|
||
Float If the window is docked, it will float in its last
|
||
known floating position or in its default floating
|
||
position.
|
||
</table>
|
||
|
||
@@CompilingMenu
|
||
<title Compiling Menu>
|
||
<GROUP Menus>
|
||
|
||
All of your compiling needs can be found here.
|
||
|
||
|
||
|
||
When compiling a Project, the date-time stamp of each script
|
||
\file is checked against it's compiled object files and
|
||
skipped if the object files are newer. Compiling a single
|
||
script file ignores the date-time stamp.
|
||
|
||
* Menu Items *
|
||
<table>
|
||
Menu Item \Description
|
||
------------ ------------------------------------------------------------------------------------------
|
||
Compile Compiles the project (or all open files if no project
|
||
Project / is loaded), sending progress messages to the <link OutputWindow, Output Window>.
|
||
Compile All Errors are directed to the <link ErrorsWindow, Errors Window>.<p/><p/>In
|
||
Files the case of a project, a list of all the files that
|
||
were compiled (all the files in the project) is
|
||
generated and saved in the project directory. It has
|
||
the same file name as the project file, but with a
|
||
'.scolist' extension. This list is used in a
|
||
Post-Compile process that you can specify in the <link ProjectSettingsCategory, Project Settings Category>
|
||
\of the Settings dialog.<p/><p/>Also, a batch file is
|
||
saved so that you may compile your projects offline.
|
||
Recompile Deletes the project's .sco and .scd files (or the
|
||
Project / \output files for all open files if no project is
|
||
Recompile loaded) before compiling it.
|
||
All Files
|
||
Compile Compiles the current script file, sending relevant
|
||
\File progress and error information to the <link OutputWindow, Output Window>.
|
||
Errors are directed to the <link ErrorsWindow, Errors Window>.
|
||
Stop Halts the compiling process.
|
||
Compile
|
||
Goto Next After a compile that has generated errors, this button
|
||
Error will cycle you through the line or lines in the file
|
||
\on which a compile error occurred.
|
||
Save Before Toggle this on to save the current script file before
|
||
Compile attempting to compile it.
|
||
Don't Save Disables 'Save Before Compile'.
|
||
Before
|
||
Compile
|
||
Save All Saves all open script files before compiling.
|
||
Before
|
||
Compile
|
||
Start Debug Executes the Run Command specified on the <link ToolsMenuSettings, Settings>
|
||
dialog. Performs a compile if you have edited any of
|
||
the project's file(s) (or open files if no project is
|
||
loaded) since the last time they were compiled.
|
||
</table>
|
||
|
||
* Tutorials *
|
||
<link HowToCompileScript, Compile a Script>
|
||
|
||
<link HowToCompileProject, Compile a Project>
|
||
|
||
@@IntellisenseMenu
|
||
<title Intellisense Menu>
|
||
<GROUP Menus>
|
||
|
||
From the MSDN Website :
|
||
|
||
|
||
|
||
"IntelliSense provides an array of options that make language
|
||
references easily accessible. When coding, you do not need to
|
||
leave the Code Editor or the Immediate Mode command window to
|
||
perform searches on language elements. You can keep your
|
||
context, find the information you need, insert language
|
||
elements directly into your code, and even have IntelliSense
|
||
complete your typing for you."
|
||
|
||
|
||
|
||
If autocomplete is enabled, a dropdown menu will appear with
|
||
a list of alphabetically matching syntax keywords when you
|
||
begin typing. Double-click the left mouse button on the
|
||
desired item, or use the arrow keys to scroll through the
|
||
list and press enter or tab to select it. Press escape to
|
||
close the dropdown menu, thus canceling autocomplete.
|
||
|
||
|
||
|
||
The list of autocomplete keywords is derived from keywords in
|
||
the current file and from files included with the USING
|
||
directive. In addition, your Compiler settings for Include
|
||
\File and Include Path will have their keywords added as
|
||
well. If a project is loaded, we also add the keywords for
|
||
every file in the project. See <link ToolsMenuSettings, Settings>
|
||
for more information. The exact behavior of the Intellisense
|
||
system is determined by your game-specific <link ParserPluginDll, Parser Plugin DLL>.
|
||
|
||
|
||
|
||
In an effort to emulate Visual Studio and plugins such as
|
||
Whole Tomato's Visual Assist X, many of the files'
|
||
Intellisense are reparsed for you. This happens the first
|
||
time a file is loaded (or reloaded). Also, it can happen
|
||
every time the file is saved and/or every time the active
|
||
\file is changed via the Document Tab. In addition, whenever
|
||
the <link ToolsMenuSettings, Settings> are updated, all
|
||
files are reparsed in case the <link CompilingSettingsCategory, Compiling Settings Category's>
|
||
Include File and/or Include Path were changed.
|
||
|
||
* Menu Items *
|
||
<table>
|
||
Menu Item \Description
|
||
------------- ----------------------------------------------------------
|
||
Refresh Refreshes the Intellisense on the current file by
|
||
Intellisense forcing a Semantic Parse that looks for keywords and
|
||
colors them appropriately.
|
||
Intellisense Enables IntelliPrompt Autocomplete (if checked),
|
||
Enabled IntelliPrompt Struct MemberList, QuickInfo Popups
|
||
(when the mouse hovers over keywords) and the Document
|
||
Outline.
|
||
Autocomplete Displays the IntelliPrompt Autocomplete list providing
|
||
Enabled keywords that begin with the letter typed.
|
||
Autocomplete Keywords that are function calls will add the
|
||
With parentheses automatically when selected from the
|
||
Brackets IntelliPrompt Autocomplete list. Also, typing ", (, [, or << will automatically add the ending pair.
|
||
Complete When this is enabled, and the word typed matches a
|
||
Word On word in the IntelliPrompt Autocomplete List,
|
||
First Match case-insensitively,, then Complete Word is triggered. For
|
||
\example, if the List contains "INT" and "INT_TO_ENUM"
|
||
and the user types "int", Complete Word will replace
|
||
"int" with "INT" and close the Autcomplete List. Complete
|
||
Word can be triggered manually by pressing Ctrl +
|
||
Space, or by selecting an item from the IntelliPrompt
|
||
Autocomplete List.
|
||
Complete When this is enabled, and only one item exists in the
|
||
Word On IntelliPrompt Autocomplete List, and the word typed
|
||
Exact Match matches case-insensitively, then Complete Word is
|
||
triggered. This means "activate" will become
|
||
"ACTIVATE" and, when Autocomplete With Brackets is
|
||
enabled, "ENDACTIVATE" will also be inserted. Complete
|
||
Word can be triggered manually by pressing Ctrl +
|
||
Space, or by selecting an item from the IntelliPrompt
|
||
Autocomplete List.
|
||
Complete No Complete Word is triggered based on the words typed
|
||
Word by the user. Complete Word can be triggered manually
|
||
Disabled by pressing Ctrl + Space, or by selecting an item from
|
||
the IntelliPrompt Autocomplete List.
|
||
Show Items When checked, the IntelliPrompt Autocomplete list
|
||
That includes keywords that contain the letter(s) typed.
|
||
Contain
|
||
Current
|
||
String
|
||
Add Project When this option is checked, symbols from every file
|
||
Symbols in the current project will be added to the
|
||
IntelliPrompt Autocomplete list.
|
||
Add When this option is checked, symbols from files
|
||
IncludePath residing in the IncludePath will be added to the
|
||
Symbols IntelliPrompt Autocomplete list.
|
||
Filter This menu items in this drop down menu allow the user
|
||
to control what kinds of language elements get added
|
||
to the IntelliPrompt Autocomplete List. Selections
|
||
include Constants, Subroutines, Struct Types, and
|
||
several more.
|
||
Highlight Not functional. May be used again at a future date.
|
||
Enums
|
||
Highlight When checked, QuickInfo Popup text will be colorized
|
||
QuickInfo according to the current Syntax Highlighting options.
|
||
Popups Turn this off if your color scheme does not mesh well
|
||
with a light yellow background.
|
||
</table>
|
||
|
||
* Tips for Improving Performance *
|
||
If you feel the text editor is performing too slowly or is
|
||
less responsive that you would like, try disabling the
|
||
following items one after the other until the performance is
|
||
acceptable:
|
||
* Add IncludePath Symbols and/or Add Project Symbols
|
||
* Show Items that Contain Current String
|
||
* Autocomplete Enabled
|
||
* Intellisense Enabled
|
||
|
||
On certain single core machines, or machines without
|
||
hyper-threading capability, it may be advantageous to disable
|
||
a couple of advanced <link ToolsMenuSettings, settings>:
|
||
* Parsing Service enabled during Project loads. See <link ProjectSettingsCategory, Project Settings>.
|
||
* Parsing Service enabled during File editing. Set <link FileSettingsCategory, File Settings>.
|
||
|
||
@@SearchMenu
|
||
<title Search Menu>
|
||
<GROUP Menus>
|
||
|
||
The Search menu contains the most common functionality for
|
||
searching your documents for words and phrases.
|
||
|
||
* Menu Items *
|
||
<table>
|
||
Menu Item \Description
|
||
----------------------------------------------------------------- -------------------------------------------------
|
||
Use new Find/Replace dialog
|
||
<link SearchMenuFindReplace, Find/Replace...> Launches the Find/Replace window for searching
|
||
the current selection (if a file is open), the
|
||
current file (if there is one), all open
|
||
documents, or the entire project (if one is
|
||
loaded).
|
||
Use new Find/Replace in Files dialog
|
||
<link SearchMenuFindReplaceInFiles, Find/Replace In Files...> Launches the Find/Replace In Files window for
|
||
searching the current file, open files, files in
|
||
the project and/or files in a specified
|
||
directory.
|
||
Goto Next After a Find/Replace in Files operation has
|
||
Find Result filled the Output window with results, this
|
||
button will cycle through them.
|
||
Incremental An incremental search will find the first
|
||
Search matching pattern of characters past the cursor
|
||
as you type them.
|
||
Reverse Same as incremental search except it finds the
|
||
Incremental first match before the cursor.
|
||
Search
|
||
Go To Line... Launches a dialog box where you enter the
|
||
desired line number to place the cursor on.
|
||
Go To In the current open file and context, locates
|
||
Definition the definition of the keyword underneath or
|
||
right before the cursor.
|
||
</table>
|
||
|
||
|
||
@@SearchMenuFindReplace
|
||
<title Find/Replace>
|
||
<GROUP SearchMenu>
|
||
|
||
This dialog provides most of the same functionality as
|
||
Microsoft Visual Studio .NET's Find dialog with the Replace
|
||
functionality. When you launch the dialog box, It will
|
||
attempt to seed the 'Find what' text box with one of the
|
||
following:
|
||
* Highlighted text if no newline character is found.
|
||
* The word (separated by white space) found at the current
|
||
cursor position, if any.
|
||
* The last search text if the first two options fail.
|
||
|
||
* Search Options *
|
||
<table>
|
||
Option \Description
|
||
------------ ------------------------------------------------------
|
||
Match Case Perform a case-sensitive search.
|
||
Match Whole Only match letters/words separated by white space
|
||
Words characters.
|
||
Search Up When unchecked, searches down the document from the
|
||
current cursor position. Otherwise searches up.
|
||
Use Use Regular Expressions
|
||
Mark with Not allowed on an Entire Project search. When checked
|
||
Bookmarks and the Mark All button is pressed, will mark any
|
||
line that has the search text with a blue box,
|
||
similar to Microsoft Visual Studio .NET. When not
|
||
checked, will underline each occurrence found.
|
||
</table>
|
||
|
||
* Search Filter *
|
||
<table>
|
||
Filter \Description
|
||
---------- ------------------------------------------------
|
||
Current Search is confined to the highlighted text.
|
||
Selection
|
||
Current Search through the current active script file.
|
||
Document
|
||
All Open Search through all open script files.
|
||
Documents
|
||
Entire Searches through all files found in the current
|
||
Project project (if any), plus all open documents not
|
||
found in the project. <b>Replace All cannot be
|
||
undone if this is selected.</b>
|
||
</table>
|
||
|
||
* Buttons *
|
||
<table>
|
||
Button \Description
|
||
------------ ----------------------------------------------------------
|
||
Find Highlights the next occurrence of the search text. After
|
||
the initial find, acts like a Find Next. Enabled when
|
||
text is entered in the 'Find what' box.
|
||
Replace Replaces the search text with the replacement text, then
|
||
finds the next occurrence. Enabled when text is entered
|
||
in the 'Replace with' box
|
||
Replace All Replaces all occurrences of the search text with the
|
||
replacement text. <b>This process cannot be reversed if
|
||
'Entire Project' is selected. </b>Enabled when text is
|
||
entered in the 'Replace with' box.
|
||
Mark All Places a bookmark next to each line with an occurrence of
|
||
the search text. Enabled when text is entered in the
|
||
'Find what' box, and anything but 'Entire Project' is
|
||
selected.
|
||
Close Closes the dialog
|
||
</table>
|
||
|
||
|
||
@@SearchMenuFindReplaceInFiles
|
||
<title Find/Replace in Files>
|
||
<GROUP SearchMenu>
|
||
|
||
Like the Find/Replace dialog, this dialog also provides most
|
||
\of the same functionality as Microsoft Visual Studio .NET's
|
||
Find in Files dialog with the Replace functionality. When you
|
||
launch the dialog box, It will attempt to seed the 'Find
|
||
what' text box with one of the following:
|
||
* Highlighted text if no newline character is found.
|
||
* The word (separated by white space) found at the current
|
||
cursor position, if any.
|
||
* The last search text if the first two options fail.
|
||
|
||
The line(s) in each file that contain the search text will
|
||
fill the Output Window.
|
||
|
||
|
||
|
||
<b>Search Options</b>
|
||
<table>
|
||
Option \Description
|
||
-------------- -------------------------------------------------
|
||
Match Case Perform a case-sensitive search.
|
||
Match Whole Only match letters/words separated by white
|
||
Words space characters.
|
||
Look in When searching a directory, indicates whether to
|
||
Subfolders recursively search subfolders.
|
||
\File Types Filter what type(s) of files to search in.
|
||
Separated by semi-colons.
|
||
Open modified When performing a Replace All, all files in
|
||
files after which replacements occurred will be opened after
|
||
Replace All the operation has completed.
|
||
</table>
|
||
|
||
<b>Search Filter</b>
|
||
<table>
|
||
Filter \Description
|
||
---------- ------------------------------------------------
|
||
Current Search through the current active script file.
|
||
Document
|
||
All Open Search through all open script files.
|
||
Documents
|
||
Entire Searches through all files found in the current
|
||
Project project (if any), plus all open documents not
|
||
found in the project.
|
||
\<User Type or browse for a folder to search in. The
|
||
defined\> search will also include all open documents and
|
||
project files.
|
||
</table>
|
||
|
||
<b>Buttons</b>
|
||
<table>
|
||
Button \Description
|
||
------------ ------------------------------------------------------------------
|
||
Find Searches for the text and displays the results in the
|
||
\Output Window.. Enabled when text is entered in the
|
||
'Find what' box.
|
||
Find Next Finds the next occurrence in the current file. When the
|
||
end of the file is reached, opens the next file and
|
||
highlights the search text.
|
||
Replace Replaces the search text with the replacement text, then
|
||
finds the next occurrence. Enabled when text is entered
|
||
in the 'Replace with' box
|
||
Replace All Replaces all occurrences of the search text with the
|
||
replacement text. <b>This process cannot be reversed. </b>Enabled
|
||
when text is entered in the 'Replace with' box.
|
||
... Browse for a folder to search in.
|
||
Stop Halt the current search.
|
||
Close Closes the dialog
|
||
</table>
|
||
|
||
@@SearchMenuRegularExpressions
|
||
<title Regular Expressions>
|
||
<GROUP SearchMenu>
|
||
|
||
The SyntaxEditor regular expression engine accepts an
|
||
extensive set of regular expression elements that enable you
|
||
to efficiently search for text patterns.
|
||
|
||
|
||
|
||
This section details the set of characters, operators, and
|
||
constructs that you can use to define regular expressions.
|
||
|
||
|
||
|
||
Whitespace characters are ignored in all regular expression
|
||
patterns. Use the \\s character class to indicate whitespace
|
||
matching.
|
||
|
||
* Character Escapes *
|
||
|
||
Most of the important regular expression language operators
|
||
are unescaped single characters. The escape character \\ (a
|
||
single backslash) signals to the regular expression parser
|
||
that the character following the backslash is not an
|
||
\operator. For example, the parser treats an asterisk (*) as
|
||
a repeating quantifier and a backslash followed by an
|
||
asterisk (\\*) as the Unicode character <i>\\u002A</i>.
|
||
|
||
<table>
|
||
Escaped \Description
|
||
Character
|
||
------------ --------------------------------------------------------
|
||
(Ordinary Characters other than <i>. $ ^ { [ ( | ) * + ? \\</i>
|
||
characters) match themselves.
|
||
\\a Matches a bell (alarm) <i>\\u0007</i>.
|
||
\\t Matches a tab <i>\\u0009</i>.
|
||
\\r Matches a carriage return <i>\\u000D</i>.
|
||
\\v Matches a vertical tab <i>\\u000B</i>.
|
||
\\f Matches a form feed <i>\\u000C</i>.
|
||
\\n Matches a new line <i>\\u000A</i>.
|
||
\\e Matches an escape <i>\\u001B</i>.
|
||
\\040 Matches an ASCII character as octal (exactly three
|
||
digits). The character <i>\\040</i> represents a space.
|
||
\\x20 Matches an ASCII character using hexadecimal
|
||
representation (exactly two digits).
|
||
\\u0020 Matches a Unicode character using hexadecimal
|
||
representation (exactly four digits).
|
||
\\ When followed by a character that is not recognized as
|
||
an escaped character, matches that character. For
|
||
\example, <i>\\*</i> is the same as <i>\\x2A</i>.
|
||
</table>
|
||
|
||
* Character Classes *
|
||
|
||
The following table summarizes character matching syntax.
|
||
|
||
<table>
|
||
Character \Description
|
||
Class
|
||
------------ -------------------------------------------------------
|
||
. Matches any character except <i>\\n</i>. When within a
|
||
character class, the <i>.</i> will be treated as a
|
||
period character.
|
||
[aeiou] Matches any single character included in the specified
|
||
set of characters.
|
||
[^aeiou] Matches any single character not in the specified set
|
||
\of characters.
|
||
[0-9a-fA-F] Use of a hyphen (<EFBFBD>) allows specification of
|
||
contiguous character ranges.
|
||
\\w Matches any word character, which includes letters,
|
||
digits, and underscores.
|
||
\\W Matches any non-word character.
|
||
\\s Matches any whitespace character.
|
||
\\S Matches any non-whitespace character.
|
||
\\d Matches any decimal digit.
|
||
\\D Matches any non-digit.
|
||
[.\\w\\s] Escaped built-in character classes such as <i>\\w</i>
|
||
and <i>\\s</i> may be used in a character class. This
|
||
\example matches any period, word or whitespace
|
||
character.
|
||
</table>
|
||
|
||
* Quantifiers *
|
||
|
||
Quantifiers add optional quantity data to a regular
|
||
expression. A quantifier expression applies to the character,
|
||
group, or character class that immediately precedes it.
|
||
|
||
|
||
|
||
The following table describes the metacharacters that affect
|
||
matching quantity.
|
||
|
||
<table>
|
||
Quantifier \Description
|
||
----------- -------------------------------------------------------------
|
||
\* Specifies zero or more matches; for example, <i>\\w*</i>
|
||
\or <i>(abc)*</i>. Same as <i>{0,}</i>.
|
||
\+ Specifies one or more matches; for example, <i>\\w+</i>
|
||
\or <i>(abc)+</i>. Same as <i>{1,}</i>.
|
||
? Specifies zero or one matches; for example, <i>\\w?</i>
|
||
\or <i>(abc)?</i>. Same as <i>{0,1}</i>.
|
||
{n} Specifies exactly n matches; for example, <i>(pizza){2}</i>.
|
||
{n,} Specifies at least n matches; for example, <i>(abc){2,}</i>.
|
||
{n,m} Specifies at least n, but no more than m, matches.
|
||
</table>
|
||
|
||
* Atomic Zero-Width Assertions *
|
||
|
||
The metacharacters described in the following table do not
|
||
cause the engine to advance through the string or consume
|
||
characters. They simply cause a match to succeed or fail
|
||
depending on the current position in the string. For
|
||
instance, <i>^</i> specifies that the current position is at
|
||
the beginning of a line or string. Thus, the regular
|
||
expression <i>^#region</i> returns only those occurrences of
|
||
the character string <i>#region</i> that occur at the
|
||
beginning of a line.
|
||
|
||
<table>
|
||
Assertion \Description
|
||
---------- ---------------------------------------------------------------------
|
||
^ Specifies that the match must occur at the beginning of
|
||
the document or the beginning of the line.
|
||
$ Specifies that the match must occur at the end of the
|
||
string, before <i>\\n</i> at the end of the string, or at
|
||
the end of the line.
|
||
\\A Specifies that the match must occur at the beginning of
|
||
the document.
|
||
\\z Specifies that the match must occur at the end of the
|
||
document.
|
||
\\b Specifies that the match must occur on a boundary between <i>\\w</i>
|
||
(alphanumeric) and <i>\\W</i> (nonalphanumeric)
|
||
characters.
|
||
\\B Specifies that the match must not occur on a <i>\\b</i>
|
||
boundary.
|
||
</table>
|
||
|
||
* Grouping Constructs *
|
||
|
||
Grouping constructs allow you to capture groups of
|
||
subexpressions and to increase the efficiency of regular
|
||
expressions with noncapturing lookahead and lookbehind
|
||
modifiers.
|
||
|
||
<table>
|
||
Construct \Description
|
||
---------- --------------------------------------------------------------------
|
||
( ) Captures the matched substring if used in a find/replace
|
||
\operation. In lexical parsing, provides non-captured
|
||
grouping. Find/replace captures using <i>( )</i> are
|
||
numbered automatically based on the order of the opening
|
||
parenthesis, starting from one. The first capture, capture
|
||
element number zero, is the text matched by the whole
|
||
regular expression pattern.
|
||
(?= ) Zero-width positive lookahead assertion. Continues match
|
||
\only if the subexpression matches at this position on the
|
||
right. For example, <i>_(?=\\w) </i>matches an underscore
|
||
followed by a word character, without matching the word
|
||
character.
|
||
(?! ) Zero-width negative lookahead assertion. Continues match
|
||
\only if the subexpression does not match at this position
|
||
\on the right. For example, <i>\\b(?!un)\\w+\\b</i> matches
|
||
words that do not begin with <i>un</i>.
|
||
(?\<= ) Zero-width positive lookbehind assertion. Continues match
|
||
\only if the subexpression matches at this position on the
|
||
left. For example, <i>(?\<=19)99</i> matches instances of <i>99</i>
|
||
that follow <i>19</i>.
|
||
(?\<! ) Zero-width negative lookbehind assertion. Continues match
|
||
\only if the subexpression does not match at this position
|
||
\on the left.
|
||
</table>
|
||
|
||
* Substitutions *
|
||
|
||
Substitutions are allowed only within find/replace
|
||
replacement patterns.
|
||
|
||
|
||
|
||
Character escapes and substitutions are the only special
|
||
constructs recognized in a replacement pattern. For example,
|
||
the replacement pattern <i>a*$1b</i> inserts the string <i>a*</i>
|
||
followed by the substring matched by the first capturing
|
||
group, if any, followed by the string <i>b</i>. The <i>*</i>
|
||
character is not recognized as a metacharacter within a
|
||
replacement pattern. Similarly, <i>$</i> patterns are not
|
||
recognized within regular expression matching patterns.
|
||
Within regular expressions, <i>$</i> designates the end of
|
||
the string.
|
||
|
||
|
||
|
||
The following table shows how to define named and numbered
|
||
replacement patterns.
|
||
|
||
<table>
|
||
Construct \Description
|
||
---------- ---------------------------------------------------------
|
||
$1 Substitutes the last substring matched by group number 1
|
||
(decimal). The second group is number 2 (<i>$2</i>), and
|
||
so on.
|
||
$0 Substitutes a copy of the entire match itself.
|
||
$& Substitutes a copy of the entire match itself.
|
||
$$ Substitutes a single <i>$</i> literal.
|
||
</table>
|
||
|
||
* Other Constructs *
|
||
|
||
The following table lists other regular expression
|
||
constructs.
|
||
|
||
<table>
|
||
Construct \Description
|
||
---------- ---------------------------------------------------------------------
|
||
" " Encapsulates a fixed string of characters.
|
||
{ } Provides a call to a lexical macro. The use of a WordMacro
|
||
(which is similar to <i>\\w</i>) would appear as <i>{WordMacro}</i>.
|
||
(?# ) Inline comment inserted within a regular expression. The
|
||
comment terminates at the first closing parenthesis
|
||
character.
|
||
| Provides an alternation construct that matches any one of
|
||
the terms separated by the <i>|</i> (vertical bar)
|
||
character. For example, <i>cat|dog|tiger</i>. The leftmost
|
||
successful match wins.
|
||
</table>
|
||
|
||
@@OutliningMenu
|
||
<title Outlining Menu>
|
||
<GROUP Menus>
|
||
|
||
Outlining provides a way to selectively hide blocks of code
|
||
to make working with a large file more manageable.
|
||
|
||
* Menu Items *
|
||
<table>
|
||
Menu Item \Description
|
||
------------ -----------------------------------------------------------
|
||
Start Turns on Automatic Outlining. Plus/minus boxes on
|
||
Automatic the left side of the document appear next to each
|
||
Outlining block of code, according to the methods in your
|
||
game-specific <link ParserPluginDll, Parser Plugin DLL>.
|
||
Start Turns on Manual Outlining. Now you can specify
|
||
Manual your own expandable and collapsable blocks of
|
||
Outlining code.
|
||
Stop Turns off Outlining. All plus/minus boxes on the
|
||
Outlining left side of the document disappear.
|
||
Hide Manual Mode only. Highlight a block of code and
|
||
Current select this option to create a code block and
|
||
Selection collapse it.
|
||
Stop Hiding Manual Mode only. Expands the collapsed code block
|
||
Current immediately to the right of the cursor.
|
||
Toggle Collapses or expands the code block closest to the
|
||
Outlining cursor.
|
||
Expansion
|
||
Toggle All Collapses or expands all outlined code blocks.
|
||
Outlining
|
||
</table>
|
||
|
||
@@ToolsMenu
|
||
<title Tools Menu>
|
||
<GROUP Menus>
|
||
|
||
* Menu Items *
|
||
<table>
|
||
Menu Item \Description
|
||
------------- -----------------------------------------------------------
|
||
Macro Menu See <link ToolsMenuMacros, Macros>
|
||
Items
|
||
Settings... See <link ToolsMenuSettings, Settings>
|
||
Highlighting See <link ToolsMenuHighlightingStyleEditor, Highlighting Style Editor>
|
||
Style
|
||
Editor...
|
||
Custom See <link ToolsMenuCustomButtonManager, Custom Button Manager>
|
||
Button
|
||
Manager...
|
||
View Log View the program execution log.
|
||
Previous This dropdown menu stores the last 10 program execution logs.
|
||
Logs
|
||
</table>
|
||
|
||
* A note about logs *
|
||
|
||
The log files are stored in <i>%TEMP%/ragScriptEditor</i>. They contain a record of
|
||
many of the high-level operations that the Script Editor performs. Dialog boxes,
|
||
handled exceptions, and unhandled exceptions are all logged to this file. The log
|
||
is automatically included when submitting bugs with the Submit Feedback Dialog
|
||
(see <link HelpMenu, Help Menu>) and the Unhandled Exception Dialog.
|
||
|
||
Additional logging information may be stored by adding the <i>-admin</i> command line
|
||
parameter when launching the ragScriptEditor.exe executable. This additional information
|
||
includes SanScriptIdentifierCache operations. Be warned: there is a steep performance penalty.
|
||
|
||
@@ToolsMenuMacros
|
||
<title Macros>
|
||
<GROUP ToolsMenu>
|
||
|
||
Macros Recording is a new feature for version 1.8.x of the
|
||
Script Editor. It allows the user to record any text editing
|
||
\operations performed on an open file and play back that
|
||
sequence of steps repeatedly. Currently, only one recording
|
||
is allowed. Additionally, mouse input is ignored during
|
||
recording.
|
||
|
||
* Menu Items *
|
||
<table>
|
||
Menu Item \Description
|
||
----------------------- ----------------------------------------
|
||
Record Temporary Macro Begins recording a new temporary macro.
|
||
Play Temporary Macro Plays the last macro recorded.
|
||
Cancel Recording Cancels a macro recording operation.
|
||
</table>
|
||
|
||
Additional Functionality is provided on the Macro Toolstrip.
|
||
|
||
* Toolstrip Button Items *
|
||
<table>
|
||
Button Item \Description
|
||
---------------------- -----------------------------------------
|
||
Record Macro Begins recording a new temporary macro.
|
||
Pause Macro Recording Pauses the recording.
|
||
Stop Macro Recording Ends the recording, allowing you to play
|
||
the macro.
|
||
Cancel Macro Cancels a macro recording operation.
|
||
Recording
|
||
Play Macro Plays the last macro recorded.
|
||
</table>
|
||
|
||
|
||
@@ToolsMenuSettings
|
||
<title Settings>
|
||
<GROUP ToolsMenu>
|
||
|
||
The Settings dialog allows you to customize some of your
|
||
experience with the Script Editor. It contains several categories:
|
||
Projects, Files, Toolbar, and Compiling, Language, and Source Control.
|
||
|
||
Each category contains a "Reset to Defaults" button. Clicking this will reset
|
||
the options in that category to the states defined by the current language (the project loaded,
|
||
or the type of the active file when the Settings dialog was opened, or the language of
|
||
the specific Compiling sub-cateogory or Language category). The change will not fully take effect
|
||
until the OK or Apply button is clicked. See <link ParserPluginDll, Parser Plugin DLL>.
|
||
|
||
@@ProjectSettingsCategory
|
||
<title Project Category>
|
||
<GROUP ToolsMenuSettings>
|
||
|
||
\ \
|
||
<table>
|
||
Item \Description
|
||
------------- ------------------------------------------------------------------
|
||
Reload last When checked, if a project file was loaded when the
|
||
project editor was last closed, it will be reloaded the next
|
||
time you start the editor.
|
||
Close With this checked, all open files that belong to the
|
||
project Project will be closed when the Project is closed.
|
||
files when
|
||
Project
|
||
closes
|
||
Clear Removes all project files from the <link FileMenu, Files>
|
||
Recent Recent -\> Projects list.
|
||
Projects
|
||
Automatic When checked, any files and folders that are moved or
|
||
Sorting added to the Project will be ordered alphabetically. If
|
||
the folder to which you are adding the item(s) is not
|
||
already sorted, the new item(s) will be added
|
||
alphabetically from the top down. In this case, it is
|
||
possible to have a partially sorted folder.
|
||
Post-Compile A command line program to run after a project has been
|
||
Command compiled with no errors. Use the '...' button to browse
|
||
for a command. You can add whatever command line
|
||
argument(s) you want. Quotation marks are not allowed,
|
||
so all command(s) and arguments must <i>not</i> contain
|
||
any spaces in their path names.<p/><p/>After a
|
||
successful project compile, a text file of all files
|
||
that were compiled is generated. This file is appended
|
||
to the end of the Post-Compile Command line so that you
|
||
may use it at your discretion.
|
||
Start Debug This command is executed when the <link CompilingMenu, Compiling>
|
||
Command \-\> Start Debug menu item is selected. If any of the
|
||
project's files have been edited since the last project
|
||
compile, the project will be compiled first before
|
||
proceeding. The same formatting rules as the
|
||
Post-Compile Command apply here as well.
|
||
Enable When checked, the threaded Parsing Service is enabled,
|
||
Semantic allowing a minimal amount of user interaction during a
|
||
Parsing project's load, including the ability to see the number
|
||
Service \of files left to be parsed. This option is disabled by
|
||
during default on single-core, non-hyper-threaded machines to
|
||
project improve load times. Disabling this on mulit-core
|
||
load machines may also provide the same benefit.
|
||
</table>
|
||
|
||
@@FileSettingsCategory
|
||
<title Files Category>
|
||
<GROUP ToolsMenuSettings>
|
||
|
||
\ \
|
||
<table>
|
||
Item \Description
|
||
------------ ------------------------------------------------------
|
||
Reload last When checked, all files that were loaded when the
|
||
files at editor was last closed, will be reloaded the next
|
||
startup time you start the editor.<p/><p/>Also, all files
|
||
belonging to a project that were open when you last
|
||
closed the project (or closed the editor with a
|
||
project open), will be loaded when that project is
|
||
loaded. Even if this is unchecked, the project will
|
||
still remember which file(s) it last had open.
|
||
Clear Removes all files from the <link FileMenu, Files> -\>
|
||
Recent Recent Files list.
|
||
Files
|
||
Middle When this is enabled, clicking the middle mouse
|
||
mouse button on the file's tab will close the file.
|
||
button
|
||
closes file
|
||
Enable When checked, the threaded Parsing Service is enabled
|
||
Semantic allowing a smoother experience when typing with
|
||
Parsing Intellisense. Disabling this will likely hinder the
|
||
Service user's ability to type with Autocomplete enabled, but
|
||
during File may improve performance on a single core computer
|
||
editing without hyper-threading capability.
|
||
</table>
|
||
|
||
@@ToolbarSettingsCategory
|
||
<title Toolbar Category>
|
||
<GROUP ToolsMenuSettings>
|
||
|
||
\ \
|
||
<table>
|
||
Item \Description
|
||
----------- ----------------------------------------------------------
|
||
Remember When checked, all buttons that were invisible when
|
||
button you last closed the editor will be Hidden the next
|
||
visibility time you open the editor. Even if this is unchecked,
|
||
the editor will still remember which buttons were
|
||
hidden and which were shown.
|
||
Clear Delete any custom buttons that have been created. Changes
|
||
Custom will not take effect until the OK or Apply button is
|
||
Buttons clicked.
|
||
Reset Resets the visibility of each button its their
|
||
Visibility default state. Changes will not take effect until the
|
||
OK or Apply button is clicked.
|
||
</table>
|
||
|
||
@@CompilingSettingsCategory
|
||
<title Compiling Category>
|
||
<GROUP ToolsMenuSettings>
|
||
|
||
This category contains a sub-node for each language defined
|
||
for the Script Editor. Each sub-node displays an array of
|
||
compiling options specific to that language.
|
||
|
||
|
||
|
||
Every sub-node contains the same basic set of options:
|
||
|
||
<table>
|
||
Item \Description
|
||
-------------- -------------------------------------------------------
|
||
Break on Halts the compiling process on the first file with
|
||
error errors found.
|
||
Open Files When checked, files that contain errors will be opened
|
||
With Errors and their errors highlighted during the compile
|
||
process.
|
||
Configuration This combo box allows the user to select which
|
||
Configuration to view or edit.
|
||
\+ Adds a new configuration after the user is prompted to
|
||
provide a name. The new configuration is initialized
|
||
with the currently selected configuration.
|
||
\- Permanently remotes the currently selected
|
||
configuration after a confirmation dialog.
|
||
Include Sends the -include argument to the compiler.
|
||
\File
|
||
Include Adds the -ipath argument to the compiler. The include
|
||
Path path can contain more than one item as long as there
|
||
are no spaces, with a semicolon separating each one.
|
||
Compiler The executable for the script compiler, or a batch
|
||
Executable \file that calls it.
|
||
\Output Set this to save output files (.sco and .scd) to a
|
||
Directory different directory from where the source files (.sc)
|
||
reside. This can be path-rooted or relative to the
|
||
currently loaded project (or the file if no project is
|
||
loaded).
|
||
</table>
|
||
|
||
* SanScript Compiling Settings *
|
||
These additional options are available to the SanScript
|
||
language:
|
||
|
||
<table>
|
||
Item \Description
|
||
------------ -------------------------------------------------------
|
||
Debug Turn on debugging output text during compilation.
|
||
Parser
|
||
Dump Thread Display the thread state during the compile.
|
||
State
|
||
Display Show the disassembly after the compile finishes.
|
||
Disassembly
|
||
Enable HSM Enables the new Hierarchical State Machine features of
|
||
the SanScript compiler.
|
||
Dependency Check this to output a text file containing each
|
||
\File \file's dependencies. While the text box is blank by
|
||
default, the compiler itself defaults to the
|
||
equivalent of "%~n1.d".
|
||
Native File Check this to output a text file containing a list of
|
||
all of the NATIVE functions called by a file.
|
||
".native.txt" will be automatically appended by the
|
||
compiler.
|
||
Globals Specifies where global variables are stored. If not
|
||
\File path-rooted, this file will be saved in the Output
|
||
Directory.
|
||
Custom Enter your own custom commands and keywords here. Use
|
||
'%1' to reference the current file that is being
|
||
compiled when this command executes.
|
||
</table>
|
||
|
||
Each Text Box accepts file arguments similar to the way in
|
||
which batch files can be passed argument that is a file and
|
||
that argument can be interpreted as a file name, path,
|
||
directory root, file name without extensions, etc.. Here is a
|
||
complete list of supported file arguments:
|
||
|
||
<table>
|
||
\File \Description
|
||
Argument
|
||
--------- --------------------------------------------------------
|
||
%1 Represents the script file being compiled. We always
|
||
pass in the fully qualified path name of the file.
|
||
%~1 Removes the quotes around a fully qualified path name
|
||
%~f1 Fully qualified path name (t:\\rage\\assets\\script.sc)
|
||
%~d1 Directory root (c:, d:, etc.)
|
||
%~p1 Path (\\rage\\assets\\)
|
||
%~n1 \File name without the extension
|
||
%~x1 \File extension
|
||
%~a1 \File attributes (--a------)
|
||
%~t1 Last date/time the file was written to
|
||
%~z1 Size of the file
|
||
%~dp1 Directory root and path name (c:\\rage\\assets)
|
||
%~nx1 \File name and extension
|
||
%~ftza1 DIR-like output line (--a------ 06/15/2006 11:24 AM 73
|
||
c:\\test.txt)
|
||
</table>
|
||
|
||
For example, in the sample script project <i>t:\\rage\\assets\\sample_scr_generic\\sample_scr_generic.scproj</i>,
|
||
we have Globals set to %~n1.sgv which will cause our globals
|
||
\file to be saved with the same name as the script that
|
||
contains them, but with the sgv extension. Since the global
|
||
variables can be found in <i>demo.sc,</i> the globals file is
|
||
saved as <i>demo.sgv</i>. in the output directory which
|
||
happens to be the same directory as the project.
|
||
|
||
@@LanguageSettingsCategory
|
||
<title Language Category>
|
||
<GROUP ToolsMenuSettings>
|
||
|
||
This category contains a sub-node for each language defined
|
||
for the Script Editor. Each sub-node displays an array of
|
||
compiling options specific to that language.
|
||
|
||
|
||
|
||
Every sub-node contains the same basic set of options:
|
||
|
||
<table>
|
||
Item \Description
|
||
---------- ------------------------------------------------------------------------------------------------------------------
|
||
Save Saves the settings file associated with the game-specific
|
||
Default Parser Plugin DLL for the current file type in the
|
||
Settings editor. You will be prompted to confirm before the save
|
||
\File takes place. Only available in Admin Mode. See <link HowToCreateDefaultSettings, Create a Default Settings File>.
|
||
Load Loads the settings file associated with the game-specific
|
||
Default Parser Plugin DLL for the current file type in the
|
||
Settings editor.<p/><p/>Loading the setting file does not
|
||
\File automatically overwrite your current settings, but merely
|
||
makes a "new" set of defaults available to revert to with
|
||
each Setting Category's "Reset to Defaults" button. You
|
||
are prompted if you want to make the default settings
|
||
your current settings. The Compiling and Language
|
||
settings for other languages remain untouched.
|
||
Clear Deletes all files in the Cache Directory.
|
||
Cache
|
||
Cache To improve performance, Language Parsers often store
|
||
Directory settings out to disk for faster retrieval than by
|
||
reparsing each file in its entirety. This option
|
||
specifies where those data files gets saved.<p/><p/>By
|
||
default, the directory is
|
||
%HOMEDRIVE%%HOMEPATH%\\\<languageName\>IdentifierCache.
|
||
If an error occurs trying to retrieve either of the
|
||
Environment Variables, %TEMP% is used in their place. If
|
||
the Environment Variables exist, but the directory they
|
||
form does not, C:\\ is used.<p/><p/>When making a change.
|
||
the user is asked if they want to move the files from the
|
||
previous Cache Directory into the new one.
|
||
Code Semicolon-separated folder paths to script files
|
||
Snippet containing code which can be inserted with the Insert
|
||
Path Code Snippet option found on the <link EditMenu, Edit Menu>.
|
||
</table>
|
||
|
||
* SanScript Language Settings *
|
||
These additional options are available to the SanScript
|
||
language:
|
||
|
||
<table>
|
||
Item \Description
|
||
---------- ---------------------------------------------------
|
||
Language Specifies the language's help file. By default,
|
||
Help File this is defined by Rage and packaged with the
|
||
Script Editor.
|
||
Reference Specifies the language's Reference help file which
|
||
Help File contains a listing of all NATIVE items in the
|
||
language. This is typically defined per project.
|
||
</table>
|
||
|
||
* Tutorials *
|
||
<link HowToCreateDefaultSettings, Create a Default Settings File>
|
||
|
||
@@SourceControlSettingsCategory
|
||
<title Source Control Category>
|
||
<GROUP ToolsMenuSettings>
|
||
|
||
Source Control through Alien Brain and Perforce has been
|
||
integrated into the Script Editor. When it is enabled, you
|
||
will be able to check out files that are under source
|
||
control. Currently, there is no support for checking in.
|
||
|
||
|
||
|
||
The default for each of the check-out actions below may not
|
||
be the most desirable or useful, but they do reflect the way
|
||
the Script Editor originally behaved for read-only files.
|
||
|
||
<table>
|
||
Item \Description
|
||
----------- ---------------------------------------------------
|
||
Enabled Turns on source control integration and enables
|
||
editing of the items below.
|
||
Server Specifies the Alien Brain server where your files
|
||
reside.
|
||
Project The name of the project on the Alien Brain server.
|
||
Login Name Login Name to use to check out files. The default
|
||
is "ReadOnly".
|
||
When What to do when you start to edit a file under
|
||
checked-in source control for the first time and the file is
|
||
script checked in:
|
||
files are * Prompt to check out
|
||
edited * Automatically check out
|
||
* Do nothing (default)
|
||
When What to do when you save a file under source
|
||
checked-in control that is checked in:
|
||
script * Prompt to check out (default)
|
||
files are * Automatically check out
|
||
saved * Save as a new file
|
||
When What to do with the compiler output files that are
|
||
checked-in checked-in under source control:
|
||
\output * Prompt to check out
|
||
files are * Automatically check out
|
||
compiled * Automatically overwrite the file (default)
|
||
</table>
|
||
|
||
@@ToolsMenuHighlightingStyleEditor
|
||
<title Highlighting Style Editor>
|
||
<GROUP ToolsMenu>
|
||
|
||
The Highlighting Style Editor is for customizing the syntax
|
||
coloring of your script files. You can change the overall
|
||
background color, as well as the foreground and background
|
||
colors of each syntax item. Your game-specific <link ParserPluginDll, Parser Plugin DLL>
|
||
determines the default colors.
|
||
|
||
* Text Background Color *
|
||
This is the color that fills all space apart from the text.
|
||
Select from Custom, System, and Web colors.
|
||
|
||
* Languages *
|
||
Select which language to customize the syntax coloring.
|
||
|
||
* Display Items *
|
||
The list of syntax items that you can choose the color for.
|
||
For each item, you can customize the following:
|
||
* Foreground color
|
||
* Background color
|
||
* Bold
|
||
* Italic
|
||
* Underline
|
||
|
||
|
||
@@ToolsMenuCustomButtonManager
|
||
<title Custom Button Manager>
|
||
<GROUP ToolsMenu>
|
||
|
||
This dialog box is for viewing, creating, editing, and
|
||
deleting your own tool bar buttons. Your custom buttons are
|
||
saved with your layout file so they are persistent across
|
||
sessions with the Script Editor. Additionally, your game's
|
||
lead Scripter can create default custom buttons for everyone
|
||
\on their team. See <link HowToCreateDefaultSettings, Create a Default Settings File>.
|
||
|
||
* List Pane *
|
||
On the top half of the dialog, you can view a list containing
|
||
all the custom buttons you've created. Highlight one to view
|
||
it's details in the lower pane. Use the 'Move Up' and 'Move
|
||
Down' buttons to change it's position in the list.
|
||
|
||
|
||
|
||
Press 'Edit' to change any of it's details. Press 'Delete' to
|
||
permanently remove it. Press 'New' to create an entirely new
|
||
custom button.
|
||
|
||
* View/Edit Pane *
|
||
Below the List Pane, is the View/Edit Pane where you can see
|
||
the details for a button.
|
||
|
||
|
||
|
||
Name: The name of the custom button.
|
||
|
||
This becomes the tool tip you see when hovering over the
|
||
button on the tool bar.
|
||
|
||
|
||
|
||
Icon: The icon to use for the button.
|
||
|
||
The best icons to use are 16 x 16 pixels. We store a
|
||
reference to your icon file and load it each time you launch
|
||
the Script Editor, so if the original file is moved or
|
||
deleted, it will not show up on the tool bar or in the Custom
|
||
Button Manager.
|
||
|
||
|
||
|
||
Command: The command to execute when clicked.
|
||
|
||
You can type in the command to call, or browse for it. We
|
||
support any command that can normally be called from the
|
||
command line. This includes:
|
||
* System programs (like notepad) and programs in your path
|
||
(like rag), with or without arguments
|
||
* File types registered with a program
|
||
* Other executables with any number of arguments as long as
|
||
the path does <i>not</i> contain spaces
|
||
<code>
|
||
notepad c:\\myfile.txt
|
||
c:\\myfile.txt
|
||
c:\\soft\\rage\\base\\samples\\mysample.exe -rag -cammachdebug
|
||
</code>
|
||
|
||
To help ensure unwanted changes, you must press the 'Accept'
|
||
button to make your changes permanent. However, your personal
|
||
layout file is not saved until you exit the Script Editor
|
||
|
||
* Tutorials *
|
||
<link HowToCreateCustomButton, Create a Custom Button>
|
||
|
||
@@WindowMenu
|
||
<title Window Menu>
|
||
<GROUP Menus>
|
||
|
||
Items in this menu allow you to split the current script into
|
||
multiple views so you can independently scroll through
|
||
different sections of the same file.
|
||
|
||
* Menu Items *
|
||
<table>
|
||
Menu Item \Description
|
||
------------------- ------------------
|
||
Split Horizontally
|
||
Split Vertically
|
||
Split Four-Way
|
||
No Splits Remove all splits
|
||
</table>
|
||
|
||
@@HelpMenu
|
||
<title Help Menu>
|
||
<GROUP Menus>
|
||
|
||
* Menu Items *
|
||
<table>
|
||
Menu Item \Description
|
||
-------------- ---------------------
|
||
Contents Select this menu item or press F1 to view this help file.
|
||
Language Help A list of language-specific help files for the various Parser Plugins will appear here.
|
||
File(s)
|
||
Submit Opens a dialog that allows you to report bugs, make comments or suggestions,
|
||
Feedback... and provide general feedback. The various settings and log files used by
|
||
the program will be included in the submission to aid in bug reporting.
|
||
About Displays copyright information and the version number of the program.
|
||
</table>
|
||
|
||
|
||
@@ParserPluginDll
|
||
<title Parser Plugin DLL>
|
||
<toctitle Parser Plugin DLL>
|
||
|
||
This user-definable plug-in serves several purposes.
|
||
* It provides a syntax definition for a language used by
|
||
the Script Editor.
|
||
* It defines the <link CompilingSettingsCategory, Compiling>
|
||
and <link LanguageSettingsCategory, Language> classes used by
|
||
the language, and their corresponding User Interface elements
|
||
for the <link ToolsMenuSettings, Settings> Form.
|
||
* It specifies the default options for users programming in
|
||
the language.
|
||
|
||
We have implemented the SanScriptParser, CSharpParser, and
|
||
XmlParser plug-ins as examples.
|
||
|
||
* Syntax Definition *
|
||
A Syntax Definition consists of a Lexical Parser and an
|
||
\optional Semantic Parser.
|
||
|
||
|
||
|
||
Lexical Parsing breaks a document up into tokens, or
|
||
keywords, that can be colorized (also know as syntax
|
||
highlighting) for better readability. Language keywords,
|
||
colors, and strings are typically tokenized.
|
||
|
||
|
||
|
||
Semantic Parsing consists of analyzing the results of the
|
||
Lexical Parse to give meaning to groups of tokens. For
|
||
\example, identifying a function declaration. Defining a
|
||
Semantic Parser is essential in order to enable <link IntellisenseMenu, Intellisense>
|
||
and <link OutliningMenu, Outlining> features, but it is not
|
||
required. Intellisense features include Autocomplete,
|
||
IntelliPrompt, and Info Tips.
|
||
|
||
* Compiling and Language Settings *
|
||
Each Parser Plug-in must derive from CompilingSettings and
|
||
LanguageSettings to provide the language-specific options
|
||
that are not included in the base class. The
|
||
CompilingSettings class is for providing control over the
|
||
command line options that are passed to the Compiler. A
|
||
derived LanguageSettings class typically adds options for
|
||
specifying the Help File for the language.
|
||
|
||
* Default Options *
|
||
Each Parser Plug-in must also derive from
|
||
LanguageDefaultEditorSettingsBase to override methods that
|
||
allow the editor to create and manipulate the
|
||
language-derived CompilingSettings and LanguageSettings
|
||
classes. You may also add additional fields, as well. On the <link ToolsMenuSettings, Settings>
|
||
Form's Language category for a specific language, is a button
|
||
to Save and Load a Default Settings File. You must run the
|
||
Editor with "-admin" on the command line to be able to save.
|
||
These buttons allow you to save or load a default settings
|
||
\file that will be automatically loaded at startup.
|
||
Regardless of the existence of this file, your derived
|
||
LanguageDefaultEditorSettingsBase class will be used to reset
|
||
settings to their default states when commanded to do so.
|
||
|
||
|
||
|
||
For the SanScript language, teams typically define an options
|
||
\file that contains Code Snippet Folders, Include Paths, an
|
||
Include File, and Help Files specific to their game.
|
||
|
||
* SanScript Language LanguageDefaultEditorSettingsBase *
|
||
Now you can add custom NativeItems (that is, Intellisense
|
||
keywords) to your SanScript Parser Options File to provide
|
||
commonly used keywords and lines of code or comments that
|
||
cannot be found in a script file or among the includes. There
|
||
are 3 types of NativeItems: Constant/Enum, Struct, and
|
||
Procedure/Function. Element names (aka nodes or tags) start
|
||
with a capital letter while attributes do not.
|
||
|
||
<table>
|
||
Xml Tag Required Attributes Optional Attributes
|
||
----------------- ------------------------ -------------------------------
|
||
ConstOrEnumItem * type - Type of the
|
||
constant or enum such
|
||
as CONST_INT or
|
||
CONST_FLOAT.
|
||
* name
|
||
* value
|
||
StructItem * name
|
||
NativeProcOrFunc * name * args - The arguments to
|
||
pass to the function,
|
||
separated by commas.
|
||
* returnType - Designates
|
||
this as a Func rather than a
|
||
Proc.
|
||
</table>
|
||
|
||
The StructItem tag should have at least one "Contents" tag as
|
||
a child node to specify the members of the struct. Typically,
|
||
you'll want to include a tab at the beginning of each line of
|
||
text.
|
||
|
||
|
||
|
||
Additionally, each tag may optionally include any of the
|
||
following child nodes:
|
||
<table>
|
||
Xml Child Tag Required Attributes Optional Sub
|
||
children
|
||
----------------------------- ----------------------- -------------
|
||
Source<p/><p/>Since you are * file - Source file
|
||
adding these NativeItems to where the keyword is
|
||
the language because they defined or declared.
|
||
are not readily accessible * line - Line number
|
||
through the standard means, in that file,
|
||
it is probably rare that you starting with 1. If
|
||
will ever add this node, but line is not
|
||
it is here for completeness. specified, file is
|
||
ignored.
|
||
Comments You can
|
||
include one
|
||
\or more of
|
||
each of
|
||
these.
|
||
* Purpose
|
||
* Params
|
||
* Returns
|
||
* Notes
|
||
</table>
|
||
|
||
\Example:
|
||
<code>
|
||
\<NativeItems\>
|
||
\<ConstOrEnumItem type="CONST_INT" name="MY_TEST_CONST" value="33" /\>
|
||
\<NativeProcOrFunc name="MY_TEST_FUNC" args="FLOAT f, BOOL b" returnType="INT"\>
|
||
\<Comments\>
|
||
\<Purpose\>Test function\</Purpose\>
|
||
\<Params\>f - floating point number\</Params\>
|
||
\<Params\>b - boolean\</Params\>
|
||
\<Returns\>an integer\</Returns\>
|
||
\</Comments\>
|
||
\</NativeProcOrFunc\>
|
||
\<NativeProcOrFunc name="MY_TEST_PROC"\>
|
||
\<StructItem name="MY_TEST_STRUCT"\>
|
||
\<Contents\> FLOAT x\</Contents\>
|
||
\<Contents\> FLOAT y\</Contents\>
|
||
\<Source file="c:\\myfile.sc" line="42" /\>
|
||
\</StructItem\>
|
||
\</NativeItems\>
|
||
</code>
|
||
|
||
@@Windows
|
||
|
||
@@DocumentEditor
|
||
<title Document Editor>
|
||
<GROUP Windows>
|
||
|
||
@@DocumentEditorTabContextMenu
|
||
<title Tab Context Menu>
|
||
<GROUP DocumentEditor>
|
||
|
||
This context menu can be found by right-clicking on the
|
||
Document Tab.
|
||
|
||
<table>
|
||
Menu Item \Description
|
||
------------ -------------------------------------------------
|
||
\File Name Displays the full path of the selected document.
|
||
Click this menu item to copy the path to the
|
||
clipboard.
|
||
Open Opens the folders that contains the file in
|
||
Containing Explorer.
|
||
Folder
|
||
New Tab Creates a new Document in a new tab.
|
||
Close Tab Closes the selected document tab.
|
||
Close Other Closes document tabs other than the currently
|
||
Tabs selected one.
|
||
Close All Closes all document tabs.
|
||
Tabs
|
||
</table>
|
||
|
||
@@DocumentEditorActiveFilesDropDownMenu
|
||
<title Active Files Drop Down Menu>
|
||
<GROUP DocumentEditor>
|
||
|
||
On the right side of the Document Editor Window and next to
|
||
the X (to close the current document), you may find a small
|
||
triangle shaped button. Clicking this reveals a drop-down
|
||
with a list of all of the documents that are currently open.
|
||
|
||
Hover over an item to view its full path.
|
||
|
||
Click the item to make it the active document.
|
||
|
||
@@DocumentEditorContextMenu
|
||
<title Context Menu>
|
||
<GROUP DocumentEditor>
|
||
|
||
Over any part of the Document Editor's text, right-clicking
|
||
reveals this context menu:
|
||
|
||
<table>
|
||
Menu Item \Description
|
||
------------ --------------------------------------------------------
|
||
Undo Reverts the last edit.
|
||
Redo Restores the last action that was reverted.
|
||
Cut Cuts the selected text to the keyboard.
|
||
Copy Copies the selected text to the keyboard.
|
||
Paste Pastes text from the keyboard.
|
||
Delete Deletes the currently selected text.
|
||
Select All Selects all text in the current document.
|
||
Insert Code Shows the Insert Code Snippet popup to select from
|
||
Snippet the list of pre-defined code snippets.
|
||
Go To Opens the document and highlights the line on which
|
||
Definition the currently selected symbol is defined.
|
||
Outlining This drop-down menu contains the Outlining options. See
|
||
<link OutliningMenu, Outlining Menu>.
|
||
</table>
|
||
|
||
@@DocumentEditorKeyboardCommands
|
||
<title Keyboard Commands>
|
||
<GROUP DocumentEditor>
|
||
|
||
The following tables detail the keyboard shortcuts available
|
||
when focus is given to a Document. Most of them cannot be
|
||
found on the <link EditMenu, Edit Menu> or any other
|
||
menus.
|
||
|
||
* Return Commands *
|
||
<table>
|
||
Key Command
|
||
--------------- ----------------------------------------
|
||
Enter Insert line break
|
||
Shift + Enter Insert line break
|
||
Ctrl + Enter Insert line break on the line above the
|
||
cursor
|
||
Ctrl + Shift + Insert line break on the line below the
|
||
Enter cursor
|
||
</table>
|
||
|
||
* Delete/Backspace Commands *
|
||
<table>
|
||
Key Command
|
||
------------------ ---------------------------
|
||
Delete Delete
|
||
Ctrl + Shift + L Delete Line
|
||
Ctrl + Delete Delete to next word
|
||
Backspace Backspace
|
||
Shift + Backspace Backspace
|
||
Ctrl + Backspace Backspace to previous word
|
||
</table>
|
||
|
||
* Clipboard/Undo Commands *
|
||
<table>
|
||
Key Command
|
||
----------------- ----------------------
|
||
Ctrl + C Copy to Clipboard
|
||
Ctrl + L Cut line to Clipboard
|
||
Ctrl + X Cut to Clipboard
|
||
Ctrl + V Paste from Clipboard
|
||
Ctrl + Z Undo
|
||
Ctrl + Y Redo
|
||
Ctrl + Shift + Z Redo
|
||
</table>
|
||
|
||
* Movement Commands *
|
||
<table>
|
||
Key Command
|
||
----------------- ----------------------------------------------
|
||
Down Move caret down
|
||
Up Move caret up
|
||
Left Move caret left
|
||
Right Move caret right
|
||
Ctrl + Left Move to previous word
|
||
Ctrl + Right Move to next word
|
||
Home Move to start of line
|
||
End Move to end of line
|
||
Ctrl + Home Move to start of document
|
||
Ctrl + End Move to end of document
|
||
Page Up Page up
|
||
Page Down Page down
|
||
Ctrl + Page Up Move to the top of the visible portion of the
|
||
document
|
||
Ctrl + Page Down Move to the bottom of the visible portion of
|
||
the document
|
||
Ctrl + ] Move to matching bracket
|
||
</table>
|
||
|
||
* Scroll Commands *
|
||
<table>
|
||
Key Command
|
||
------------ ------------
|
||
Ctrl + Down Scroll down
|
||
Ctrl + Up Scroll up
|
||
</table>
|
||
|
||
* Indenting Commands *
|
||
<table>
|
||
Key Command
|
||
------------ --------
|
||
Tab Indent
|
||
Shift + Tab Outdent
|
||
</table>
|
||
|
||
* Selection Commands *
|
||
<table>
|
||
Key Command
|
||
--------------------------- ---------------------------------
|
||
Shift + Down Select down
|
||
Shift + Up Select up
|
||
Shift + Left Select left
|
||
Shift + Right Select right
|
||
Ctrl + Shift + Left Select to previous word
|
||
Ctrl + Shift + Right Select to next word
|
||
Shift + Home Select to start of line
|
||
Shift + End Select to end of line
|
||
Ctrl + Shift + Home Select to start of document
|
||
Ctrl + Shift + End Select to end of document
|
||
Shift + Page Up Select page up
|
||
Shift + Page Down Select page down
|
||
Ctrl + Shift + Page Up Select to the top of the visible
|
||
portion of the document
|
||
Ctrl + Shift + Page Down Select to the bottom of the
|
||
visible portion of the document
|
||
Ctrl + A Select all
|
||
Ctrl + Shift + W Select word
|
||
Ctrl + Shift + ] Select to matching bracket
|
||
Shift + Alt + Down Select block down
|
||
Shift + Alt + Up Select block up
|
||
Shift + Alt + Left Select block left
|
||
Shift + Alt + Right Select block right
|
||
Ctrl + Shift + Alt + Left Select block to previous word
|
||
Ctrl + Shift + Alt + Right Select block to next word
|
||
</table>
|
||
|
||
* IntelliPrompt Commands *
|
||
<table>
|
||
Key Commands
|
||
--------------------- ----------------------------------
|
||
Ctrl + Space IntelliPrompt Complete Word
|
||
Ctrl + Shift + Space Show IntelliPrompt Parameter Info
|
||
</table>
|
||
|
||
* Other Commands *
|
||
<table>
|
||
Key Command
|
||
------------- -------------------------------------------------
|
||
Ctrl + Shift Make selection uppercase
|
||
\+ U
|
||
Ctrl + U Make selection lowercase
|
||
Ctrl + De-selects code blocks that contain the caret in
|
||
Number Pad - increasing scope depth. Currently works only for
|
||
CSharp files.
|
||
Ctrl + Selects code blocks that contain the caret in
|
||
Number Pad + decreasing scope depth. Currently works only for
|
||
CSharp files.
|
||
Escape Cancel IntelliPrompt, Code Snippets, Incremental
|
||
Search, etc.
|
||
Ctrl + I Incremental Search
|
||
Ctrl + Shift Reverse Incremental Search
|
||
\+ I
|
||
Insert Toggle Overwrite Mode
|
||
Ctrl + T Transpose characters on either side of the caret
|
||
Ctrl + Shift Transpose words on either side of the caret.
|
||
\+ T Current doesn't work very work very well for
|
||
SanScript files.
|
||
Ctrl + Shift Transpose the current line with the next line
|
||
\+ Alt + T
|
||
</table>
|
||
|
||
@@ProjectExplorerWindow
|
||
<title Project Explorer Window>
|
||
<GROUP Windows>
|
||
|
||
When you load a project, it's files and folders appear here.
|
||
In this window, you can add and remove existing script files.
|
||
You can also create, rename, and delete folders. This can all
|
||
be accomplished through a series of right-click context
|
||
menus.
|
||
|
||
|
||
|
||
At the top, is a Sort button that will arrange all files and
|
||
folders alphabetically (case-insensitive) with folders at the
|
||
top and files at the bottom.
|
||
|
||
|
||
|
||
When a project is saved, not only are the files and folders
|
||
remembered, but many settings are saved as well. Which
|
||
folders and files that were open when you closed the project
|
||
\or quit the Script Editor are remembered so they can be
|
||
\opened the next time you open the project. The project file
|
||
also contains items off of the <link ProjectSettingsCategory, Project Settings Category>
|
||
the <link CompilingSettingsCategory, Compiling Settings Category>
|
||
\on the Settings dialog.
|
||
|
||
* Right-click Context Menu *
|
||
<table>
|
||
Item \Description
|
||
---------------------------------------- --------------------------------------------------
|
||
Open When a file is selected, attempts to open it.
|
||
<link HowToCompileScript, Compile File> Compiles the selected script file.
|
||
<link HowToCompileProject, Compile All> Compiles all script files in the project.
|
||
Rebuild All Rebuilds all script files in the project.
|
||
Add Existing Add existing script files to your project.
|
||
Item(s)...
|
||
Add New Adds a new folder, and puts you in edit mode to
|
||
Folder give it a name.
|
||
Reload Missing When the selected file's icon is grayed out,
|
||
\File searches for the file in its last known location.
|
||
If found, the icon is activated.
|
||
Locate When the selected file's icon is grayed out,
|
||
Missing File allows the user to search for the file. If one is
|
||
selected, the icon is activated.
|
||
Rename When a folder is selected, puts you in edit mode
|
||
to rename the folder.
|
||
Remove Removes the file or folder (and its files) from
|
||
the project. Does <i>not</i> delete any script
|
||
files from your hard drive.
|
||
</table>
|
||
|
||
|
||
|
||
* Tutorials *
|
||
<link HowToCreateNewProject, Create a New Project>
|
||
|
||
@@DocumentOutlineWindow
|
||
<title Document Outline Window>
|
||
<GROUP Windows>
|
||
|
||
When enabled, this window displays an outline of the current
|
||
\file, according to information provided by it's Semantic
|
||
Parse. Nodes will be grouped by their scope.
|
||
|
||
|
||
|
||
For example, this code:
|
||
|
||
<code>
|
||
PROC FOO( )
|
||
int MyMultiDimArray[4][3]
|
||
int i, j
|
||
FOR i = 0 to 4
|
||
FOR j = 0 to 3
|
||
// do something
|
||
ENDFOR
|
||
ENDFOR
|
||
|
||
IF TRUE
|
||
// do something
|
||
ELSE
|
||
// do something else
|
||
ENDIF
|
||
ENDPROC
|
||
|
||
PROC BOO( INT I )
|
||
ENDPROC
|
||
</code>
|
||
|
||
will produce the following outline:
|
||
|
||
* PROC FOO( )
|
||
* FOR i = 0 to 4
|
||
* FOR j = 0 to 3
|
||
* IF
|
||
* ELSE
|
||
* PROC BOO( INT I )
|
||
|
||
* Context Menu *
|
||
When Update Document Outline is checked, right-click anywhere
|
||
inside the TreeView area.
|
||
|
||
<table>
|
||
Menu Item \Description
|
||
------------- ------------------------------------------------
|
||
Collapse All Collapses all outlining nodes and their
|
||
children
|
||
Expands All Expands all outlining nodes and their children.
|
||
</table>
|
||
|
||
* Tips for Improving Performance *
|
||
* Hide the window behind another one. The refresh can be
|
||
costly.
|
||
* Uncheck the Update Document Outline option at the top of
|
||
the window.
|
||
|
||
For a more complete outline, run the Script Editor with the
|
||
\-admin command line parameter.
|
||
|
||
@@OutputWindow
|
||
<title Output Window>
|
||
<GROUP Windows>
|
||
|
||
The Output Window, by default, can be found docked at the
|
||
bottom of the editor. It is to this window that compile
|
||
messages are written. If errors are found, they appear in
|
||
this window and the user can select them and go to the
|
||
specified error in the script. The user can also highlight
|
||
and copy text. A right-click context menu, along with
|
||
keyboard shortcuts, provide this functionality.
|
||
|
||
<table>
|
||
Menu Item \Description
|
||
---------- --------------------------------------------------------------------
|
||
Go To On an error line, opens the appropriate file and
|
||
Error/Tag highlights the line with the error in question. Alternatively,
|
||
you can just double-click on the error line.
|
||
Copy Copies the highlighted text to the system Clipboard. Alternatively,
|
||
Ctrl+C with this window in focus will accomplish the
|
||
same task. Use Ctrl+A to select all before copying.
|
||
Clear all Clears all text from the window.
|
||
Find Opens a Find/Replace dialog for searching in this window.
|
||
</table>
|
||
|
||
* Additional Shortcuts *
|
||
* Select All (Ctrl + A)
|
||
* Search Again Down (F3)
|
||
* Search Again Up (Shift + F3)
|
||
* Search Highlighted Down (Ctrl + F3)
|
||
* Search Highlighted Up (Ctrl + Shift + F3)
|
||
|
||
@@FindResultsWindow
|
||
<title Find Results Window>
|
||
<GROUP Windows>
|
||
|
||
The Find Results Window, by default, can be found docked at
|
||
the bottom of the editor. It is to this window that the
|
||
results of Find in Files searches are displayed. Each result
|
||
can then be double-clicked to open the file and highlight the
|
||
instance of the search text. The user can also highlight and
|
||
copy text from the Find Results Window. A right-click context
|
||
menu, along with keyboard shortcuts, provide this
|
||
functionality.
|
||
|
||
<table>
|
||
Menu Item \Description
|
||
---------- --------------------------------------------------------------------
|
||
Go To On a result line, opens the appropriate file and
|
||
Error/Tag highlights the line with the found text in question. Alternatively,
|
||
you can just double-click on the error line.
|
||
Copy Copies the highlighted text to the system Clipboard. Alternatively,
|
||
Ctrl+C with this window in focus will accomplish the
|
||
same task. Use Ctrl+A to select all before copying.
|
||
Clear all Clears all text from the window.
|
||
Find Opens a Find/Replace dialog for searching in this window.
|
||
</table>
|
||
|
||
* Additional Shortcuts *
|
||
* Select All (Ctrl + A)
|
||
* Search Again Down (F3)
|
||
* Search Again Up (Shift + F3)
|
||
* Search Highlighted Down (Ctrl + F3)
|
||
* Search Highlighted Up (Ctrl + Shift + F3)
|
||
|
||
@@ErrorsWindow
|
||
<title Errors Window>
|
||
<GROUP Windows>
|
||
|
||
For your convenience, compile errors are output directly to
|
||
this window from the Output Window, succinctly presenting the
|
||
errors in a more easily-read format. Double-click on the
|
||
error line to open up the file and go to the line it is on.
|
||
|
||
|
||
|
||
This window only appears when compile errors are found.
|
||
|
||
@@HelpWindow
|
||
<title Help Window>
|
||
<GROUP Windows>
|
||
|
||
This window displays the text of the last Intellisense Info popup that was shown by the document.
|
||
|
||
@@DockableWindowKeyboadShortcuts
|
||
<title Window Navigation Keyboard Commands>
|
||
|
||
There are a few keyboard commands for navigating between the
|
||
various Dockable Windows and Tabbed Documents
|
||
|
||
* Dockable Window Navigation *
|
||
<table>
|
||
Key Command
|
||
------------ ----------------------------------------------
|
||
Ctrl + Page Switch to the previous Dockable Window in the
|
||
Up currently selected tab group
|
||
Ctrl + Page Switch to the next Dockable Window in the
|
||
Down currently selected tab group
|
||
</table>
|
||
|
||
* Tabbed Document Navigation *
|
||
<table>
|
||
Key Command
|
||
----------- -----------------------------------------------------
|
||
Ctrl + Tab Cycle through the Tabbed Documents
|
||
Ctrl + Cycle through the Tabbed Documents in opposite order
|
||
Shift +
|
||
Tab
|
||
</table>
|
||
|
||
@@HowTo
|
||
<title How To>
|
||
|
||
@@HowToCompileScript
|
||
<title Compile a Script>
|
||
<GROUP HowTo>
|
||
|
||
1. If you have not yet setup your compiling options
|
||
1. Click on the <link ToolsMenu, Tools Menu> and
|
||
select <link ToolsMenuSettings, Settings>.
|
||
2. Select the <link CompilingSettingsCategory, Compiling Category>
|
||
and choose your options
|
||
3. Click OK.
|
||
2. With a script loaded, open the <link CompilingMenu, Compiling Menu>
|
||
and select 'Compile'. Alternatively, you may press Ctrl+F7 to
|
||
compile the current script.
|
||
|
||
Information about the compile process will appear in the
|
||
\Output Window.
|
||
|
||
|
||
|
||
If your script file is part of a project, you may also do the
|
||
following:
|
||
1. Right-click the script file in the <link ProjectExplorerWindow, Project Explorer>
|
||
window.
|
||
2. Select 'Compile'.
|
||
|
||
|
||
|
||
@@HowToCreateNewProject
|
||
<title Create a New Project>
|
||
<GROUP HowTo>
|
||
|
||
1. Open the <link FileMenu, File Menu>, then New,
|
||
then Project....
|
||
2. Browse for the location where you want to store your
|
||
project.
|
||
3. Give it a name and click OK.
|
||
|
||
Your project will appear in the <link ProjectExplorerWindow, Project Explorer>
|
||
window. Now you can add existing script files and organize
|
||
them into folders. Note that these folders don't necessarily
|
||
relate to the location of the script files on your hard
|
||
drive.
|
||
|
||
|
||
|
||
You now have the option of selecting certain project-specific
|
||
settings.
|
||
1. Click on the <link ToolsMenu, Tools Menu> and open
|
||
the <link ToolsMenuSettings, Settings dialog>.
|
||
2. On the Settings dialog:
|
||
1. Select the <link ProjectSettingsCategory, Project Category>
|
||
and choose your Post-Compile Command and/or Start Debug
|
||
Command.
|
||
2. Select the <link CompilingSettingsCategory, Compiling Category>
|
||
and choose your compiling options.
|
||
3. Click OK.
|
||
3. Save the project by clicking <link FileMenu, File>
|
||
\-\> Save Project.
|
||
|
||
|
||
@@HowToCompileProject
|
||
<title Compile a Project>
|
||
<GROUP HowTo>
|
||
|
||
If you do not have a project created and populated with
|
||
files, do <link HowToCreateNewProject, this tutorial> first and
|
||
return here.
|
||
|
||
1. If it is your first time compiling a project and you did
|
||
not setup your Compiling options. Return to <link HowToCreateNewProject, this tutorial>
|
||
and do so now.
|
||
2. Right-click on the Project folder in the <link ProjectExplorerWindow, Project Window>
|
||
and select 'Compile All'. Alternatively, you may press F7.
|
||
|
||
Information about the compile process will appear in the
|
||
\Output Window.
|
||
|
||
|
||
|
||
Additionally, you may setup a Start Debug Command on the <link ProjectSettingsCategory, Project Settings Category>,
|
||
and press F5 to compile and begin debugging.
|
||
|
||
|
||
|
||
When a project is successfully compiled, a couple of
|
||
additional files are saved in the project folder. First, a
|
||
list of all files in the project is saved as
|
||
"\<project_name\>.scolist". Second, a batch file called
|
||
"compile_one.\<project_name\>.bat is saved. This batch file
|
||
can be called on each file in the .scolist to compile the
|
||
project files outside of the editor.
|
||
|
||
|
||
@@HowToCompileProjectCommandLine
|
||
<title Compile From the Command Line>
|
||
<GROUP HowTo>
|
||
|
||
You have two options for compiling: a basic method by calling
|
||
ragScriptEditor (or equivalent) or a more feature-rich method
|
||
by calling ragScriptCompiler. This topic describes how to
|
||
compile with each method.
|
||
|
||
|
||
|
||
For both programs, compiling a project from the command line
|
||
will do everything a normal <link HowToCompileProject, project compile>
|
||
does, but without running the Script Editor interface.
|
||
Similarly, <link HowToCompileScript, compiling individual script files>
|
||
\or list of files on their own will use your last user
|
||
settings. If you combine a project file with one or more
|
||
script files on the command line, the project file has
|
||
precedence and will be used for things like the <link CompilingSettingsCategory, Compiling Settings>
|
||
and where the log file is placed (when that file is not path
|
||
rooted).
|
||
|
||
|
||
|
||
Each named argument is preceded with a hyphen (-), as shown.
|
||
The arguments and parameters are separated by a spaces.
|
||
However, the equals sign (=) is also accepted between
|
||
\arguments and a single parameter.
|
||
|
||
* Compiling with ragScriptEditor *
|
||
This method is very basic and only offers a 4 commands
|
||
<table>
|
||
Argument Parameter(s) \Description Required
|
||
----------- -------------------------- ---------------------------------------------------- =========
|
||
\-build projectFile|scriptFile... One project file and/or any number of script files Yes
|
||
to compile.
|
||
\-clean Clean the file(s) before compiling. No
|
||
\-config configuration Specifies the configuration on which to perform the No
|
||
name build and/or clean operation. Without this option,
|
||
the last active configuration is used.
|
||
\-log [textFile] Indicates that we want all Standard Output to be No
|
||
piped to a file. The parameter is optional and if
|
||
it is not path-rooted, we will use the path of the
|
||
project or the first script file. If no file is
|
||
provided, the default is 'log.txt' and will be
|
||
saved using the same path rules.
|
||
\-guiName name Needed by compiles that use the Default Compiling No
|
||
\option. If not specified, we attempt to find an
|
||
executable name that contains 'ScriptEditor'
|
||
located in the same directory as ragScriptCompiler.
|
||
\-cacheDir languageName Overrides the Cache Directory used by the given No
|
||
directory language. More than one <i>pair</i> of parameters
|
||
may be passed in. Current supported languages are
|
||
"SanScript", "CSharp", and "Xml".
|
||
</table>
|
||
|
||
* Compiling with ragScriptCompiler *
|
||
This method of compiling offers the same functionality as the
|
||
basic method, adding the ability to override any of the <link CompilingSettingsCategory, Compiling Settings>
|
||
saved in the Project and the user's last settings.
|
||
<table>
|
||
Argument Parameter(s) \Description Required
|
||
------------------ -------------------------- -------------------------------------------------- ===============
|
||
\ projectFile|scriptFile... One project file and/or any number of Yes
|
||
script files to compile.
|
||
\-clean Clean the file(s) before compiling. No
|
||
\-config configuration Specifies the configuration on which to <align center>
|
||
name perform the build and/or clean operation. Without No
|
||
this option, the last active configuration </align>
|
||
is used.
|
||
\-log [textFile] Indicates that we want all Standard Output <align center>
|
||
to be piped to a file. The parameter is No
|
||
\optional and if it is not path-rooted, we </align>
|
||
will use the path of the project or the
|
||
first script file. If no file is provided,
|
||
the default is 'log.txt' and will be saved
|
||
using the same path rules.
|
||
\-guiName name Needed by compiles that use the Default <align center>
|
||
Compiling option. If not specified, we No
|
||
attempt to find an executable name that </align>
|
||
contains 'ScriptEditor' located in the same
|
||
directory as ragScriptCompiler.
|
||
\-override [true|false] Overrides the current <align center>
|
||
OverrideDefaultCompilerSettings value. No
|
||
Without a value, defaults to true. </align>
|
||
\-debugparser [true|false] Overrides the current DebugParser value. <align center>
|
||
Without a value, defaults to true. No
|
||
</align>
|
||
\-dump [true|false] Overrides the current DumpThreadState <align center>
|
||
value. Without a value, defaults to true. No
|
||
</align>
|
||
\-dis [true|false] Overrides the current DisplayDisassembly <align center>
|
||
value. Without a value, defaults to true. No
|
||
</align>
|
||
\-include scriptFile Overrides the current IncludeFile value. <align center>
|
||
No
|
||
</align>
|
||
\-ipath path Overrides the current IncludePath value. No
|
||
\-globals scriptFile Overrides the current Globals value. No
|
||
\-custom text Overrides the current Custom value. No
|
||
\-scriptCompiler executable Overrides the current ScriptCompiler value. No
|
||
\-outputDirectory path Overrides the current Output Directory No
|
||
value.
|
||
\-break [true|false] Overrides the current Break On Errors No
|
||
value.
|
||
\-version [textFile] Displays the version number or saves it to No
|
||
the specified text file and exits.
|
||
\-cacheDir languageName Overrides the Cache Directory used by the No
|
||
directory given language. More than one <i>pair</i>
|
||
\of parameters may be passed in. Current
|
||
supported languages are "SanScript",
|
||
"CSharp", and "Xml".
|
||
</table>
|
||
|
||
* Examples *
|
||
1. c:\\\>ragScriptEditor -build c:\\MyScriptProject.scproj
|
||
\-clean
|
||
2. c:\\\>ragScriptCompiler c:\\MyScriptProject.scproj
|
||
\-clean
|
||
3. c:\\\>ragScriptEditor -build c:\\MyScriptProject.scproj
|
||
\-log="C:\\Documents and Settings\\username\\My
|
||
Documents\\MyScriptProjectLog.txt"
|
||
4. c:\\\>ragScriptEditor -build
|
||
t:\\sample_scr_generic.scproj -log
|
||
5. c:\\\>ragScriptEditor -bulid demo.sc faultdemo.sc -clean
|
||
6. c:\\\>ragScriptCompiler c:\\MyScriptProject.scproj
|
||
\-override -debugparser true
|
||
7. c:\\\>ragScriptCompiler c:\\MyScriptProject.scproj
|
||
\-ipath="" -guiName myEditorForScripts
|
||
|
||
\#1 and #2 are functionally equivalent.
|
||
|
||
\#4 creates a log file named t:\\log.txt because t:\\ is
|
||
where the project lives and no name was given.
|
||
|
||
\#7 clears ipath by passing in double-quotes as it's
|
||
parameter. It also sets the guiName, because they renamed
|
||
their script editor executable.
|
||
|
||
@@HowToCreateCustomButton
|
||
<title Create a Custom Button>
|
||
<GROUP HowTo>
|
||
|
||
1. Click the Tools Menu and select <link ToolsMenuCustomButtonManager, Custom Button Manager>.
|
||
2. Click the 'New' button.
|
||
3. In the Name text box, give your custom button a
|
||
descriptive name.
|
||
4. Click the '...' button next to the empty Icon box, and
|
||
select an icon file.
|
||
5. In the Command text box, either type your command, or
|
||
browse for a program using the '...' button next to it.
|
||
6. When you are satisfied with your inputs, click 'Accept'.
|
||
Your button will appear in the Custom Button List and on the
|
||
Tool Bar.
|
||
|
||
* Valid commands *
|
||
* System programs (like notepad) and programs in your path
|
||
(like rag), with or without arguments
|
||
* File types registered with a program
|
||
* Other executables with any number of arguments as long as
|
||
the path does <i>not</i> contain spaces
|
||
<code>
|
||
notepad c:\\myfile.txt
|
||
c:\\myfile.txt
|
||
c:\\soft\\rage\\base\\samples\\mysample.exe -rag -cammachdebug
|
||
</code>
|
||
|
||
|
||
@@HowToCreateDefaultSettings
|
||
<title Create a Default Settings File>
|
||
<GROUP HowTo>
|
||
|
||
This tutorial instructions your game's lead Scripter how to
|
||
create a set of default options for all of the scripters on
|
||
your team.
|
||
|
||
1. Run the Script Editor with the "-admin" command line
|
||
\option (without the quotes, obviously). This will enable the "Save Default Settings File" in the Language categories of the <link ToolsMenuSettings, Settings> dialog.
|
||
2. Open the <link ToolsMenuCustomButtonManager, Custom Button Manager>
|
||
from the <link ToolsMenu, Tools Menu>.
|
||
1. <link HowToCreateCustomButton, Create any custom buttons>
|
||
you want available to your entire scripting team.
|
||
2. Close the window.
|
||
3. Open the <link ToolsMenuSettings, Settings> dialog
|
||
from the <link ToolsMenu, Tools Menu>.
|
||
1. Edit the options in each category as you see fit.
|
||
2. Once you are finished, go to the <link LanguageSettingsCategory, Language Settings> for the language you want,
|
||
and click "Save Default Settings File". It should tell you
|
||
the file saved successfully. Click OK.
|
||
3. Click OK to close the Settings dialog.
|
||
4. Check your settings
|
||
1. Open the Settings dialog again and change any
|
||
setting. For thoroughness, you may want to change something
|
||
in each category.
|
||
2. Go to the Language category for the language and click "Load Default
|
||
Settings File".
|
||
3. It should tell you the file loaded successfully.
|
||
Select "Yes" to make the default settings your current
|
||
settings.
|
||
4. Verify that your settings are correct.
|
||
|
||
You are now free to customize your settings
|
||
knowing that you always have the option to revert back to
|
||
your game's defaults.
|
||
|
||
|
||
@@HowToUseTheScriptEditorOnTheCommandLine
|
||
<title Use the Script Editor on the Command Line>
|
||
<GROUP HowTo>
|
||
|
||
There are a few basic commands one can pass into
|
||
ragScriptEditor through the command line. By passing in no
|
||
\arguments, you of course, launch the Script Editor GUI as
|
||
normal.
|
||
|
||
|
||
|
||
Each named argument is preceded with a hyphen (-), as shown.
|
||
The arguments and parameters are separated by a spaces.
|
||
However, the equals sign (=) is also accepted between
|
||
\arguments and a single parameter..
|
||
|
||
<table>
|
||
Argument Parameter(s) \Description Required
|
||
----------- -------------------------- ---------------------------------------------- ===============
|
||
\ projectFile|scriptFile... One project file and/or any number of No
|
||
script files to load.
|
||
\-file scriptFile... One or more files to load. <align center>
|
||
No
|
||
</align>
|
||
\-project projectFile One project to load. <align center>
|
||
No
|
||
</align>
|
||
\-admin Enables admin mode so one can modify <align center>
|
||
the Default Settings that get loaded by No
|
||
the Parser Plugin DLL. </align>
|
||
\-version [textFile] Displays the version number or saves it No
|
||
to the specified text file and exits.
|
||
\-usage Displays this usage information. <align center>
|
||
No
|
||
</align>
|
||
\-cacheDir languageName Overrides the Cache Directory used by No
|
||
directory the given language. More than one <i>pair</i>
|
||
\of parameters may be passed in.
|
||
Current supported languages are
|
||
"SanScript", "CSharp", and "Xml".
|
||
</table>
|
||
|
||
There are a few additional commands available for compiling a
|
||
project and/or one or more files. See <link HowToCompileProjectCommandLine, Compile From the Command Line>.
|
||
|