HaxeFoundation / Project-Management

Project management and communication
20 stars 4 forks source link

Visual Studio Code Haxe #49

Closed larsiusprime closed 7 years ago

larsiusprime commented 8 years ago

Opened per @ncannasse request

ncannasse commented 8 years ago

Ping @jcward on the topic : I would like to hear about the current status of VS Code and how Haxe Foundation can help.

Simn commented 8 years ago

Pinging @RobDangerous too.

RobDangerous commented 8 years ago

I wired up code maps based JavaScript debugging, which is pretty great because it compiles fast and I can just package everything together (no need to get a jre and a flash debugger). Only focused on making it work with Kha so far but think it would also make sense for other frameworks (especially Flambe). There are some situations where breakpoints are not hit like HaxeFoundation/haxe#4542 so some focus on that would be great. Can probably help pinpointing those.

nadako commented 8 years ago

Please do, if it's about outputting js with proper breaks, I think we can fix that easily

Simn commented 8 years ago

I fixed HaxeFoundation/haxe#4542, let me know if you come across anything else.

RobDangerous commented 8 years ago

Awesome! Just ordered all Kha people to help out with that.

larsiusprime commented 8 years ago

I'm particularly interested in the C++ step-through debugging; if anyone has any leads on getting that working cross-platform on Visual Studio Code that would be great. Last I heard @jcward had it working on mac/linux but not sure if we ever got it working reliably on windows. Would be happy to test if there's been recent developments.

jcward commented 8 years ago

Hey guys, yeah, lately I've had even less time for Haxe contribution than before. :( Here's a quick rundown of status of the vscode projects:

vscode-haxe: (Haxe language support for vscode) @pleclech has made all recent improvements, and I merge, test, and release to the vscode marketplace. Currently 0.4 is in the marketplace and 0.5 is in Patrick's dev-0.5.0 repo, still waiting to be tested thoroughly. Investigating the potential integration of features from Robert's Kode (for JS debugging / source maps?) and @MatthijsKamstra's vscode-snippets is TBD.

Publishing to the marketplace means VSCode users can install the extension directly from within vscode -- a big convenience over git clone / etc. If you really wanted a full Haxe-oriented IDE, you could do what Kode did and fork VSCode. BTW, I named the marketplace publisher of this extension Haxe Devs (currently crediting Patrick, myself, and Dan as authors) and would happily turn the publisher token over to the HF if they wanted to continue using that flow.

vscode-hxcpp-debug: (hxcpp debugging via vscode) currently not yet in the marketplace (as it only works reliably on Linux.) @tanis2000 had done some serious investigation for failures on OSX, documented in an issue there, and IIRC the result is that we have a plan (enum recursive list serialization was failing, but using a StringArray made it work on both OSX and Windows) but we'll have to coordinate changes with HaxeFoundation/hxcpp-debugger project, and ensure it doesn't cause problems for the intellij stuff.

jcward commented 8 years ago

Oh, but my company is about to start an OpenFL / html5 project, so we'll (3 engineers) actually be working more with Haxe and the js target, and using vscode as our IDE (we're linux/osx-based, and not typically IDE users, but the code completion and perhaps snippets is too great of an asset to ignore for learning the language and frameworks.)

ncannasse commented 8 years ago

Thanks jeff for the detailed feedback. As I understand, several people are contributing to several repos and there is not yet one unified repository with an appointed project manager to handle the contributions. Is there any volunteer to take over the role among the existing contributors?

RobDangerous commented 8 years ago

There are several repositories just because there are several vscode-extensions - vscode-haxe for general support (code completion and so on), vscode-hxcpp-debug for hxcpp debugging. @jcward manages all of that.

jcward commented 8 years ago

Right, the extensions provide unique functionality. I don't know enough about VSCode extensions to know whether those extensions could be merged. I'm currently monitoring my repos, responding to issues, accepting PRs, etc.

If the HF wants a Haxe-skinned instance of VSCode (like Kode Studio) that ships with these extensions pre-installed (and perhaps project templates, haxelib management, Haxe installer, etc), that's fine. While I see the benefit for new Haxe users, I'm not personally interested in managing this project.

I am interested in the minimal effort required to get Haxe language / completion and debugging (hxcpp & js primarily) in a free and cross-platform IDE. For me, VSCode with its extension framework, fit those requirements perfectly (as noted in my original post on the mailing list.)

I guess that's the hard part of OSS -- everyone has their own interests and needs that only slightly overlap. And with Haxe's multitude of use cases and workflows, it's maximally fragmented. :)

nadako commented 8 years ago

Hey! I just stumbled upon this issue. The current state is that there's also the vshaxe extension, written by me and @Simn that uses most recent haxe IDE support stuff introduced in 3.3. It's easily installable from the marketplace and fairly stable. As discussed in https://github.com/vshaxe/vshaxe/issues/11, it eventually will become the go-to extension for Haxe in VS Code.

With latest source map and js output changes, debugging haxe/js should improve as well, so I think we mostly got that part covered.

For more support, we should take over the hxcpp debugger extension, and also write a debugger for flash, since it's still a good platform to test stuff on. This shouldn't be too hard because VSCode debugger protocol is well designed, just like the language server protocol, but I won't have a lot of time for that in nearest future.

(I'm also interested in re-using what @Neverbirth done for FD regarding C# debugging with Haxe source maps and supporting debugging for the C# target)

Simn commented 7 years ago

I think we can close here because I don't see any higher level discussion required. For specific topics please refer to the vshaxe repository.