Giter Site home page Giter Site logo

palantir / eclipse-typescript Goto Github PK

View Code? Open in Web Editor NEW
341.0 237.0 75.0 29.71 MB

An Eclipse plug-in for developing in the TypeScript language.

License: Apache License 2.0

JavaScript 94.51% TypeScript 0.32% Java 5.15% Shell 0.02%
octo-correct-managed

eclipse-typescript's Introduction

Eclipse TypeScript Plug-in

An Eclipse plug-in for developing in the TypeScript language.

Installation

  1. Install Node.js
  2. Open Eclipse and go to Help->Install New Software
  3. Add the update site: http://eclipse-update.palantir.com/eclipse-typescript/
  4. Reboot Eclipse
  5. (optional) Right-click on a project and select Configure->Enable TypeScript Builder

Features

  • code completion
  • compile-on-save
  • cross-project compilation
  • error annotations/markers
  • find references
  • format code
  • highlight matching brace
  • hover for JSDoc
  • mark occurrences
  • open definition
  • outline view
  • quick outline
  • rename refactor
  • syntax highlighting
  • task tags
  • toggle comments

Additional Information

  • Eclipse Kepler (4.3) and Luna (4.4) are supported
  • Eclipse must be running via Java 6+
  • Wiki (contains information about developing the plug-in)

Development

Update Typescript

  • Clone Typescript into a sibling folder
  • Run npm install in the Typescript project
  • Run npm install -g dos2unix jake
  • Update Typescript branch in ./scripts/updateTypeScript.sh
  • Run ./scripts/updateTypeScript.sh

Build and Test

  • Run maven package
  • Install zip in Eclipse following Install New Software... -> Add... -> Archive...

eclipse-typescript's People

Contributors

ashwinr avatar barakka avatar blackcat27 avatar derekcicerone avatar derekcicerone-zz avatar diogosantana avatar dominator008 avatar lgrignon avatar rouche avatar sixinli avatar stefanbrands avatar tbenbrahim avatar tomshen avatar vergenzt avatar yupengfu avatar zoubeiri avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

eclipse-typescript's Issues

Possible problems on deleting output files on clean

First my configuration as reference:

  • Windows OS;
  • Using git, with generated output files tracked;
  • Eclipse "Build automatically" active;
  • Source build path set, output folder empty (but that is equal to setting it to "").

I've detected two possible problems with deleting the generated output files during clean (in TypeScriptBuilder):

  1. If the file being deleted is in use, the build fails (with a nasty error message). It happened to me when testing my app, possibly because the browser was locking the js or map files. If I edit and save one file, the automatic build triggers clean and rebuild, the clean fails and the output is not regenerated. I've fixed it try/catching the delete operation, and ignoring the failure, as the compile operation works fine even if the file is locked;

  2. Every time the project is rebuilt (for instance, just opening eclipse), all the generated output files are marked by git as deleted and re-added, which marks the project has modified with pending changes, even if no change occurred. Possibly this can be solved setting some git option, but given that the default behaviour is to track those changes, it is a little annoying.

Allow syntax highlighting colors to be customized

When using a different syntax highlighting, e.g. with a dark background, one can barely see the coloring of the code. There is no possibility to adjust the coloring for TypeScript Editor nor does it inherit the colors of another editor, e.g. JavaScript.

For simplicity, it could inherit the one's of the JS editor and only provide customization for the TypeScript specifics.

Opening very large ts source file hangs endlessly

I was trying to open the very large ExtJS type declaration file (abut 2.2 MByte). This results in a endless hang of eclipse (really! Editor wasn't even opened when running all night).
The used file is this:
https://github.com/borisyankov/DefinitelyTyped/blob/master/extjs/ExtJS.d.ts

Inspecting the hanging process looks for me that the eclipse main thread is quite busy but not the nodejs process.

An example thread dump Shows this:

"main" prio=6 tid=0x00000000026ae000 nid=0x1a80 runnable [0x00000000025bc000]
   java.lang.Thread.State: RUNNABLE
    at com.palantir.typescript.text.ContentProvider.getChildren(ContentProvider.java:58)
    at com.palantir.typescript.text.ContentProvider.hasChildren(ContentProvider.java:96)
    at org.eclipse.jface.viewers.AbstractTreeViewer.isExpandable(AbstractTreeViewer.java:2146)
    at org.eclipse.jface.viewers.TreeViewer.isExpandable(TreeViewer.java:588)
    at org.eclipse.jface.viewers.AbstractTreeViewer.isExpandable(AbstractTreeViewer.java:2176)
    at org.eclipse.jface.viewers.AbstractTreeViewer.internalExpandToLevel(AbstractTreeViewer.java:1767)
    at org.eclipse.jface.viewers.AbstractTreeViewer.internalExpandToLevel(AbstractTreeViewer.java:1780)
    at org.eclipse.jface.viewers.AbstractTreeViewer.internalExpandToLevel(AbstractTreeViewer.java:1780)
    at org.eclipse.jface.viewers.AbstractTreeViewer.internalExpandToLevel(AbstractTreeViewer.java:1780)
    at org.eclipse.jface.viewers.AbstractTreeViewer.internalExpandToLevel(AbstractTreeViewer.java:1780)
    at org.eclipse.jface.viewers.AbstractTreeViewer.internalExpandToLevel(AbstractTreeViewer.java:1780)
    at org.eclipse.jface.viewers.AbstractTreeViewer.expandToLevel(AbstractTreeViewer.java:1075)
    at org.eclipse.jface.viewers.AbstractTreeViewer.expandToLevel(AbstractTreeViewer.java:1056)
    at org.eclipse.jface.viewers.AbstractTreeViewer.expandAll(AbstractTreeViewer.java:1045)
    at com.palantir.typescript.text.OutlinePage.createControl(OutlinePage.java:72)
    at org.eclipse.ui.views.contentoutline.ContentOutline.doCreatePage(ContentOutline.java:137)
    at org.eclipse.ui.part.PageBookView.createPage(PageBookView.java:411)
    at org.eclipse.ui.part.PageBookView.partActivated(PageBookView.java:754)
    at org.eclipse.ui.views.contentoutline.ContentOutline.partBroughtToTop(ContentOutline.java:212)

Resolve ///<reference

First I want to thank you for this plugin. I want to use this in my development.

In my script I use the library definitelyTyped but I get compiler errors when I try to use $ or jQuery.
/ / / <reference path='d:/development/definitelyTyped/jquery/jquery.d.ts' />

If I bind the library directly into Eclipse project then this will also be compiled!

Is there a way how I can integrate and use this librarys?

Exception thrown when moving typescript files within a project

The following request caused an error to be thrown:

{"service":"language","command":"setFileOpen","args":["/plugins/tmp/another_one/one_more/2.ts",true]}
TypeError: Cannot call method 'setOpen' of undefined
    at LanguageServiceHost.setFileOpen (/eclipse/plugins/com.palantir.typescript_1.0.0.v20130802-1814/bin/bridge.js:63464:42)
    at LanguageService.setFileOpen (/eclipse/plugins/com.palantir.typescript_1.0.0.v20130802-1814/bin/bridge.js:63690:38)
    at Main.processRequest (/eclipse/plugins/com.palantir.typescript_1.0.0.v20130802-1814/bin/bridge.js:63804:37)
    at Interface.Main.run (/eclipse/plugins/com.palantir.typescript_1.0.0.v20130802-1814/bin/bridge.js:63790:23)
    at Interface.EventEmitter.emit (events.js:96:17)
    at Interface._onLine (readline.js:200:10)
    at Interface._normalWrite._line_buffer (readline.js:309:12)
    at Array.forEach (native)
    at Interface._normalWrite (readline.js:308:11)
    at Socket.ondata (readline.js:89:10)

How to compile .ts files

I'm also have the same issue as #20

I have installed the plugin and it works fine for in terms of editing, auto complete etc.
Though it doesn't complie on save or when I call build on the project. There isn't any complie on save option in the GUI as you see below in the screenshots? I just installed it today.

I can compile the main.ts file from the command line no problem. When I save or try build project a progress bar pops up and then nothing. No errors or output at all in the console window. Also just to note, I wasn't sure what type the project had to be, general project, web, javascript? Or does it matter?

System

  • Mac OSX
  • Kepler release of Eclipse Java EE IDE for Web Developers.
  • node v0.10.13
  • tsc 0.9.0.1

Below are two screen shots

screen shot 2013-08-17 at 15 56 13

screen shot 2013-08-17 at 15 57 18

Plus one @Sergio-Mira

updating the plugin fails

The following error is reported:

An error occurred while collecting items to be installed
session context was:(profile=SDKProfile, phase=org.eclipse.equinox.internal.p2.engine.phases.Collect, operand=, action=).
Artifact not found: http://eclipse-update.palantir.com/eclipse-typescript/plugins/com.palantir.typescript_1.0.0.v20130807-2310.jar.
http://eclipse-update.palantir.com/eclipse-typescript/plugins/com.palantir.typescript_1.0.0.v20130807-2310.jar
Artifact not found: http://eclipse-update.palantir.com/eclipse-typescript/features/com.palantir.typescript.feature_1.0.0.v20130807-2310.jar.
http://eclipse-update.palantir.com/eclipse-typescript/features/com.palantir.typescript.feature_1.0.0.v20130807-2310.jar

Support linked folders

Currently it fails with:

The following request caused an error to be thrown:
{"service":"language","method":"setFileOpen","arguments":["W:\\project\\src\\demo.ts",true]}
TypeError: Cannot call method 'setOpen' of undefined
    at LanguageServiceHost.setFileOpen (W:\eclipse-4.3-x64\plugins\com.palantir.typescript_1.0.0.v20130826-1821\bin\bridge.js:63222:42)
    at LanguageService.setFileOpen (W:\eclipse-4.3-x64\plugins\com.palantir.typescript_1.0.0.v20130826-1821\bin\bridge.js:63557:38)
    at Main.processRequest (W:\eclipse-4.3-x64\plugins\com.palantir.typescript_1.0.0.v20130826-1821\bin\bridge.js:63596:37)
    at Interface.<anonymous> (W:\eclipse-4.3-x64\plugins\com.palantir.typescript_1.0.0.v20130826-1821\bin\bridge.js:63582:23)
    at Interface.EventEmitter.emit (events.js:95:17)
    at Interface._onLine (readline.js:202:10)
    at Interface.<anonymous> (readline.js:322:12)
    at Array.forEach (native)
    at Interface._normalWrite (readline.js:321:11)
    at Socket.ondata (readline.js:91:10)

Where W:\\project\\src\\demo.ts is a correct filesystem path that exist outside workspace and is linked into workspace project.

Source directories should be explicitly tracked

Hi,

I'm using the typescript plugin in a project that is configured using maven. When I save any .ts file I get compilation errors saying that the types I define are duplicate. I debugged the plugin and I've noticed that for each .ts file it is picked up twice in the workspace, once from the src folder and once from the target (where it is copied by the maven builder).

Error running TypeScript Builder on a large project

Import the tslint repository (after initializing its TypeScript submodule).
When the TypeScript Builder is enabled, it throws the following exception (note that this looks like an exception from the TypeScript compiler itself):

Errors occurred during the build.
Errors running builder 'TypeScript Builder' on project 'tslint'.
The following request caused an error to be thrown:
{"service":"language","method":"getAllDiagnostics","arguments":[]}
TypeError: Cannot read property 'block' of null
    at GrammarCheckerWalker.checkParameterListAcessibilityModifiers (/eclipse/plugins/com.palantir.typescript_1.0.0.v20130804-0434/bin/bridge.js:25906:60)
    at GrammarCheckerWalker.visitParameterList (/eclipse/plugins/com.palantir.typescript_1.0.0.v20130804-0434/bin/bridge.js:25953:22)
    at ParameterListSyntax.accept (/eclipse/plugins/com.palantir.typescript_1.0.0.v20130804-0434/bin/bridge.js:13547:28)
    at GrammarCheckerWalker.SyntaxWalker.visitNode (/eclipse/plugins/com.palantir.typescript_1.0.0.v20130804-0434/bin/bridge.js:20839:18)
    at GrammarCheckerWalker.SyntaxWalker.visitCallSignature (/eclipse/plugins/com.palantir.typescript_1.0.0.v20130804-0434/bin/bridge.js:21156:18)
    at CallSignatureSyntax.accept (/eclipse/plugins/com.palantir.typescript_1.0.0.v20130804-0434/bin/bridge.js:13458:28)
    at GrammarCheckerWalker.SyntaxWalker.visitNode (/eclipse/plugins/com.palantir.typescript_1.0.0.v20130804-0434/bin/bridge.js:20839:18)
    at GrammarCheckerWalker.SyntaxWalker.visitFunctionDeclaration (/eclipse/plugins/com.palantir.typescript_1.0.0.v20130804-0434/bin/bridge.js:20958:18)
    at GrammarCheckerWalker.visitFunctionDeclaration (/eclipse/plugins/com.palantir.typescript_1.0.0.v20130804-0434/bin/bridge.js:26901:55)
    at FunctionDeclarationSyntax.accept (/eclipse/plugins/com.palantir.typescript_1.0.0.v20130804-0434/bin/bridge.js:10666:28)
    at GrammarCheckerWalker.SyntaxWalker.visitNode (/eclipse/plugins/com.palantir.typescript_1.0.0.v20130804-0434/bin/bridge.js:20839:18)
    at GrammarCheckerWalker.SyntaxWalker.visitNodeOrToken (/eclipse/plugins/com.palantir.typescript_1.0.0.v20130804-0434/bin/bridge.js:20846:22)
    at GrammarCheckerWalker.SyntaxWalker.visitList (/eclipse/plugins/com.palantir.typescript_1.0.0.v20130804-0434/bin/bridge.js:20876:22)
    at GrammarCheckerWalker.SyntaxWalker.visitSourceUnit (/eclipse/plugins/com.palantir.typescript_1.0.0.v20130804-0434/bin/bridge.js:20888:18)
    at GrammarCheckerWalker.visitSourceUnit (/eclipse/plugins/com.palantir.typescript_1.0.0.v20130804-0434/bin/bridge.js:26988:46)

Support folding

There is good documentation of how to do this here:
http://www.eclipse.org/articles/Article-Folding-in-Eclipse-Text-Editors/folding.html

The reason I really wanted this feature was for folding of the copyright header at the top of files however the TypeScript services doesn't return an outlining region for that, so this feature is only useful for folding functions, classes, interfaces, modules, etc...

There were several difficulties encountered while trying to implement this:

  • syntax highlighting broke
  • caret events were firing like crazy (didn't fully investigate why) which caused poor performance
  • existing annotations must not be deleted/replaced - they need to be conserved somehow - tracking them properly will be challenging

Due to the limitations of the support currently offered and the difficulties encountered in making it work well, I've decided to delay this feature for now.

How to get .ts file to compile?

In trying to set up the plugin, I have the editor working great for .ts files, but I do not see how to get them to compile to .js files. How do I get that to happen? I am trying to set up a general project with an .html file and a .ts file.

Pressing enter next to open curly braces adds extra closing curly braces even if matching curly braces have already been inserted

To reproduce -- open a typescript file in eclipse, type an open curly brace (' {' ) on a blank line and press enter. This inserts a matching curly brace on the next line, which is correct. However, if you put your cursor back up next to the open curly brace and press enter again, it inserts yet another curly brace. And you can repeat this indefinitely. It shouldn't insert a new curly brace once it has a matching one.

smart brace close

when hitting enter it would be nice if the closing brace would be automatically inserted

Windows Compatibility

Plugin doesnt work with Windows.
IllegalStateException("Could not find node.") exception is occured.

Latest version of nodejs append its installation location to the Path variable.
If node/node.exe couldnt found from predefined locations (NODE_LOCATIONS) it could be search from Path variable.

public final class Bridge {

    private static File findNode() {
        for (String location : NODE_LOCATIONS) {
            File file = new File(location);

            if (file.exists()) {
                return file;
            }
        }

        File file = searchNodeJs();
        if (file != null) {
            return file;
        } else {
            throw new IllegalStateException("Could not find node.");
        }
    }

    // new metod to find node/node.exe
    private static File searchNodeJs() {
        Map<String, String> envVariables = System.getenv();
        String variable = "";
        for (String key : envVariables.keySet()) {
            if (key.toLowerCase().equals("path")) {
                variable = envVariables.get(key);
            }
        }
        String[] paths = variable.split(";");
        String found = null;
        String os = System.getProperty("os.name");
        boolean isWindows = os.toLowerCase(Locale.ENGLISH).indexOf("win") >= 0;
        for (String path : paths) {
            String nodeExe = path + File.separator + "node";
            if (isWindows) {
                nodeExe += ".exe";
            }
            File file = new File(nodeExe);
            if (file.exists()) {
                found = nodeExe;
            }
        }
        if (found == null) {
            return null;
        } else {
            return new File(found);
        }
    }
}

Reference other projects from project

I'm working on a large multiproject application. It would be really nice to be able to reference files from one project in another.

have I missed how to do it or isn't that implemented yet?

It would also nice to be able to turn on so the compiler follows ////<reference...
That way I could reference external files and defenitions.

TypeError: Cannot call method 'diagnostics' of null

It doesn't seem to affect anything, but the eclipse log is full of the following errors:

!MESSAGE Compilation of 'C:\Users\usu\workspace\NOMHAD-repo\NOMHAD-cmr-plugin\target\classes\library\patientSummary.ts' failed.
!STACK 0
java.lang.RuntimeException: The following request caused an error to be thrown:
{"service":"language","method":"getEmitOutput","arguments":["C:\\Users\\usu\\workspace\\NOMHAD-repo\\NOMHAD-cmr-plugin\\target\\classes\\library\\patientSummary.ts"]}
TypeError: Cannot call method 'diagnostics' of null
    at TypeScriptCompiler.getSyntacticDiagnostics (C:\Development\eclipse\plugins\com.palantir.typescript_1.0.0.v20130820-0747\bin\bridge.js:53969:47)
    at CompilerState.getSyntacticDiagnostics (C:\Development\eclipse\plugins\com.palantir.typescript_1.0.0.v20130820-0747\bin\bridge.js:57827:34)
    at CompilerState.getEmitOutput (C:\Development\eclipse\plugins\com.palantir.typescript_1.0.0.v20130820-0747\bin\bridge.js:57891:58)
    at LanguageService.getEmitOutput (C:\Development\eclipse\plugins\com.palantir.typescript_1.0.0.v20130820-0747\bin\bridge.js:59151:39)
    at LanguageService.getEmitOutput (C:\Development\eclipse\plugins\com.palantir.typescript_1.0.0.v20130820-0747\bin\bridge.js:63241:41)
    at Main.processRequest (C:\Development\eclipse\plugins\com.palantir.typescript_1.0.0.v20130820-0747\bin\bridge.js:63348:37)
    at Interface.<anonymous> (C:\Development\eclipse\plugins\com.palantir.typescript_1.0.0.v20130820-0747\bin\bridge.js:63334:23)
    at Interface.EventEmitter.emit (events.js:95:17)
    at Interface._onLine (readline.js:202:10)
    at Interface.<anonymous> (readline.js:322:12)
    at com.palantir.typescript.services.Bridge.processRequest(Bridge.java:123)
    at com.palantir.typescript.services.Bridge.call(Bridge.java:81)
    at com.palantir.typescript.services.language.LanguageService.getEmitOutput(LanguageService.java:117)
    at com.palantir.typescript.TypeScriptBuilder.compile(TypeScriptBuilder.java:186)
    at com.palantir.typescript.TypeScriptBuilder.compile(TypeScriptBuilder.java:174)
    at com.palantir.typescript.TypeScriptBuilder.build(TypeScriptBuilder.java:93)
    at com.palantir.typescript.TypeScriptBuilder.incrementalBuild(TypeScriptBuilder.java:137)
    at com.palantir.typescript.TypeScriptBuilder.build(TypeScriptBuilder.java:66)
    at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:726)

Add typing preferences like in Javascript Editor

It can be usefull to manage same typing preferences as Eclipse Javascript Editor, like

  • automatic parentheses close,
  • automatic braces close,
  • templates,
  • adjust indentation on new lines with tabs or spaces,
  • ...

Thans you

"editing text" shortcuts are not available

Hi and thank you for working on this very promising eclipse plugin.

I like the plugin very much but while in the editor I cannot use the usual "editing text" keyboard shortcuts, for example Ctrl+d to delete a line, Ctrl+k for find next or Ctrl+arrow up to move a line.

I don't know Eclipse very well but I think that if you declared your plugin as being a text editor, all these shortcuts would become automagically available.

Do you think it is doable ? Many thanks in advance...

Olivier

Directory structure not created for output files

Source folder: input_ts
Output folder: output_ts

For the source file input_ts/foo/source.ts the compiled file source.js is placed at the root of the output folder instead of output_ts/foo/source.js.

Error popup on each build/save with current plugin version

Since I've update to TypeScript 1.0.0.v20130824-2149, on each build / save, the following error appears:

Errors occurred during the build.
Errors running builder 'TypeScript Builder' on project 'Test'.
java.lang.NullPointerException

More, on each file creation, le following error apears:

The following request caused an error to be thrown:
{"service":"language","method":"setFileOpen","arguments":["D:\Workspaces\TypeScript\Test\TotoProject\src\ttttt.ts",true]}
TypeError: Cannot call method 'setOpen' of undefined
at LanguageServiceHost.setFileOpen (C:\Eclipse_TypeScript\plugins\com.palantir.typescript_1.0.0.v20130824-2149\bin\bridge.js:63222:42)
at LanguageService.setFileOpen (C:\Eclipse_TypeScript\plugins\com.palantir.typescript_1.0.0.v20130824-2149\bin\bridge.js:63557:38)
at Main.processRequest (C:\Eclipse_TypeScript\plugins\com.palantir.typescript_1.0.0.v20130824-2149\bin\bridge.js:63596:37)
at Interface. (C:\Eclipse_TypeScript\plugins\com.palantir.typescript_1.0.0.v20130824-2149\bin\bridge.js:63582:23)
at Interface.EventEmitter.emit (events.js:95:17)
at Interface._onLine (readline.js:202:10)
at Interface. (readline.js:322:12)
at Array.forEach (native)
at Interface._normalWrite (readline.js:321:11)
at Socket.ondata (readline.js:91:10)

I'm working on windows 7

Unable to insert newlines with TypeScript editor

I can write on a single line but am unable to insert any newlines with the TypeScript editor. The project is a standard Java project.

Eclipse: Kepler 20130614-022920130614-0229
TypeScript: 1.0.0.v20130903-0003

Duplicate or move compiler/formatter settings to projects

Typescript preferences like "module generation", "do not include lib.d.ts on compile", ... may be moved in the project preferences and not the workspace preferences.

In my workspace, I've got the ui projects and the grunt builder project.
I can't use your plugin to compile my grunt files with commonJS because workspace configuration is already with AMD (for ui projects).

search support

Waiting on next release after 0.9.1 (this has been implemented on the current "develop" branch).

Feature: Compile all .ts files to into one file

Feature: Compile all .ts files into one

Ability to have the complier build the sperate .ts files or have it compile all files into one large file. Handy as it means you don't have to worry about adding script tags for every new file you add, though does mean your compiling all files every time you change something.

This is a feature of the complier, so a GUI setting exposing this functionality would be great.

tsc main.ts --out allFiles.ts

I would love to try implement this myself, maybe point me in the right direction. I have been poking about LanguageService.ts to find the actual call to the complier,but can't seem to find it. A quick run down of how the project works would be great.

Cheers

/usr/local/bin/node could not be found

I am using archlinux and there is no executable "node" in /usr/local/bin
I had to create a symbolic link to /usr/bin/node

sudo ln -s /usr/bin/node /usr/local/bin/node

Installation works fine but now features or plugin show up

Hi,

I've just installed the plugin on an Eclipse version 4.3.0.I20130605-2000, under Windows 8 x86_64, with the latest node under a non-default directory. The plugin shows up as installed software, but no features nor plugins are picked up by the eclipse installation details windows. And, of course, there is no option to configure a TypeScript project, not any TypeScript configuration option, etc.

It looks like the install went fine but the plugin is not active. I've checked eclipse error log and it does not show anything related to the plugin.

It try compiling it from source and debug, but it will take me a while.

Any idea?

Best,
R.

Have node installed, yet get "Could not find node" exception

Followed the instructions, created a test.ts file, clicked open - got this exception.

(Version: Indigo Service Release 2, Build id: 20120216-1857, Windows 7 64bit)

com.google.common.util.concurrent.UncheckedExecutionException: java.lang.IllegalStateException: Could not find node.
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2263)
at com.google.common.cache.LocalCache.get(LocalCache.java:4000)
at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:4004)
at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4874)
at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4880)
at com.palantir.typescript.text.TypeScriptEditor.init(TypeScriptEditor.java:115)
at org.eclipse.ui.internal.EditorManager.createSite(EditorManager.java:828)
at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:647)
at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:465)
at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595)
at org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:313)
at org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:180)
at org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:270)
at org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65)
at org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:473)
at org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1245)
at org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:1198)
at org.eclipse.ui.internal.PartStack.showPart(PartStack.java:1597)
at org.eclipse.ui.internal.PartStack.add(PartStack.java:493)
at org.eclipse.ui.internal.EditorStack.add(EditorStack.java:103)
at org.eclipse.ui.internal.PartStack.add(PartStack.java:479)
at org.eclipse.ui.internal.EditorStack.add(EditorStack.java:112)
at org.eclipse.ui.internal.EditorSashContainer.addEditor(EditorSashContainer.java:63)
at org.eclipse.ui.internal.EditorAreaHelper.addToLayout(EditorAreaHelper.java:225)
at org.eclipse.ui.internal.EditorAreaHelper.addEditor(EditorAreaHelper.java:213)
at org.eclipse.ui.internal.EditorManager.createEditorTab(EditorManager.java:808)
at org.eclipse.ui.internal.EditorManager.openEditorFromDescriptor(EditorManager.java:707)
at org.eclipse.ui.internal.EditorManager.openEditor(EditorManager.java:666)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2942)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2850)
at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPage.java:2842)
at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2793)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2789)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2773)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2764)
at org.eclipse.ui.ide.IDE.openEditor(IDE.java:651)
at org.eclipse.ui.ide.IDE.openEditor(IDE.java:610)
at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:355)
at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:164)
at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:249)
at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:228)
at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:275)
at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java:251)
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerActionGroup.handleOpen(PackageExplorerActionGroup.java:376)
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart$4.open(PackageExplorerPart.java:538)
at org.eclipse.ui.OpenAndLinkWithEditorHelper$InternalListener.open(OpenAndLinkWithEditorHelper.java:48)
at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:866)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:864)
at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1152)
at org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(StructuredViewer.java:1256)
at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:275)
at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:269)
at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:309)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4165)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3754)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2701)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2665)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2499)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:679)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:668)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:123)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
Caused by: java.lang.IllegalStateException: Could not find node.
at com.palantir.typescript.services.Bridge.findNode(Bridge.java:168)
at com.palantir.typescript.services.Bridge.start(Bridge.java:135)
at com.palantir.typescript.services.Bridge.(Bridge.java:58)
at com.palantir.typescript.services.language.LanguageService.(LanguageService.java:55)
at com.palantir.typescript.text.TypeScriptEditor$1.load(TypeScriptEditor.java:71)
at com.palantir.typescript.text.TypeScriptEditor$1.load(TypeScriptEditor.java:1)
at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3599)
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2379)
at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2342)
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2257)
... 80 more

Auto Complete

This might just be an eclipse issue or settings, but I'm working on a Typescript project and I'm getting the dot autocomplete to work fine. Though in Java the second you start typing you get options for selecting variable names etc. Like in the image below, though I don't seem to get this when editing typescript. Does the type of project mattar? Javascript Project?

screen shot 2013-08-23 at 21 10 58

Nothing happens as I start to type pl

screen shot 2013-08-23 at 21 19 31

Incorrect indentation

Go to the beginning of any line within a function, and hit the return key. The new line gets unnecessarily indented.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.