⚠️ This page is still new and continuously growing. Latest update: March 6, 2023
You can always write at firstname.lastname@example.org to get personal support.
Have a look at this showcase.
Install Codeface from the Mac App Store. Then download and open one of theses files.
To see dependency arrows and symbols, Codeface must talk to LSPService while importing a code folder. LSPService is a free open-source webservice that you can download and run on your machine. It can launch LSP servers and thereby provide Codeface detailed information about codebases of virtually all languages.
This tutorial describes how to setup and use LSPService.
Note that automatic Swift support only works for Swift packages, since Apple's LSP server does not support Xcode projects. More on trouble shooting for Swift code is down here.
Have a look at this tutorial.
And indeed it is more cumbersome than we would have liked. Because of the App Store rules, it took a lot of work to make Codeface available in the App Store at all without losing its ability to leverage LSP servers. Another recent attempt to replace LSPService by an integrated XPC service also failed.
However, we're working on making LSP server integration easier on multiple fronts. For example, 1) LSPService will be signed, so its installation becomes smoother and 2) You'll be able to configure LSPService via a graphical interface from within Codeface. Because of these efforts, significant new features are currently all on hold.
When using an LSP server, importing larger codebases does indeed take long because requests to LSP servers can not generally be made in parallel.
You can accelerate loading a codebase visualization again by saving it to a .codebase file. Such a file stores a whole codebase, including all the data retrieved from an LSP server. Loading a codebase from file is much faster. So when you don't need to update the visualization, you can open it in Codeface without waiting for the LSP server.
Codeface can import any code folder. But it can not open, import or otherwise know anything about Xcode projects. This is because Apple's LSP server does not support Xcode projects but only Swift packages.
We suspect that Apple's LSP server will never support Xcode projects but that instead the Swift Package Manager might some day support app targets and thereby more or less replace Xcode project files.
If your code is in an Xcode project, you can use a little "trick" to visualize it: Extract as much of it as possible into one or multiple local Swift packages. Many developers do that anyway to speed up compiles and to manifest/enforce architectural boundaries.
As described in this tutorial under "Add Language Support", you have to
`swift build` the package from the terminal before importing it into a .codebase file. This will update what Apple's LSP server can "see" during the import.
Sometimes, it's also necessary to delete the hidden ".build" folder inside the package folder before building the package. You can show and hide hidden files on macOS via shift + ⌘ + . (Shift + Command + Dot).