ES CSharp IDE - LIHACHTETAN/ClassicUO-Bad-Newbie-CSharp-Scripts-IDE GitHub Wiki
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
C# Scripts IDE
El editor Monaco se ejecuta en el shell Eclipse Theia. Roslyn proporciona verificación de compilación, sugerencias de reemplazo de fragmentos actuales, información de tipo de desplazamiento, salto a definición, estructura de archivos y firmas de sobrecarga.
Crear, abrir y guardar
| Formato | Cómo utilizar |
|---|---|
.csx |
C#-escenario de la sesión de juego actual. UO, Args, Cancellation, WaitAsync y Checkpoint están disponibles. |
.cs |
Un típico programa C# completo con espacios de nombres y clases: ICSharpScript, Main u operadores de nivel superior. |
.csproj |
Proyecto SDK con NuGet, ProjectReference y compilación/ejecución normal. |
.sln, .slnx |
Archivos de texto del espacio de trabajo: abrir y guardar. No son scripts independientes para ejecutar. |
.dll |
Biblioteca a través del proyecto Reference/HintPath o la directiva de script #r. DLL no se ejecuta como script y no se guarda como texto C#. |
| Otros formatos de texto | Cree, abra y guarde con la extensión original, sin verse obligado a cambiarle el nombre a .csx. |
| Formatos binarios | Disponible visualización o aplicación asociada. No decodifique ni almacene datos binarios como texto C#. |
Trabajando con el guión
- Cree un archivo del formato seleccionado o abra uno existente.
Validatemuestra errores de compilación.Runejecuta un script o proyecto compatible en la sesión actual.Pause/Resumecontrola la ejecución actual;Stopsolicita la cancelación.- La información sobre herramientas después de
UO.muestra los métodos del juego, después de la variable, los miembros de su tipo C#. Al pasar el cursor, se ve información sobre el tipo y la firma; Ir a la definición abre la ubicación del código correspondiente.
Depuración por líneas de código fuente
Para .csx y .cs normal, deténgase en la primera línea ejecutable, archivo y línea actuales, puntos de interrupción, Pause/Continue, vaya a la siguiente línea (Step) y cancele (Stop) están disponibles.
Pausa y deja de interactuar con puntos de ejecución controlados. Una llamada de bloqueo arbitraria a una biblioteca de terceros requiere soporte de cancelación nativo. Entrar y salir de métodos arbitrarios de terceros, observar cualquier variable local y evaluar expresiones arbitrarias requiere un depurador CLR separado; estas posibilidades no se implementan aquí. Línea por línea Step no debe considerarse completa StepInto/StepOut.
El archivo del editor y el conjunto de ejecución automática se administran por separado. Para ejecutar la próxima vez que inicie el perfil de administrador, guarde el script compatible en el conjunto de scripts de este perfil.
Estructura del programa · Manual C# · Referencia completa C# · Comandos del juego
En el código .cs o .csproj normal, Main o las instrucciones de nivel superior tienen prioridad aunque el ensamblado también contenga ICSharpScript. Sin un punto de entrada ejecutable, proporcione una sola clase ICSharpScript pública y no abstracta con un constructor público sin parámetros. La API del juego se usa mediante un contexto recibido o CSharpScriptContext.Current, no mediante una variable global UO sin declarar.
Client y Full_Client incluyen scripts C# y AutoLoad y comparten una sesión con Manager. Cerrar y volver a abrir la ventana del juego conserva la conexión y los scripts en ejecución. El C# Scripts IDE integrado está disponible en Full_Client. En Client, administra los scripts mediante Manager y Macros; activa o desactiva C# y AutoLoad en Bad Newbie.
Modos de comandos e IDE sin conexión
En Manager, la pestaña Scripts bajo la tabla de personajes abre la depuración. El panel muestra las llamadas UO nativas ejecutadas, sus argumentos, resultados y errores. Selecciona una fila para ver los argumentos. La observación empieza al abrir el panel sin reiniciar el script. Las operaciones gestionadas directamente por C#, incluido UO.Wait, pueden no aparecer en la lista. La salida del script está disponible por separado.