axmor / typecs

TypEcs - TypeScript IDE for Eclipse
61 stars 14 forks source link

consider merging this plugin with palantir/eclipse-typescript #56

Open atsu85 opened 9 years ago

atsu85 commented 9 years ago

Hi, Looks like there is another TypeScript plugin for Eclipse IDE that tries to achieve the same goal as this plugin: https://github.com/palantir/eclipse-typescript/ For Eclipse/TypeScript community it would be much better if members of two projects were working with each other to provide more features faster. Currently I'm sad to admit that neither of these plugins have made much progress in few months while other TypeScript plugins (for other IDEs) are progessing well and leaving Eclipse plugins far behind. (My personal interest is support for TypeScript 1.5 https://github.com/axmor/typecs/issues/47 ).

atsu85 commented 8 years ago

@derekcicerone and @kosz78, I guess this issue was meant to be discussed by both of You. It just happens, that i created this issue to the typecs repo (as I had used this plugin before).

I really appreciate the work You have done with Your effort to create/maintain an Eclipse plugin for TypeScript. Sadly It looks like both of You could use a lot of help. I believe that You (and Your project contributors) could support the effort a lot. I bet that the TypeScript plugin would evolve much faster when the plugins were to be merged and the plugin could close the gap with TypeScript plugins written for other IDEs.

This issue was my scream for help after I started using TypeScript 1.5 and newer features that neither of the plugins supported.

angelozerr commented 8 years ago

@atsu85 @derekcicerone, @kosz78 I contact you, because I'm developping a new TypeScript Eclipse plugin called typescript.java. You can read Why-TypeScript-IDE where I try to explain why I have decided to develop a new plugin.

My main goal is to provide an Angular2 Eclipse plugin which uses tsconfig.json. I have studied VSCode implementation and I try to follow the same architecture than VSCode like

typescript.java is not released but it provides:

It requires Eclipse JEE version (Neon which is not released but you can donwload it is suggested because tsconfig.json editor is based on tne Neon WTP JSON Editor)

Hope you will like it, and any contribution are welcome! Thanks!

atsu85 commented 8 years ago

@angelozerr, very-very impressive, both in terms of the concepts and even the current implementation!

consumes tsserver which is now available with TypeScript.

the configuration of the TypeScript project is done with a tsconfig.json (or several tsconfig.json)...

It is like You have read my mind :) Since TypeScript 1.5 when the tsconfig.json became available I also wanted tsconfig.json to be the only place where to store the TypeScript project configuration (like atom-typescript plugin does) - then You can use the same conf for (hopefully) all IDEs, (including atom-typescript) and build tools, such as gulp-typescript.

...and not with an Eclipse preferences.

I think that having Eclipse preferences page per project/tsconfig.json wouldn't hurt (only if it is forwards compatible - doesn't remove/change properties that the plugin doesn't know about), but it would only be a nice-to-have feature (I wouldn't miss it, but someone new to TypeScript might). Having the preferences page certainly shouldn't be the requirement for version 1.0.

I'm just wondering, if it was really so much easier to create Your own project from scratch, compared to updating either TypEcs or Eclipse TypeScript?

Never the less, I'm wondering, if either of the other projects (@derekcicerone and @kosz78 in person) would be willing to donate (allow typescript.java to use the source) some features missing in typescript.java? For example "Call Hierarchy" view.

angelozerr commented 8 years ago

ery-very impressive, both in terms of the concepts and even the current implementation!

Thanks! I'm very glad that my idea please you:) I have implemented commons feature for TypeScript Editor like completion, hover, occurrences, etc but it misses refactoring call hierarchy, etc.

I think I will implement it after 1.0.

then You can use the same conf for (hopefully) all IDEs,

Exactly!

such as gulp-typescript.

Today compilation/build on save uses "tsc" with TypeScript Builder. You can do too Run As -> Compile TypeScript which is helpful if you set "watch" inside your tsconfig.json. Perhaps it could be interested too to have a new launch with gulp-typescript (please create an issue if you think it's a good idea).

but it would only be a nice-to-have feature (I wouldn't miss it, but someone new to TypeScript might)

At first typescript.java doesn't use Eclipse Nature, so you can import a project developped with VSCode, Atom, etc and it should work directly (if your tsconfig.json is hosted inside your root or src folder). Please read https://github.com/angelozerr/typescript.java/wiki/TypeScript-BuildPath

Having the preferences page certainly shouldn't be the requirement for version 1.0.

I would liek to avoid having preferences page for compiler option because I use tsconfig.json (or several). The only thing I could create is a wizard to generate tsconfig.json, but my idea is to integrate angular-cli.

More typescript.java provides a tsconfig.json editor based on the WTP Neon JSON Editor which comes from https://github.com/angelozerr/eclipse-wtp-json and you have completion for "files", "compilerOptions" (but not for the moment children of "compilerOptions"). My another idea is to provide multi page editor (like MANIFEST.MF of PDE) to customize "files, etc

I'm just wondering, if it was really so much easier to create Your own project from scratch, compared to updating either TypEcs or Eclipse TypeScript?

As I said you, I think I will provide a wizard to generate a tsconfig.json with a ts file, but it's not in my priority. I would prefer provide a wizard which consumes angular-cli.

I'm wondering, if either of the other projects (@derekcicerone and @kosz78 in person) would be willing to donate (allow typescript.java to use the source) some features missing in typescript.java?

It's not the same architecture. I uses tsserver and I cannot for the moment develop my own ts service (like bridge). But tsserver should be improved to support plugin and extend services. See very impressive demo with angular2 :https://github.com/Microsoft/TypeScript/issues/6508

@atsu85 I think we should avoid disturbing TypEcs github, please create issues at https://github.com/angelozerr/typescript.java/issues Thanks!