Typescript does not suggest import anymore

This topic contains 15 replies, has 4 voices, and was last updated by  Brian Fernandes 3 months ago.

Viewing 15 posts - 1 through 15 (of 16 total)
  • Author
    Posts
  • #545836

    Felix Stanley
    Participant

    Hi I have webclipse IDE 2017 CI 10 installed and basically it just does not suggest import statement anymore (e.g: module from another class or from node_modules/). It worked previously before I updated webclipse to this version.

    Any way to reenable it back?

    Thanks a lot

    #545842 Reply

    support-swapna
    Moderator

    Felix,

    Sorry that you are seeing this issue with CI 10. I could not replicate the problem with Import at my end.

    1. Can you please clarify if the content assist for Import worked fine for the same project in CI 9 and it fails for the same case in CI 10 ?

    2. Can you please share with us the code snippet and how exactly you are invoking the content assist for Import to help us replicate the problem at our end? If possible, please attach a screenshot of the issue to help us get a visual.

    3. Please check if there are any related errors logged in the Error Log view. If there are, then please share with us the .log file by clicking on ‘Export Log’ icon.

    Apologies for inconvenience caused.

    –Swapna
    MyEclipse Support

    #545845 Reply

    Felix Stanley
    Participant

    Hi,

    Thanks for the reply

    Regarding whether I can confirm that import suggestion works at CI 9, Is there any way to downgrade to CI 9? What I remember was just that It stopped working after the latest update which is CI 10 I suppose.

    I am not sure if this problem is related to content assist, content assist works fine for me (for instance if I create class called ‘student’ with variable called ‘name’, upon typing ‘student.’
    , name will come up as suggestion).
    The problem I am having is that when I hover upon class that is not imported, it wont show me any import suggestion. Please see the attachment (If i hover at ‘change detector ref’, it will suggest nothing).

    I have also attached the error.log . at line 4330, you can see what might be the exception.

    Thankss

    Attachments:
    You must be logged in to view attached files.
    #545850 Reply

    support-swapna
    Moderator

    Felix,

    Thank you for the details and the log file. I have filed a bug for the dev team to investigate this issue.
    We will keep you posted about the fix schedule.

    Apologies for inconvenience caused.

    –Swapna
    MyEclipse Support

    #546687 Reply

    Felix Stanley
    Participant

    Hello,

    May I know if there has been any update on this?

    Thanks

    #546745 Reply

    support-swapna
    Moderator

    Felix,

    I am afraid I cannot provide you with an update at this point of time. We tried to replicate the problem at our end and we couldn’t replicate it consistently. I have escalated it to the dev team and we will keep you posted about our findings soon.

    Apologies for the delay. Thank you for your patience.

    –Swapna
    MyEclipse Support

    #547286 Reply

    Felix Stanley
    Participant

    Hi Swapna,

    I appreciate your effort but it has been 2 weeks and it kinda get irritating.
    Would appreciate if dev team can give me some update soon.

    Thanks

    #547640 Reply

    Brian Fernandes
    Moderator

    Felix,

    Just wanted to let you know what we are actively investigating the issue. We are still unable to replicate it, but your error log points to the source quite specifically.

    Our team is working on getting a workaround ready that you can try ASAP.

    Apologies for trouble, I realize how frustrating the absence of this functionality must be.

    #547732 Reply

    Brian Fernandes
    Moderator

    Felix,

    Can you send us the tslint.json file from your project please?

    #547760 Reply

    Felix Stanley
    Participant

    Hi, There you go..

    Attachments:
    You must be logged in to view attached files.
    #547820 Reply

    Brian Fernandes
    Moderator

    Felix,

    Unfortunately that did not help us reproduce, but here’s a fix based on your trace.

    1) Shut down your Eclipse install.

    2) In the following folder
    [eclipse_root]/plugins/com.genuitec.eclipse.typescript_2.5.3.201712182257/bin/bridge/tslint/
    please locate the tslintEndpoint.js file and make a backup of it elsewhere.

    Note: If you do not have a folder with exactly this path, please abort and let us know.

    2) Replace this file with the file in the attached ZIP (i.e. unzip it into this folder).

    3) Edit your eclipse.ini file and add the -clean argument to it. The first few lines of your ini will probably look something like:

    -clean
    -startup
    plugins/org.eclipse.equinox.launcher_1.4.0.v20161219-1356.jar


    4) Start Eclipse

    At this point you should have the functionality restored – do let us know if this works.

    Note: Step #3 may not be required, but I’m just being extra careful. The -clean argument can be removed from subsequent launches.

    Attachments:
    You must be logged in to view attached files.
    #547856 Reply

    Felix Stanley
    Participant

    Hi Brian,

    It worked, Thanks very much. Apparently it was caused by the quotemark rule at tslint..
    In that case, is it possible to change the auto import statement quotemark to match my tslint rule? Because right now its generating double quote while my rule is single.

    Thanks a lot

    #548174 Reply

    Brian Fernandes
    Moderator

    Felix,

    We had already fixed the issue you mentioned – but it was that very same fix (quotemark to match the tslint rule) that caused the problem you were experiencing prior to the patch you just applied. Technically, we’ve just put a guard in that should keep that fix working, but something is off in your case that prevents us from fetching the configuration against that setting.

    We’re working on it and will likely send you an update to try as soon as we have a fix. Thanks!

    #548388 Reply

    Brian Fernandes
    Moderator

    Felix,

    Was TSLint working for you, with CI 10, before you applied the patch, and is it working for you right now? Talking here about both validation and fixes beyond the quotemark issue. What version of TSLint does your project use – by any chance have you changed the TSLint enablement / version settings on the Project Properties > TypeScript property page – what version is displayed here?

    Can you send us your tsconfig.json and package.json files, and let us know what versions of Node and NPM you are using in your project, please?

    #548484 Reply

    olihd
    Participant

    I have the same problem (imports and completion also not working) – from the Eclipse logs:
    “Dynamic quick fix of type dynamic:ts:add-import:MyComponent has not been provided by TypeScript bridge.”

    When I type e.g. “MyCom” it correctly suggests MyComponent – but when pressing Enter on it it just executes enter and logs:

    java.lang.RuntimeException: The following request caused an error to be thrown:
    {“endpoint”:”language”,”method”:”getCompletionChanges”,”arguments”:[“myProject”,”eclipse:path to MyComponent”,779,6,”MyComponent”,”ts:add-with-import::…myComponent.ts”]}
    at com.genuitec.eclipse.typescript.services.internal.Bridge.processRequest(Bridge.java:229)
    at com.genuitec.eclipse.typescript.services.internal.Bridge.call(Bridge.java:140)
    at com.genuitec.eclipse.typescript.services.language.LanguageEndpoint.getCompletionChanges(LanguageEndpoint.java:199)
    at com.genuitec.eclipse.typescript.text.FileLanguageService.getCompletionChanges(FileLanguageService.java:279)
    at com.genuitec.eclipse.typescript.contentassist.TypeScriptCompletionProposal.apply(TypeScriptCompletionProposal.java:131)
    at org.eclipse.jface.text.contentassist.CompletionProposalPopup.insertProposal(CompletionProposalPopup.java:987)
    at org.eclipse.jface.text.contentassist.CompletionProposalPopup.insertSelectedProposalWithMask(CompletionProposalPopup.java:931)
    at org.eclipse.jface.text.contentassist.CompletionProposalPopup.verifyKey(CompletionProposalPopup.java:1356)
    at org.eclipse.jface.text.contentassist.ContentAssistant$InternalListener.verifyKey(ContentAssistant.java:807)
    at org.eclipse.jface.text.TextViewer$VerifyKeyListenersManager.verifyKey(TextViewer.java:485)
    at org.eclipse.swt.custom.StyledTextListener.handleEvent(StyledTextListener.java:66)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4258)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1502)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1525)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1510)
    at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1314)
    at org.eclipse.swt.custom.StyledText.handleKeyDown(StyledText.java:6029)
    at org.eclipse.swt.custom.StyledText.lambda$1(StyledText.java:5732)
    at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:86)
    at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4258)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1502)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1525)
    at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1510)
    at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1539)
    at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1535)
    at org.eclipse.swt.widgets.Canvas.sendKeyEvent(Canvas.java:518)
    at org.eclipse.swt.widgets.Control.doCommandBySelector(Control.java:1090)
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:5891)
    at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
    at org.eclipse.swt.internal.cocoa.NSResponder.interpretKeyEvents(NSResponder.java:68)
    at org.eclipse.swt.widgets.Composite.keyDown(Composite.java:601)
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:5801)
    at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
    at org.eclipse.swt.widgets.Widget.callSuper(Widget.java:228)
    at org.eclipse.swt.widgets.Widget.windowSendEvent(Widget.java:2148)
    at org.eclipse.swt.widgets.Shell.windowSendEvent(Shell.java:2411)
    at org.eclipse.swt.widgets.Display.windowProc(Display.java:5863)
    at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
    at org.eclipse.swt.widgets.Display.applicationSendEvent(Display.java:5291)
    at org.eclipse.swt.widgets.Display.applicationProc(Display.java:5441)
    at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
    at org.eclipse.swt.internal.cocoa.NSApplication.sendEvent(NSApplication.java:128)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3696)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1150)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
    at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1039)
    at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:153)
    at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:680)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:594)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:151)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:653)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:590)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1499)
    Caused by: com.genuitec.eclipse.typescript.services.internal.Bridge$BridgeException: TypeError: configFile.rules.get is not a function
    at TSLintEndpoint.getQuotemarkCharacters(/Users/olihd/.p2/pool/plugins/com.genuitec.eclipse.typescript_2.5.3.201712182257/bin/bridge/tslint/tslintEndpoint.js:331:64)
    at <static>.createQuickFixesForImport(/Users/olihd/.p2/pool/plugins/com.genuitec.eclipse.typescript_2.5.3.201712182257/bin/bridge/language/importsManager.js:453:39)
    at ImportsManager.getCompletionChanges(/Users/olihd/.p2/pool/plugins/com.genuitec.eclipse.typescript_2.5.3.201712182257/bin/bridge/language/importsManager.js:84:17)
    at LanguageServiceHost.getCompletionChanges(/Users/olihd/.p2/pool/plugins/com.genuitec.eclipse.typescript_2.5.3.201712182257/bin/bridge/language/languageServiceHost.js:247:42)
    at LanguageEndpoint.getCompletionChanges(/Users/olihd/.p2/pool/plugins/com.genuitec.eclipse.typescript_2.5.3.201712182257/bin/bridge/language/languageEndpoint.js:226:21)
    at Main.processRequest(/Users/olihd/.p2/pool/plugins/com.genuitec.eclipse.typescript_2.5.3.201712182257/bin/bridge/main.js:91:33)
    at <js-bridge.call>(Unknown Source)
    at com.genuitec.eclipse.typescript.services.internal.Bridge.processRequest(Bridge.java:230)
    … 64 more

    Replacing the tslint.js helped. But would be nice if such essential features would be quality checked the next releases…

    • This reply was modified 3 months ago by  olihd.
    • This reply was modified 3 months ago by  olihd.
Viewing 15 posts - 1 through 15 (of 16 total)

You must be logged in to reply to this topic.