code-d icon indicating copy to clipboard operation
code-d copied to clipboard

Autocomplete not working, can’t resolve modules

Open 0zl opened this issue 1 year ago • 4 comments

I just installed the DMD Compiler to start learning and writing some simple D applications. I followed the instructions, but I’m having trouble getting autocomplete to work in VS Code.

From the code-d editor output, it looks like the extension might be having issues resolving the module/standard library (maybe).

Reproduce

  1. Initialize a Dub project using either the code-d command or dub init.
  2. Write some basic code:
import std.stdio;

void main()
{
    writeln("Hello, World!");
    writeln("This is a D program.");
}

Editor Output

[warning] C:\Users\runneradmin\AppData\Local\dub\packages\dsymbol\0.11.3\dsymbol\src\dsymbol\conversion\first.d:384:visit Could not locate object.d or object.di
[warning] C:\Users\runneradmin\AppData\Local\dub\packages\dsymbol\0.11.3\dsymbol\src\dsymbol\conversion\first.d:481:visit Could not resolve location of module 'std\stdio'

Additional Information

  • OS: Windows 10
  • DMD Installation: Installed via Scoop (scoop install dmd)
  • DMD Version: DMD64 D Compiler v2.109.1
  • Editor: Visual Studio Code

I noticed the user in the error path is runneradmin, which is different from my Windows username. Not sure if that’s expected or if it’s related to the issue.

I’m new to D, so apologies if I’m missing something obvious.

0zl avatar Dec 28 '24 18:12 0zl

I am unfamiliar with Scoop, and this might be a Scoop issue. If you know where Scoop installed DMD, search for "@ext:webfreak.code-d path" in VS Code Settings and specify the Dmd Path accordingly, perhaps that helps.

veelo avatar Jan 15 '25 10:01 veelo

I am unfamiliar with Scoop, and this might be a Scoop issue. If you know where Scoop installed DMD, search for "@ext:webfreak.code-d path" in VS Code Settings and specify the Dmd Path accordingly, perhaps that helps.

Never mind, finding DMD is not your issue. DMD cannot find its runtime library, which I suspect is an installation issue.

veelo avatar Jan 15 '25 10:01 veelo

I have the same problem on Fedora Linux 42. I can use DMD fine in the terminal.

The only warning I see is

[warning] first.d:384:visit Could not locate object.d or object.di

Fixed by switching to serve-d beta in settings.

zefir-git avatar Sep 01 '25 12:09 zefir-git

Bumping this. Having the same issue on ARM macOS Tahoe (which I know was causing other problems in the D world). Things I've tried that didn't fix the problem:

  • I cloned the serve-d repo, built from tip of master, and pointed code-d to my manual build.
  • I added references to phobos and runtime library files in the d.stdlibpath setting for the extension.

Would appreciate if WebFreak could take a look! Thanks for your hard work on this project, really appreciate it as a D developer.

ericyoondotcom avatar Oct 24 '25 08:10 ericyoondotcom