code-d
code-d copied to clipboard
Navigating to dub dependency modules / symbols not possible
While I am able to navigate to symbols/modules from my project and phobos/druntime by left mouse clicking on the source code symbol + CTRL this is not possible for symbols from dub dependencies like dunit.
I assume while starting DCD Server, the dub dependency paths have to be passed as arguments.
possible duplicate of/related to #276 ?
I think I have 2 problems:
-
I can see in the logs, that DCD Server Import is executed for my project and the dependencies of the default configuration (the first configuration in the JSON Array list, which is my local build config). But d-unit is not in this list, as it is only in the unittest configuration mentioned as dependency. I also tried to switch the active configuration in VSC in the bottom menu bar, but this does not trigger a new DCD Server Import action. Navigating to d-unit is possible if I add it to the default configuration.
-
In my default configuration I have a dependency to a sub package
arsd-official:terminal. Although it is mentioned in the DCD Import action (I can see it in the logs) it is not working. Either specifying sub packages is not working or it is related to the way Adam is structuring his dub package. There is no "arsd" folder although you can import the modules likeimport arsd.terminal;. This is possible by using the "mv" argument.
{
"name": "terminal",
"description": "Cross-platform Terminal I/O with color, mouse support, real time input, etc.",
"targetType": "library",
"sourceFiles": ["terminal.d"],
"importPaths": ["."],
"dflags": ["-mv=arsd.terminal=terminal.d"]
}
ah yes good points.
- Until recently I didn't know you could have dependencies per-configuration so this isn't yet supported very well
- arsd is one of these packages using "sourceFiles" to specify the files which is not supported (the feature got into DCD a while back, but the memory usage in bigger projects is way too insane to actually enable this)