Skip to content

TheKetrab/godot-csharp-intellisense

Repository files navigation

Godot Editor C# IntelliSense

This project is an implementation of autocompletion feature for C# language. Made for thesis by Bartłomiej Grochowski, UWR 2020. This repository consists of C++ sources that you can compile into Godot Mono version

Content of the repository

The repository contains:

  • special programs to simulate work of IntelliSense outside Godot Engine
  • necessary files that you have to include to your Godot workspace directory to successfully compile IntelliSense
  • thesis papers that explain how the IntelliSense module works

Compile into Godot

  1. Download Godot source code from the last stable release version, eg:
git clone https://github.com/godotengine/godot.git −−single−branch −−branch 3.2
  1. Compile Mono version following the official tutorial.

  2. Copy the folowing files to .../godot/modules/mono directory:

  • CSharpIntellisense/csharp_lexer.h
  • CSharpIntellisense/csharp_lexer.cpp
  • CSharpIntellisense/csharp_parser.h
  • CSharpIntellisense/csharp_parser.cpp
  • CSharpIntellisense/csharp_context.h
  • CSharpIntellisense/csharp_context.cpp
  • CSharpIntellisense/csharp_utils.h
  • CSharpIntellisense/csharp_utils.cpp
  • ExternalGodotFiles/csharp_provider_mono.h
  • ExternalGodotFiles/csharp_provider_mono.cpp
  1. Copy the definition of function CSharpLanguage::complete_code from ExternalGodotFiles/csharp_script.cpp to .../godot/modules/mono/csharp_script.cpp.

  2. Recompile Godot with Mono and run it.

LiveIntellisense demo (Windows only)

Solution file CSharpIntellisense.sln consists of three projects. Compile each of them - they should compile into Output directory. Put the Input directory inside and add some .cs files there. To simulate cursor placement type ^| and wait for the LiveIntellisense output. Note: CSharpIntellisense.exe, AssemblyReader.exe and LiveIntellisense.exe must be in the same directories.

About

Intellisense for csharp in godot game engine.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published