aBothe / Mono-D

D Add-In for MonoDevelop
http://wiki.dlang.org/Mono-D
Other
113 stars 26 forks source link

Linked source files are not parsed for autocompletion #591

Closed tcak closed 9 years ago

tcak commented 9 years ago

I have a folder with lots of modules in it. I use these modules in many different projects. For this reason, I put that folder into projects as "linked" instead of copying or moving them. This way, if a module is modified, all projects become updated.

But, linked files are never used for autocompletion by Mono-D at all.

aBothe commented 9 years ago

Any chance of getting parts of your project? Normally, there are linked files included...ah, but not directories.

tcak commented 9 years ago

Any ordinary module will do. I right click on project on "Solution" window, then "Add -> Add existing folder...". I select the folder, and click OK. It asks me to choose which modules to use from that folder in a TreeView. Then, asks me whether to "Move", "Copy" or "Link" those modules. I select "Link".

All modules in a TreeView are shown in the "Solution" window together with subfolder names, etc. They have very tiny green symbol on them indicating that those modules are linked. But as I said, they are not parsed at all for autocompletion.

tcak commented 9 years ago

Hmm. To be honest, after updating to v2.9, problem persists. I even created a new project to see whether it was because I was testing on an old project. But, nothing has changed.

Here is a list of my observations:

  1. If I add an existing folder to my project by copying, until opening a module inside of that folder, neither folder as a package is found, nor the module. I have a main.d file, and after adding the folder, I start typing package name to see whether those modules are parsed.
  2. If I remove a copied folder from project ("Remove from Project" not "Delete"), if modules of that folder has already been parsed, even it is removed, module information is found in autocompletion still. I close MonoDevelop, and open it again. But it persists until I delete that copied folder from Project's base path completely, and restart MonoDevelop.
  3. Above things are for copied folders. If the folder is added by linking, they do not appear for autocompletion at all no matter what I do as this was the purpose of this thread.

I do not know how the plugin system of MonoDevelop works though, even if reparsing was to be done when "Refresh" is clicked, that would still solve some problems.

aBothe commented 9 years ago

Meh, I guess I have to redesign all this package caching stuff..