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
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
- Download Godot source code from the last stable release version, eg:
git clone https://github.com/godotengine/godot.git −−single−branch −−branch 3.2
-
Compile Mono version following the official tutorial.
-
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
-
Copy the definition of function
CSharpLanguage::complete_code
fromExternalGodotFiles/csharp_script.cpp
to.../godot/modules/mono/csharp_script.cpp
. -
Recompile Godot with Mono and run it.
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.