HaxeFoundation / intellij-haxe

Haxe plugin for IntelliJ Platform based IDEs (IDEA, Android-Studio)
http://intellij-haxe.org
Apache License 2.0
222 stars 100 forks source link

Completion wrong class path #596

Open mayakwd opened 7 years ago

mayakwd commented 7 years ago

Got completion error:

Compiler completion error: (Invalid commandline class) src.game.systems.attack.AttackSystem should be game.systems.attack.AttackSystem

Maybe I should configure project in specific way? Directory src is marked as sources root.

EricBishton commented 7 years ago

I get that when I'm using the "Compile with: Haxe Compiler" setting in Project Settings->Module and I don't have any parameters specified. If I add "project.hxml" to the "Parameters:" line, then things start working. Of course, the hxml must be correct, too...

If that doesn't fix it, please answer the following: What is the build configuration for your Modules in Project Settings? Are there any directives in your project.xml (or .hxml, or .nmml) that attempt to set the directory? Is your .iml file one directory above src?

mayakwd commented 7 years ago

Yep .iml is above src directory, I'm using openfl compilation (4th tab), and the only field is set is OpenFL Project XML: editor.xml (it's above of src too), btw I have project.xml too.

Both of xml files contains directive:

<source path="src"/>

mayakwd commented 7 years ago

Well, I guess completion won't work with project configured as OpenFL? I've changed editor.xml to project.xml and there is new error:

Compiler completion error: Could not process argument _/\\\\\\______________________________________________

It's a part of intro message of lime build tools.

EricBishton commented 7 years ago

I've tested the plugin using OpenFL and it works fine for me.

The plugin calls lime tools via 'haxelib run lime display' to get a list of the command line definitions that are later passed directly to the haxe compiler. In all of my testing, I have not seen the lime banner in that output. Maybe it's just because I'm testing using OpenFL from the git repository. What version of OpenFL are you using?

mayakwd commented 7 years ago

openfl 4.9.2 lime 4.0.3

mayakwd commented 7 years ago

Well, I still haven't found the solution for this problem, on different projects I've got different behaviour. I'll close the issue till it's not became more clear.

EricBishton commented 7 years ago

By different behavior, you mean it's working?

What platform are you using, by the way? Mac, Windows, Linux?

EricBishton commented 7 years ago

Also, I just noticed that you saw the lime output when you renamed your .xml from editor.xml to project.xml. Do I have that right?

The name 'project.xml' does not appear in the sources, except for comments, but there may be a bug updating the field if you had originally used that name in the module settings dialog and later changed it.

mayakwd commented 7 years ago

Hello, Eric. Yes you are right - it's working on some projects. Nope I have two files: project.xml (it's basic configuration for game) and editor.xml. I've faced with this problem on both my platforms Windows and Mac

EricBishton commented 7 years ago

Interestingly, with Haxe 3.2, I'm seeing this if there is an error in the sources. For instance, if I declare a class like so:

class newClass<T:Map> {}

I will see the src.ClassFile.hx should be ClassFile.hx error. But, if I correct the code:

class newClass<T:Map<K,V>> {}

The error message disappears and code completion works. This occurs whether the completion involves the errant class or not. The error message coming from the compiler is incorrect (or we're only displaying the first error line and the real error is buried the the compiler response).

SyedAsimAliSE commented 5 years ago

hi,

i got into the same exact Compiler completion error: Could not process argument errors

Details:

it's a brand new project set for OpenFL, i am able to compile and run it from the Terminal but not from the configuration tab, when pressing run button in the IDE, with the following settings .

i also tried to provide .hxml file paths to the configuration settings, but i don't know if i am missing something or this is not possible currently.

Error Message :

image

Details:

Intellij version = 2019.2.1 Community Edition OS = Window 10 Enterprise Edition Haxe = Haxe Compiler 4.0.0-rc.3 OpenFL = 8.9.2

Module .iml file

<?xml version="1.0" encoding="UTF-8"?>
<module type="HAXE_MODULE" version="4">
  <component name="HaxeModuleSettingsStorage">
    <option name="buildConfig" value="3" />
    <option name="openFLPath" value="$MODULE_DIR$/project.xml" />
    <option name="openFLTarget" value="HTML5" />
    <option name="outputFolder" value="$APPLICATION_HOME_DIR$/jbr/bin" />
  </component>
  <component name="NewModuleRootManager">
    <output url="file://" />
    <exclude-output />
    <content url="file://$MODULE_DIR$">
      <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
    </content>
    <orderEntry type="jdk" jdkName="Haxe" jdkType="Haxe toolkit" />
    <orderEntry type="sourceFolder" forTests="false" />
    <orderEntry type="library" name="OpenFL" level="project" />
    <orderEntry type="library" name="Lime" level="project" />
  </component>
</module>

Module Settings :

image

Run Configuration :

image

Thank you