Skip to content

Commit 4ecb10e

Browse files
committed
Add section about LSP support by compiledb scons command
Adds a section explaining that a compilation database can be compiled using scons to enable IDE features like autocomplete and more.
1 parent 5513ce6 commit 4ecb10e

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

README.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,17 @@ For getting started after cloning your own copy to your local machine, you shoul
2323
* change the `entry_symbol` string inside your `demo/bin/your-extension.gdextension` file to be configured for your GDExtension name. This should be the same as the `GDExtensionBool GDE_EXPORT` external C function. As the name suggests, this sets the entry function for your GDExtension to be loaded by the Godot editors C API.
2424
* register the classes you want Godot to interact with inside the `register_types.cpp` file in the initialization method (here `initialize_gdextension_types`) in the syntax `GDREGISTER_CLASS(CLASS-NAME);`.
2525

26+
### Configuring an IDE
27+
You can develop your own extension with any text editor and by invoking scons on the command line, but if you want to work with an IDE (Integrated Development Environment), you can use a compilation database file called `compile_commands.json`. Most IDEs should automatically identify this file, and self-configure appropriately.
28+
To generate the database file, you can run one of the following commands in the project root directory:
29+
```shell
30+
# Generate compile_commands.json while compiling
31+
scons compiledb=yes
32+
33+
# Generate compile_commands.json without compiling
34+
scons compiledb=yes compile_commands.json
35+
```
36+
2637
## Usage - Actions
2738

2839
This repository comes with a GitHub action that builds the GDExtension for cross-platform use. It triggers automatically for each pushed change. You can find and edit it in [builds.yml](.github/workflows/builds.yml).

0 commit comments

Comments
 (0)