Skip to content

EN CSharp IDE

Codex edited this page Oct 11, 2026 · 2 revisions

Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

C# Scripts IDE

The Monaco editor runs in the Eclipse Theia shell. Roslyn provides compilation checking, current snippet replacement hints, hover type information, jump to definition, file structure, and overload signatures.

Create, open and save

Format How to use
.csx C#-scenario of the current game session. UO, Args, Cancellation, WaitAsync and Checkpoint are available.
.cs A typical complete C# program with namespaces and classes: ICSharpScript, Main or top-level operators.
.csproj Project SDK with NuGet, ProjectReference and normal build/run.
.sln, .slnx Workspace text files: opening and saving. They are not standalone scripts to run.
.dll Library via Reference/HintPath project or #r script directive. DLL is not run as a script and is not saved as C#-text.
Other text formats Create, open and save with the original extension, without being forced to rename it to .csx.
Binary formats Available viewing or associated application. Do not decode or store binary data as C#-text.

Working with the script

  • Create a file of the selected format or open an existing one.
  • Validate shows compilation errors.
  • Run runs a supported script or project in the current session.
  • Pause/Resume controls current execution; Stop requests cancellation.
  • Tooltips after UO. show game methods, after the variable - members of its C#-type. When hovering, information about the type and signature is visible; Going to the definition opens the corresponding code location.

Debugging by lines of source code

For .csx and regular .cs, stop at first executable line, current file and line, breakpoints, Pause/Continue, go to next line (Step) and cancel (Stop) are available.

Pause and stop interact with controlled execution points. An arbitrary blocking call to a third party library requires native cancellation support. Entering and exiting arbitrary third-party methods, observing any local variables, and evaluating arbitrary expressions require a separate CLR debugger; these possibilities are not implemented here. Line-by-line Step should not be considered complete StepInto/StepOut.

The editor file and autorun set are managed separately. To run the next time you start the manager profile, save the supported script in the Scripts set of this profile.

Program Structure · Manual C# · Complete Reference C# · Game Commands

In ordinary .cs or .csproj code, Main or top-level statements take precedence even when the assembly also contains ICSharpScript. Without an executable entry point, provide one public, non-abstract ICSharpScript class with a public parameterless constructor. Ordinary code accesses the game API through a supplied context or CSharpScriptContext.Current; it does not receive an undeclared global UO variable.

Clone this wiki locally