[webkit-dev] How to set up Intellisense-ish code completion/suggestions for editing WebKit sources on macOS?

Patrick Griffis pgriffis at igalia.com
Thu Nov 11 07:49:42 PST 2021

On 2021-11-11 02:48, Michael[tm] Smith via webkit-dev wrote:
> Can anyone recommend a combination of text-editor/IDE, plugins/tooling
> (e.g., language server), and settings/config that’ll enable me to have
> usable code-(auto)completion/suggestions (like Intellisense, etc.) when
> editing WebKit sources in a macOS environment?
> Anyway, the last thing I’ve been trying is Visual Studio Code. In that I
> tried with both the clangd extension and the ccls extension, but ended up
> having basically the same problems I have with the vim integrations.
> So I switched back to trying the Microsoft-provided C/C++ Intellisense
> extension (cpptools), and found that seems to work better than the clangd
> or ccls extensions — at least so far as it seems to be able to at last
> partially resolve the header include references. But then it too seems to
> stumble on not being able to find some headers it needs.
> For example, I think I’ve been able to make it figure out #include "config.h" —
> but then the next problem I hit is stuff like this:
>   cannot open source file "JavaScriptCore/JSExportMacros.h"
> (dependency of "config.h")
> ...And then anyway, again, ultimately, no completion suggests when I put a dot
> after a particular object name I want to get the function and data-member
> suggestions for. (It seems to work for some objects, but not others.)
> So I’m hoping others here might have something working successfully in
> their environments that gives them proper completion suggestions on member-
> function names and data-member names.
>   –Mike

This may be of limited use to you because I am on Linux but may be
useful information in general. It works here using Visual Studio Code
with the Cmake Tools and ccls extensions installed.

Header detection works, references work (including basic refactoring),
intellisense works (not super fast but functional), debugging with GDB
works (connecting to gdbserver with Microsoft's C++ extension for that).

I had the exact same header issues as you with only Microsofts C++
extension. I have done no configuration to ccls.

More information about the webkit-dev mailing list