Classes in SFDX subdirectories cannot be resolved
When classes are stored in subdirectories of a SFDX project, Illuminated Cloud is not able to resolve them. They are colored red for “Cannot resolve symbol”, and their methods cannot be autocompleted. This is true even after rebuilding a full symbol table. Illuminated Cloud is able to autocomplete their names, it knows they exist, but can’t figure out how to use them.
Comments (6)
-
repo owner -
reporter The class might be in
force-app/main/default/classes/api
The
.iml
looks like this:<?xml version="1.0" encoding="UTF-8"?> <module type="IlluminatedCloud" version="4"> <component name="FacetManager"> <facet type="IlluminatedCloud" name="Illuminated Cloud"> <configuration> <option name="connectionName" value="connection-name@example.com" /> <option name="connectionType" value="SFDX" /> <option name="moduleContents"> <ModuleContents> <option name="contentSelectionType" value="SELECTED" /> </ModuleContents> </option> </configuration> </facet> </component> <component name="NewModuleRootManager"> <content url="file://$MODULE_DIR$"> <sourceFolder url="file://$MODULE_DIR$" isTestSource="false" /> <excludeFolder url="file://$MODULE_DIR$/.sfdx/tools/sobjects" /> <excludeFolder url="file://$MODULE_DIR$/.sfdx/typings" /> <excludeFolder url="file://$MODULE_DIR$/.tmp" /> <excludeFolder url="file://$MODULE_DIR$/temp" /> <excludeFolder url="file://$MODULE_DIR$/tmp" /> </content> <orderEntry type="jdk" jdkName="IlluminatedCloud (projectname/connection-name@example.com)" jdkType="IlluminatedCloud" /> <orderEntry type="sourceFolder" forTests="false" /> </component> </module>
-
repo owner It looks like you have the root directory selected as a source root. You might remove that and add
force-app/main/default
as well as any other path that contains source files, e.g.,force-app/test/default
if you're segregating production source from test source.Let me know if that doesn't help.
-
reporter Replaced
<sourceFolder url="file://$MODULE_DIR$" isTestSource="false" />
with<sourceFolder url="file://$MODULE_DIR$/force-app/main/default" isTestSource="false" />
. Generated full offline symbol table. Same issue. -
repo owner Okay, I'll need to see your
idea.log
to see what's going on. Can you get that using Help>Show Log in Explorer/Finder/Files and either attach it here or email it to support@illuminatedcloud.com?One other thing to check as you do so...what version of the base IDE are you running? If it's not up-to-date, please update it as there have been breaking plugin SDK changes that could be contributing to the issue. If you're definitely up-to-date and the problem is still occurring, send me the log as requested above.
-
reporter - changed status to resolved
Issue resolved over a call. It was a case of duplicate classes across folders.
- Log in to comment
Hi, Ilija. The most common reason for this is that the classes are not being stored in a formal source directory. Can you provide your
.iml
file for this project and tell me the project-relative path of one of the classes which is not being resolve properly?