jcward / vscode-haxe

Haxe language extension for Visual Studio Code
MIT License
64 stars 10 forks source link

Error: Display file does not exist #30

Open nsmarkop opened 8 years ago

nsmarkop commented 8 years ago

When I try to get autocompletion to work I get the error in the title.

build.hxml:

-main Test
-neko Test.n

Text.hx (I'm trying to get autocompletion on test):

class Test
{
    public static function main()
    {
        var test:String = "test";

        test.

        Sys.println(test);
    }
}

vscode-project.hxml:

#automatically generated do not edit
#@date Sat Apr 16 2016 13:49:12 GMT-0500 (Central Daylight Time)
-main Test
-neko Test.n
-cp c:\users\nsmar_~1\appdata\local\temp\ed15d25f472a2ccbc56c31bd0f9b0dcea08711d7

And then here's the output of the completion server:

PS E:\Projects\Test> haxe -v --wait 6000
Waiting on 127.0.0.1:6000
Client connected
Reading 8 bytes
Processing Arguments [--help]
> Haxe Compiler 3.2.1 - (C)2005-2015 Haxe Foundation
 Usage : haxe.exe -main <class> [-swf|-js|-neko|-php|-cpp|-as3] <output> [options]
 Options :
  -cp <path> : add a directory to find source files
  -js <file> : compile code to JavaScript file
  -swf <file> : compile code to Flash SWF file
  -as3 <directory> : generate AS3 code into target directory
  -neko <file> : compile code to Neko Binary
  -php <directory> : generate PHP code into target directory
  -cpp <directory> : generate C++ code into target directory
  -cs <directory> : generate C# code into target directory
  -java <directory> : generate Java code into target directory
  -python <file> : generate Python code as target file
  -xml <file> : generate XML types description
  -main <class> : select startup class
  -lib <library[:version]> : use a haxelib library
  -D <var> : define a conditional compilation flag
  -v : turn on verbose mode
  -debug : add debug information to the compiled code
  -dce [std|full|no] : set the dead code elimination mode
  -swf-version <version> : change the SWF version
  -swf-header <header> : define SWF header (width:height:fps:color)
  -swf-lib <file> : add the SWF library to the compiled SWF
  -swf-lib-extern <file> : use the SWF library for type checking
  -java-lib <file> : add an external JAR or class directory library
  -net-lib <file>[@std] : add an external .NET DLL file
  -net-std <file> : add a root std .NET DLL search path
  -c-arg <arg> : pass option <arg> to the native Java/C# compiler
  -x <file> : shortcut for compiling and executing a neko file
  -resource <file>[@name] : add a named resource file
  -prompt : prompt on error
  -cmd : run the specified command after successful compilation
  --flash-strict : more type strict flash API
  --no-traces : don't compile trace calls in the program
  --gen-hx-classes : generate hx headers for all input classes
  --next : separate several haxe compilations
  --each : append preceding parameters to all haxe compilations separated by --next
  --display : display code tips
  --no-output : compiles but does not generate any file
  --times : measure compilation times
  --no-inline : disable inlining
  --no-opt : disable code optimizations
  --php-front <filename> : select the name for the php front file
  --php-lib <filename> : select the name for the php lib folder
  --php-prefix <name> : prefix all classes with given name
  --remap <package:target> : remap a package to another one
  --interp : interpret the program using internal macro system
  --macro  : call the given macro before typing anything else
  --eval  : evaluates argument as Haxe module code
  --wait <[host:]port> : wait on the given port for commands to run)
  --connect <[host:]port> : connect on the given port and run commands there)
  --cwd <dir> : set current working directory
  -version : print version and exit
  --help-defines : print help for all compiler specific defines
  --help-metas : print help for all compiler metadatas
  -help  Display this list of options
  --help  Display this list of options

Cached 0 modules
Stats = 0 files, 0 classes, 0 methods, 0 macros
Time spent : 0.010s
Client connected
Reading 16 bytes
Processing Arguments [--help-defines]
Cached 0 modules
Stats = 0 files, 0 classes, 0 methods, 0 macros
Time spent : 0.003s
Client connected
Reading 14 bytes
Processing Arguments [--help-metas]
Cached 0 modules
Stats = 0 files, 0 classes, 0 methods, 0 macros
Time spent : 0.003s
Client connected
Reading 19 bytes
Processing Arguments [--display,keywords]
> Main.Completion("<list>\n<i n=\"abstract\"><t></t><d></d></i>\n<i n=\"break\"><t></t><d></d></i>\n<i n=\"case\"><t></t><d></d></i>\n<i n=\"cast\"><t></t><d></d></i>\n<i n=\"catch\"><t></t><d></d></i>\n<i n=\"class\"><t></t><d></d></i>\n<i n=\"continue\"><t></t><d></d><
/i>\n<i n=\"default\"><t></t><d></d></i>\n<i n=\"do\"><t></t><d></d></i>\n<i n=\"dynamic\"><t></t><d></d></i>\n<i n=\"else\"><t></t><d></d></i>\n<i n=\"enum\"><t></t><d></d></i>\n<i n=\"extends\"><t></t><d></d></i>\n<i n=\"extern\"><t></t><d></d></i>\n<i n=\"false\"><t><
/t><d></d></i>\n<i n=\"for\"><t></t><d></d></i>\n<i n=\"function\"><t></t><d></d></i>\n<i n=\"if\"><t></t><d></d></i>\n<i n=\"implements\"><t></t><d></d></i>\n<i n=\"import\"><t></t><d></d></i>\n<i n=\"in\"><t></t><d></d></i>\n<i n=\"inline\"><t></t><d></d></i>\n<i n=\"i
nterface\"><t></t><d></d></i>\n<i n=\"macro\"><t></t><d></d></i>\n<i n=\"new\"><t></t><d></d></i>\n<i n=\"null\"><t></t><d></d></i>\n<i n=\"override\"><t></t><d></d></i>\n<i n=\"package\"><t></t><d></d></i>\n<i n=\"private\"><t></t><d></d></i>\n<i n=\"public\"><t></t><d>
</d></i>\n<i n=\"return\"><t></t><d></d></i>\n<i n=\"static\"><t></t><d></d></i>\n<i n=\"switch\"><t></t><d></d></i>\n<i n=\"this\"><t></t><d></d></i>\n<i n=\"throw\"><t></t><d></d></i>\n<i n=\"true\"><t></t><d></d></i>\n<i n=\"try\"><t></t><d></d></i>\n<i n=\"typedef\">
<t></t><d></d></i>\n<i n=\"untyped\"><t></t><d></d></i>\n<i n=\"using\"><t></t><d></d></i>\n<i n=\"var\"><t></t><d></d></i>\n<i n=\"while\"><t></t><d></d></i>\n</list>\n")
Stats = 0 files, 0 classes, 0 methods, 0 macros
Time spent : 0.081s
Client connected
Reading 58 bytes
Processing Arguments [--cwd,e:\Projects\Test,vscode-project.hxml,--no-output]
Parsed c:\haxetoolkit\haxe\std\stdtypes.hx
Parsed c:\haxetoolkit\haxe\std\neko\_std\string.hx
Parsed c:\haxetoolkit\haxe\std\neko\_std\array.hx
Parsed c:\haxetoolkit\haxe\std\haxe\enumtools.hx
Parsed c:\haxetoolkit\haxe\std\neko\_std\std.hx
Parsed c:\users\nsmar_~1\appdata\local\temp\ed15d25f472a2ccbc56c31bd0f9b0dcea08711d7\test.hx
Parsed c:\haxetoolkit\haxe\std\class.hx
Parsed c:\haxetoolkit\haxe\std\enumvalue.hx
Parsed c:\haxetoolkit\haxe\std\enum.hx
Parsed c:\haxetoolkit\haxe\std\neko\nativearray.hx
Parsed c:\haxetoolkit\haxe\std\neko\lib.hx
Parsed c:\haxetoolkit\haxe\std\haxe\io\bytes.hx
Parsed c:\haxetoolkit\haxe\std\haxe\io\bytesdata.hx
Parsed c:\haxetoolkit\haxe\std\neko\nativestring.hx
Parsed c:\haxetoolkit\haxe\std\haxe\int64.hx
Parsed c:\haxetoolkit\haxe\std\haxe\int32.hx
Parsed c:\haxetoolkit\haxe\std\neko\boot.hx
Parsed c:\haxetoolkit\haxe\std\intiterator.hx
Parsed c:\haxetoolkit\haxe\std\haxe\io\error.hx
Parsed c:\haxetoolkit\haxe\std\haxe\io\fphelper.hx
Parsed c:\haxetoolkit\haxe\std\neko\vm\tls.hx
Parsed c:\haxetoolkit\haxe\std\haxe\io\bytesinput.hx
Parsed c:\haxetoolkit\haxe\std\haxe\io\input.hx
Parsed c:\haxetoolkit\haxe\std\haxe\io\eof.hx
Parsed c:\haxetoolkit\haxe\std\haxe\io\bytesbuffer.hx
Parsed c:\haxetoolkit\haxe\std\neko\_std\stringbuf.hx
Parsed c:\haxetoolkit\haxe\std\neko\_std\type.hx
Parsed c:\haxetoolkit\haxe\std\neko\_std\reflect.hx
Parsed c:\haxetoolkit\haxe\std\haxe\constraints.hx
Parsed c:\haxetoolkit\haxe\std\neko\_std\math.hx
Parsed c:\haxetoolkit\haxe\std\neko\_std\sys.hx
Parsed c:\haxetoolkit\haxe\std\haxe\io\output.hx
Parsed c:\haxetoolkit\haxe\std\map.hx
Parsed c:\haxetoolkit\haxe\std\neko\_std\haxe\ds\stringmap.hx
Parsed c:\haxetoolkit\haxe\std\neko\_std\haxe\ds\intmap.hx
Parsed c:\haxetoolkit\haxe\std\haxe\ds\hashmap.hx
Parsed c:\haxetoolkit\haxe\std\neko\_std\haxe\ds\objectmap.hx
Parsed c:\haxetoolkit\haxe\std\haxe\ds\weakmap.hx
Parsed c:\haxetoolkit\haxe\std\haxe\ds\enumvaluemap.hx
Parsed c:\haxetoolkit\haxe\std\haxe\ds\balancedtree.hx
Parsed c:\haxetoolkit\haxe\std\list.hx
Parsed c:\haxetoolkit\haxe\std\neko\_std\sys\io\fileinput.hx
Parsed c:\haxetoolkit\haxe\std\neko\_std\sys\io\file.hx
Parsed c:\haxetoolkit\haxe\std\sys\io\fileseek.hx
Parsed c:\haxetoolkit\haxe\std\neko\_std\sys\io\fileoutput.hx
Parsed c:\haxetoolkit\haxe\std\stdtypes.hx
Parsed c:\haxetoolkit\haxe\std\string.hx
Parsed c:\haxetoolkit\haxe\std\array.hx
Parsed c:\haxetoolkit\haxe\std\haxe\enumtools.hx
Parsed c:\haxetoolkit\haxe\std\sys\io\fileoutput.hx
Parsed c:\haxetoolkit\haxe\std\haxe\io\output.hx
Parsed c:\haxetoolkit\haxe\std\haxe\io\bytes.hx
Parsed c:\haxetoolkit\haxe\std\haxe\io\input.hx
Parsed c:\haxetoolkit\haxe\std\sys\io\fileseek.hx
Parsed c:\haxetoolkit\haxe\std\haxe\io\bytesdata.hx
Parsed c:\haxetoolkit\haxe\std\haxe\int64.hx
Parsed c:\haxetoolkit\haxe\std\haxe\int32.hx
Parsed c:\haxetoolkit\haxe\std\enumvalue.hx
Parsed c:\haxetoolkit\haxe\std\enum.hx
Parsed c:\haxetoolkit\haxe\std\type.hx
Parsed c:\haxetoolkit\haxe\std\class.hx
Parsed c:\haxetoolkit\haxe\std\std.hx
Parsed c:\haxetoolkit\haxe\std\haxe\io\error.hx
Parsed c:\haxetoolkit\haxe\std\intiterator.hx
Parsed c:\haxetoolkit\haxe\std\haxe\io\fphelper.hx
Parsed c:\haxetoolkit\haxe\std\math.hx
Parsed c:\haxetoolkit\haxe\std\haxe\io\bytesinput.hx
Parsed c:\haxetoolkit\haxe\std\haxe\io\eof.hx
Parsed c:\haxetoolkit\haxe\std\stringbuf.hx
Parsed c:\haxetoolkit\haxe\std\stringtools.hx
Parsed c:\haxetoolkit\haxe\std\haxe\io\bytesbuffer.hx
Parsed c:\haxetoolkit\haxe\std\sys\io\file.hx
Parsed c:\haxetoolkit\haxe\std\sys\io\fileinput.hx
Parsed c:\haxetoolkit\haxe\std\haxe\ds\stringmap.hx
Parsed c:\haxetoolkit\haxe\std\haxe\constraints.hx
Parsed c:\haxetoolkit\haxe\std\haxe\ds\intmap.hx
Parsed c:\haxetoolkit\haxe\std\haxe\ds\objectmap.hx
Parsed c:\haxetoolkit\haxe\std\sys.hx
Parsed c:\haxetoolkit\haxe\std\map.hx
Parsed c:\haxetoolkit\haxe\std\haxe\ds\hashmap.hx
Parsed c:\haxetoolkit\haxe\std\haxe\ds\weakmap.hx
Parsed c:\haxetoolkit\haxe\std\haxe\ds\enumvaluemap.hx
Parsed c:\haxetoolkit\haxe\std\haxe\ds\balancedtree.hx
Parsed c:\haxetoolkit\haxe\std\reflect.hx
Cached 45 modules
Stats = 84 files, 85 classes, 715 methods, 0 macros
Time spent : 0.326s
Client connected
Reading 67 bytes
Processing Arguments [--cwd,e:\Projects\Test,vscode-project.hxml,--no-output,Test.hx]
Reusing  cached module StdTypes
Reusing  cached module String
Reusing  cached module Array
Reusing  cached module neko.NativeArray
Reusing  cached module neko.Lib
Reusing  cached module haxe.io.Bytes
Reusing  cached module haxe.io.BytesData
Reusing  cached module neko.NativeString
Reusing  cached module haxe.Int64
Reusing  cached module Std
Reusing  cached module Class
Reusing  cached module Enum
Reusing  cached module neko.Boot
Reusing  cached module IntIterator
Reusing  cached module Math
Reusing  cached module haxe.Int32
Reusing  cached module haxe.io.Error
Reusing  cached module haxe.io.FPHelper
Reusing  cached module neko.vm.Tls
Reusing  cached module haxe.io.BytesInput
Reusing  cached module haxe.io.Input
Reusing  cached module haxe.io.Eof
Reusing  cached module haxe.io.BytesBuffer
Reusing  cached module StringBuf
Reusing  cached module haxe.EnumTools
Reusing  cached module EnumValue
Reusing  cached module Type
Reusing  cached module Reflect
Reusing  cached module haxe.Constraints
File c:\users\nsmar_~1\appdata\local\temp\ed15d25f472a2ccbc56c31bd0f9b0dcea08711d7\test.hx has been modified
Skipping cached module Test
Parsed c:\users\nsmar_~1\appdata\local\temp\ed15d25f472a2ccbc56c31bd0f9b0dcea08711d7\test.hx
Reusing  cached module Sys
Reusing  cached module haxe.io.Output
Reusing  cached module Map
Reusing  cached module haxe.ds.StringMap
Reusing  cached module List
Reusing  cached module haxe.ds.IntMap
Reusing  cached module haxe.ds.HashMap
Reusing  cached module haxe.ds.ObjectMap
Reusing  cached module haxe.ds.WeakMap
Reusing  cached module haxe.ds.EnumValueMap
Reusing  cached module haxe.ds.BalancedTree
Reusing  cached module sys.io.FileInput
Reusing  cached module sys.io.File
Reusing  cached module sys.io.FileOutput
Reusing  cached module sys.io.FileSeek
Cached 45 modules
Stats = 1 files, 1 classes, 1 methods, 0 macros
Time spent : 0.130s
Client connected
Reading 67 bytes
Processing Arguments [--cwd,e:\Projects\Test,vscode-project.hxml,--no-output,Test.hx]
Reusing  cached module StdTypes
Reusing  cached module String
Reusing  cached module Array
Reusing  cached module neko.NativeArray
Reusing  cached module neko.Lib
Reusing  cached module haxe.io.Bytes
Reusing  cached module haxe.io.BytesData
Reusing  cached module neko.NativeString
Reusing  cached module haxe.Int64
Reusing  cached module Std
Reusing  cached module Class
Reusing  cached module Enum
Reusing  cached module neko.Boot
Reusing  cached module IntIterator
Reusing  cached module Math
Reusing  cached module haxe.Int32
Reusing  cached module haxe.io.Error
Reusing  cached module haxe.io.FPHelper
Reusing  cached module neko.vm.Tls
Reusing  cached module haxe.io.BytesInput
Reusing  cached module haxe.io.Input
Reusing  cached module haxe.io.Eof
Reusing  cached module haxe.io.BytesBuffer
Reusing  cached module StringBuf
Reusing  cached module haxe.EnumTools
Reusing  cached module EnumValue
Reusing  cached module Type
Reusing  cached module Reflect
Reusing  cached module haxe.Constraints
File c:\users\nsmar_~1\appdata\local\temp\ed15d25f472a2ccbc56c31bd0f9b0dcea08711d7\test.hx has been modified
Skipping cached module Test
Parsed c:\users\nsmar_~1\appdata\local\temp\ed15d25f472a2ccbc56c31bd0f9b0dcea08711d7\test.hx
Reusing  cached module Sys
Reusing  cached module haxe.io.Output
Reusing  cached module Map
Reusing  cached module haxe.ds.StringMap
Reusing  cached module List
Reusing  cached module haxe.ds.IntMap
Reusing  cached module haxe.ds.HashMap
Reusing  cached module haxe.ds.ObjectMap
Reusing  cached module haxe.ds.WeakMap
Reusing  cached module haxe.ds.EnumValueMap
Reusing  cached module haxe.ds.BalancedTree
Reusing  cached module sys.io.FileInput
Reusing  cached module sys.io.File
Reusing  cached module sys.io.FileOutput
Reusing  cached module sys.io.FileSeek
> c:\users\nsmar_~1\appdata\local\temp\ed15d25f472a2ccbc56c31bd0f9b0dcea08711d7/Test.hx:9: characters 8-11 : Unexpected Sys
Stats = 1 files, 1 classes, 1 methods, 0 macros
Time spent : 0.096s
Client connected
Waiting for data...
Reading 177 bytes
Processing Arguments [-D,display-details,--cwd,e:\Projects\Test,vscode-project.hxml,--no-output,--display,c:\users\nsmar_~1\appdata\local\temp\ed15d25f472a2ccbc56c31bd0f9b0dcea08711d7\Test.hx@115]
> Error: Display file does not exist
Stats = 0 files, 0 classes, 0 methods, 0 macros
Time spent : 0.066s
jcward commented 8 years ago

Interesting... the display file appears to be:

--display,c:\users\nsmar_~1\appdata\local\temp\ed15d25f472a2ccbc56c31bd0f9b0dcea08711d7\Test.hx

Which is acknowledged just above:

> c:\users\nsmar_~1\appdata\local\temp\ed15d25f472a2ccbc56c31bd0f9b0dcea08711d7/Test.hx:9: characters 8-11 : Unexpected Sys
Stats = 1 files, 1 classes, 1 methods, 0 macros

I wonder why it's now missing. Is there a sequence of events that causes this? I assume by your description that you've never actually seen it working?

You could try disabling the temp directory (set it to an empty string), and perhaps play with the haxeUseTmpAsWorkingDirectory setting (under File -> Preference -> User Settings):

    "haxe.haxeTmpDirectory": "auto",
    "haxe.haxeUseTmpAsWorkingDirectory": false,

@pleclech - any chance this could be related to PR #22 / #19?

pleclech commented 8 years ago

@jcward For the moment no idea, the temporary file is deleted when the real save occurred. Was the display processed just right before the save ? Is this occured every time, or it works sometimes ?

nsmarkop commented 8 years ago

Right, I had never seen it actually working - I just got the errors above when opening the folder in VS Code, adding lines under the string declaration, and typing "test." with no saving or anything. This happened every time for me (I first experienced it by opening up various other projects beforehand with the same end result).

I messed around with the temp directory settings and it seems like specifying one works (in my case I just used a secondary drive "E:\Projects\temp")! Setting haxeUseTmpAsWorkingDirectory with this path specified also works but leaving the directory as "auto" does not work no matter what for me.