openfl / lime-vscode-extension

Visual Studio Code extension for OpenFL and Lime projects written in Haxe
https://marketplace.visualstudio.com/items?itemName=openfl.lime-vscode-extension
MIT License
27 stars 4 forks source link

No actual build is done #35

Closed Eiyeron closed 6 years ago

Eiyeron commented 6 years ago

Hello. I'm currently using this extension (using the version on the extension stroe. Everything works minus one specific step in the process: no build is actually done in both tasks.

The lime test neko -debug --connect 6000 doesn't build at all. If there is an error in the code, it won't even be notified. I don't know what it is trying to connect to but what it only does is launching the last built version (or crash due to lacking .objs file -precisely ApplicationMain.n- on a clean project folder)

I have to manually do lime test neko (with or without -debug) in the console (lime is in PATH, so no issues here).

I mostly noted the issue on Windows but I'll give a try on linux again later. The project.xml file is the same as HXFlixel's, with flixel-addons haxelib option uncommented. I wonder if it's a misconfiguration from my part or just an issue within the extension.

Have a nice day.

Gama11 commented 6 years ago

Does it work with "haxe.enableCompilationServer": false in your settings (no --connect should appear anymore)?

Is your vshaxe version up-to-date (1.11.0)?

Also check the Haxe output channel for potential errors: https://github.com/vshaxe/vshaxe/wiki/Troubleshooting#completion-doesnt-work-at-all

Eiyeron commented 6 years ago

It works with setting the configuration flag to false. My vs-haxe is up to date

The server doesn't seem to react to the build step if I launch the build task with the flag to true.

Gama11 commented 6 years ago

Can you check the Haxe output channel? You should see some output like this:

Haxe language server started
Initializing completion cache...
Listening on port 6000
Done.

The port should match what's added by --connect. When you launch the task with --connect it should print this:

Client connected

And finally, when the build finished:

Client disconnected
Gama11 commented 6 years ago

Btw, what Haxe version are you running?

Eiyeron commented 6 years ago

I'm running 3.4.7. The server doesn't even react when the task launches even though it listens on port 6000

Gama11 commented 6 years ago

What does the output channel's output look like if you enable verbose mode?

"haxe.displayServer": {
    "arguments": ["-v"]
}

This is pretty strange.. I wonder if you're having some Windows Firewall issue where ports are blocked or something... Perhaps try turning that off temporarily to see if it helps?

Eiyeron commented 6 years ago
Processing Arguments [--cwd,e:/Dev/Haxe/Flixel/Textbox,-main,ApplicationMain,-cp,E:/Dev/Haxe/HaxeToolkit/haxe/lib/flixel/4,3,0,-D,flixel=4.3.0,-cp,E:/Dev/Haxe/HaxeToolkit/haxe/lib/openfl/3,6,1,-D,openfl=3.6.1,-cp,E:/Dev/Haxe/HaxeToolkit/haxe/lib/lime/2,9,1,-D,lime=2.9.1,--macro,keep('IntIterator'),-cp,E:/Dev/Haxe/HaxeToolkit/haxe/lib/hscript/2,1,1,-D,hscript=2.1.1,-cp,E:/Dev/Haxe/HaxeToolkit/haxe/lib/flixel-addons/2,5,0,-D,flixel-addons=2.5.0,-cp,source,-cp,E:\Dev\Haxe\HaxeToolkit\haxe\lib\openfl/3,6,1/extern,-D,HXCPP_QUIET,-D,openfl-next,-D,tools=2.9.1,-D,NAPE_NO_INLINE,-D,no-compilation,-D,native,-D,FLX_NO_TOUCH,-D,lime-native,-D,openfl-native,-D,windows,-D,desktop,--remap,flash:openfl,--macro,flixel.system.macros.FlxDefines.run(),-cp,export/windows/neko/haxe,-neko,export/windows/neko/obj/ApplicationMain.n,--macro,keep("Main"),-debug,-D,display,-D,display-details,--no-output,--display,e:/Dev/Haxe/Flixel/Textbox/source/PlayState.hx@0@diagnostics]
Defines FLX_NO_TOUCH=1,HXCPP_QUIET=1,NAPE_NO_INLINE=1,dce=std,debug=1,desktop=1,display-details=1,display=1,display_details=1,flixel-addons=2.5.0,flixel=4.3.0,flixel_addons=2.5.0,haxe3=1,haxe_ver=3.407,hscript=2.1.1,lime-native=1,lime=2.9.1,lime_native=1,native=1,neko=1,no-compilation=1,no_compilation=1,no_copt=1,openfl-native=1,openfl-next=1,openfl=3.6.1,openfl_native=1,openfl_next=1,source-header=Generated by Haxe 3.4.7,sys=1,tools=2.9.1,true=1,windows=1
Using signature e8393497bd8ba7fd34c33196236f1cc1
Display position: e:\dev\haxe\flixel\textbox\source\playstate.hx: 0-0
 0,  n: skipping ApplicationMain(textbox.Textbox)
 0,  n: parsed e:\dev\haxe\flixel\textbox\export\windows\neko\haxe\applicationmain.hx (not cached, using "display" define)
 0,  n: skipping Main(textbox.Textbox)
 0,  n: skipping PlayState
 0,  n: parsed e:\dev\haxe\flixel\textbox\source\playstate.hx (not cached, is display file)
 0,  n: skipping textbox.Textbox
Completion Response =
[]
Stats = 2 files, 4 classes, 20 methods, 3 macros
Time spent : 0.155s

It seems to get the build command but skips everything for some reason (I turned back the enable compilation flag).

Edit: here I edited a variable PlayState so I could see the difference.

Gama11 commented 6 years ago

That's not the build command, that's a request to get diagnostics information from the Haxe server. You can tell by this at the end of the arguments list:

--display,e:/Dev/Haxe/Flixel/Textbox/source/PlayState.hx@0@diagnostics

But yeah, even without verbose mode you should see Client connected, so for some reason it can't connect...

I wonder, does the following work for you?

Eiyeron commented 6 years ago

image

Nothing really fancy (I have seen those warnings for years now, so they're off the hook on this one)

Edit: next time, I'll think of stretching down the terminals, my bad.

Gama11 commented 6 years ago

Hm, so that's working then... haxe --wait <port> is not quite the same as what vshaxe does internally. Still not sure if it could perhaps be a firewall issue.

Just a wild guess, but this is interesting: https://stackoverflow.com/a/21230911/2631715 - vshaxe doesn't explicitly specify localhost, so that might be the issue. netstat -a -n confirms that:

 TCP    [::]:6000              [::]:0

While for the haxe --wait server, 127.0.0.0 is used:

 TCP    127.0.0.1:7000         0.0.0.0:0

Could you give the following a shot?

Eiyeron commented 6 years ago

Sorry, I can't try this on the computer where the issue is located now. If I don't forget, I'll give you feed back next Monday.

Thanks for your support and have a nice weekend!

Gama11 commented 6 years ago

Thanks! For now I've committed that change, it seems more correct either way: https://github.com/vshaxe/haxe-languageserver/commit/085e571306e7db67b6042bfac0fb142d9b898009

Gama11 commented 6 years ago

Any luck with the manually applied patch?

Eiyeron commented 6 years ago

Hello. Yeah, it works with the applied patch.

I also suspect a conflict with this computer's firewall policies or another program that already uses the port.

Thanks for the patch and the support!

Gama11 commented 6 years ago

Nice, thanks for confirming! :) We might want to release the next version a bit sooner then to avoid others running into this.

cruzlutor commented 6 years ago

Hello folks! Any news on this?, I'm having the same issue

image Nothing happens, and also windows is using that port I think TCP 127.0.0.1:6000 0.0.0.0:0 LISTENING

Gama11 commented 6 years ago

The fix for this was released with vshaxe 1.12.0. Your output looks good actually.

cruzlutor commented 6 years ago

But it does not raise the server, when I run lime: run html5 I just get: Executing task: lime run html5 --connect 6000 But nothing else happens

Gama11 commented 6 years ago

I'm not sure what the problem could be right now, but it must be different from what was originally reported in this issue. As mentioned earlier here, you can just turn off the compilation server if you need a workaround.