docs: README pass, add alternative editor documentation (Zed) (#4137)

I'm switching away from visual studio (because its broken) so figured
I'd document / commit the minimum to get a working environment with the
editor I chose (Zed).

Also cleaned up the main README so it's not so verbose, link out to
secondary pages, etc.

I also deleted the Arch and Fedora dockerfiles, they were broken. The
ubuntu one still works, so i left it.
This commit is contained in:
Tyler Wilding
2026-03-22 13:17:56 -04:00
committed by GitHub
parent 9fb8a1dc27
commit cbe21e3b4b
29 changed files with 593 additions and 417 deletions
+18
View File
@@ -0,0 +1,18 @@
# Visual Studio
## Known Issues
- Later versions of 2022 have issues with intellisense when using clang
- Recent versions of 2026 have issues with CMake where the project will endlessly build:
- https://developercommunity.visualstudio.com/t/Switching-git-branches-seemingly-causes-/11025316?viewtype=all
## Steps
This will create a `jak-project` folder, open the project as a CMake project via Visual Studio.
![](/docs/img/windows/open-project.png)
Then build the entire project as `Windows Release (clang)`. You can also press Ctrl+Shift+B as a hotkey for Build All. We currently prefer `clang` on Windows as opposed to `msvc`, though it should work as well!
![](/docs/img/windows/release-build.png)
![](/docs/img/windows/build-all.png)
+11
View File
@@ -0,0 +1,11 @@
# VSCode
If you either don't want to or cannot use Visual Studio for working with the C++ project, VSCode is a good alternative.
The `clangd` extension is [recommended](https://marketplace.visualstudio.com/items?itemName=llvm-vs-code-extensions.vscode-clangd) and requires `clangd` to be on your `$PATH`. If you can run `clangd` in a terminal successfully then you should be good to go.
Once you generate your CMake for the first time the clangd LSP should be able to index the project and give you intellisense.
## Building and Debugging
TODO - Consider Contributing Documentation :)
+25
View File
@@ -0,0 +1,25 @@
# Zed
Zed comes with out of the box C++ support via `clangd`. The project comes with a bunch of already setup task and debug configurations. Note that many of them depend on the usage of `task` to make them cross-OS compatible (Zed at this time doesn't allow for OS-conditional logic within the task definitions).
## Recommended Extensions:
- NeoCMake
## Building the Project
We are going to build a debug version of the project because that is most useful for development.
Run the `task: spawn` command (default shortcut is `Alt-Shift-T`) and run `Generate CMake: Debug`
![](/docs/img/editors/zed/zed-gen-cmake.png)
Then do the same thing to run `Build Project: Debug`
![](/docs/img/editors/zed/zed-build-proj.png)
The project is now fully built, you can now for example -- launch the REPL (`goalc`), or the game (`gk`) and attach breakpoints.
![](/docs/img/editors/zed/zed-run-example.png)
![](/docs/img/editors/zed/zed-debugger.png)