- This topic has 40 replies, 3 voices, and was last updated 5 years, 1 month ago by Brian Fernandes.
-
AuthorPosts
-
Fedor LosevParticipantHi, I’m trying to migrate our projects from Webclipse/AngularIDE to CodeMix (just installed fresh AngularIDE with CodeMix 219.9.19 from the site). I can not get it working as expected.
I do not see errors and warnings in the Problems view on the whole project. They appear only for a specific file when I open the file and go away when I close it.
When I reopen the IDE sometimes I see the error. I open the file editor, close the tab – error is cleared from problems view (while still being there, displayed in problems view on file open and reported in the watch terminal).
Build/Clean does not help (and has other issues).
I tried both button watch and “always watch for changes” modes both exhibit the same issue.
In the error log I see “The Angular Language Service server crashed 5 times in the last 3 minutes. The server will not be restarted.” without any details, not sure if it is related.
Tried with default settings for new project Angular 7 (and also with Angular 8, node, npm, all recent stable), the same effect.
I notice there are some other issues:
– when watching for changes it opens new watch terminal tab after each Project/Clean (previous watch tab stays open).
– a couple of times errors are not in sync even if the file is open (after the fix markers continue staying on the inappropriate line and in watch there is “found 0 errors”)
– lint crash/exception (tslint bug) seems to make content assist and problem view work incorrectly afterward
– few minor ones, like clicking on Play Video in CodeMix view results in “Folder does not exist” errorBut before reporting other issues, first I need to get around problems view working on the whole project (if it does not support the whole project errors view there is no point evaluating it).
- This topic was modified 5 years, 3 months ago by Fedor Losev.
Fedor LosevParticipantJust to describe some of the weird scenarios:
1) IDE with fresh project is opened (the project is by default “click the build icon”). There are compile errors and warnings in app.component.ts, nothing is displayed.
2) Going to Project/Settings and enabling “Always watch for changes”. It opens three (!) terminal tabs one empty and two “Starting compilation in watch mode”. Both terminals show “Found 1 error” and Problems view displays the error, doesn’t display any of the warnings.
3) Open app.component.ts – warnings suddenly appear.
4) Close app.component.ts – all is gone from the Problems view, errors and warnings, just empty.
5) Restart IDE. Nothing in the problems view, no errors, no warnings. No terminals open.
6) Project/Clean. Terminal “watching” is started, error (but no warnings) appear in the Problems view. Open file – warnings appear, close file – all is gone from Problems view.
7) Project/Clean again, one or two _additional_ watching tabs appear (previous still stay open). A single error is in Problems view. Open file – warnings added, close file – nothing again, no warnings, no errors.
8) Restart IDE. Open app.component.ts. Errors and warnings are shown after a delay (and the only way to tell IDE is doing something is CPU fan noise, no progress strip, nothing).
Select error lines and delete them. Sometimes errors/warnings disappear as expected, but randomly all get out of sync: watch displays no errors, Problems view displays both errors and warnings (non-existent) and editor marker displays a warning (non-existent). They go out only when closing the file.- This reply was modified 5 years, 3 months ago by Fedor Losev.
- This reply was modified 5 years, 3 months ago by Fedor Losev.
Attachments:
You must be logged in to view attached files.
Srivatsan SundararajanParticipantHi Fedor,
Thank you for the detailed report. We are able to replicate the issue on our side too. I have filed an internal bug report for further investigation and we will get back to you as soon as we have an update on this.
Really sorry for the inconvenience.
–Vatsan
Genuitec Support
Srivatsan SundararajanParticipantFedor,
We just released an update to CodeMix that contains fixes for the issues you reported, as well as improvements to the Angular tooling in general. Kindly update your CodeMix installation and let us if know if it resolves your issues.
You can also reach out to us directly via Live Chat available in-product (Help > CodeMix > Live Chat…).
Thanks once again for the prompt feedback and in helping us make CodeMix better.
–Vatsan
Genuitec Support
Fedor LosevParticipantHi, now it looks better though from a brief check there are some issues.
The most disturbing one: while typing, the whole validation/compilation runs in the background and with many errors in a large project it ocassionally interrupts IDE to the point it is barely possible to type normally, it hogs CPU and jitters input (the PC is pretty strong). Old webclipse was optimal in this regard by showing errors/warnings/info mostly in the editor only for current file and doing full project validation/updating other IDE parts only on file save. At some point with many errors, the whole IDE just hang completely so I had to kill it.
This one is critical as well: formatter does not respect indentation. All is set to 2 spaces similar to old webclipse but formatting makes one space ident no matter what. Did I miss some setting? Shouldn’t it take from tslint/eclipse?
Other issues:
Syntax coloring: keywords are not colored (new, any, etc.), class names are not colored.
Auto import does not show import path in the suggestion list, only in the details (so you one needs to select the suggestion to see the path).
Auto import for first import in a file does not respect project single quote setting (inserts first import with double quotes and next imports with single quotes only after fixing the first; quickfix and warning are working correctly).In old webclipse there was a setting to specify tsconfig per project. Is it gone now? How do I specify non-default tsconfig for the IDE?
Also, it is not clear what is used by default under the hood. Watcher command shows it runs tsc with tsconfig.json while in .angular-cli.json (angular 5 app) there is tsconfig.app.json (didn’t check yet what and how would work for multi-project apps in new Angular, would it respect per-app tsconfig in IDE?).
Brian FernandesModeratorFedor,
1) Validation
You should definitely not be experiencing delays of that magnitude. From your previous screenshots, it would appear that you have project validation enabled, and it’s validating using the externaltsc
task – which should be validating only what has changed, incrementally, so it should definitely not take too much processing power. Since this is an external task, it will only do a validation once you save files as well – so nothing should be happening as you type.Please see this page for our validation documentation. If you turn project validation off from the property page (you can choose several of the settings on that page to see that it doesn’t start), then does your performance improve? This will help us figure out if the external task is the cause of the slow down and then drill deeper into it.
2) Formatting
We’ve offered quite a bit of flexibility when it comes to formatting, so several formatters can be used. Can you tell me what file types are affected – I’m assuming HTML and TS? If you format the file, on top of the editor, a small bar should show what formatter is in use and clicking Configure should help you correct the settings, and if you let us know which formatters are being used, we can help fix. We do not copy the Eclipse formatting settings, but you can configure the formatter at Preferences > CodeMix > Formatter.
https://www.genuitec.com/docs/workbench/formatting-in-codemix/3) Syntax Coloring
Do you mind sending us a screenshot of what you see?4) When you say Auto-import, do you mean the quick fix suggestion, or content assist? In both cases, I do see the path, but perhaps you are talking about something else – if you could send a screenshot, that would be great.
We’ll take another look at the quick-fix quoting problems – there’s a known issue there which I thought was fixed.5) Will add a follow up post with notes on how tsconfig is handled shortly.
- This reply was modified 5 years, 2 months ago by Brian Fernandes. Reason: added missing validation doc link
- This reply was modified 4 years, 11 months ago by Brian Fernandes.
Fedor LosevParticipant1) Validation
I’ll play with it a bit more for more definite conclusions, as it does not happen all the time.
But I think the root problem of what I’ve described is that progress does not correctly reflect the background task state. The scenario probably is as follows: I save a file that causes a large recompilation but there is no progress or feedback. I continue editing the file while large compile task hogs in the background (which I’m not aware of, since there is no indicator) and the current file on fly compilation + background task together slow down the IDE.There is also CPU consumption problem in general – in completely idle IDE the process “Node.js: Server-side JavaScript” corresponding to the watch task constantly hogs CPU at 5-10% (on an I7). I’ll try to see when it starts happening and if it is triggered by a particular scenario.
2) Formatting
>> you can configure the formatter at Preferences > CodeMix > Formatter
Yep, I played with these. I don’t see any setting for the typescript ident there.3) Syntax coloring
attached
I see now in screenshot zoom that it is probably colored but there is bad default palette in Ligh appearance, especially on dimmed screen.
Didn’t find yet where can I change colors for syntax highlighting.4) Probably you call it content assist, I mean when I press CTRL+Space on unknown definition there is a selection of available imports for it.
The screenshot is attached.
In addition to what is in screenshot, there is minor but sometimes annoying issue also existing in old versions: if one presses CTRL+SPACE on already imported item it displays nothing for assist. It should allow to select and import as if it was not imported and replace if a different item was selected. Otherwise, to fix or change an import one needs to go to the beginning of the file, locate and delete old import, go back, etc.5) There are still sporadic and inconsistent issues with problems view and editor sync.
It sometimes retains in problems view fixed errors with adding “[Stale]” to them and also sometimes there are “[xxx] File change detected starting incremental compilation” shown as errors.
In ts editor, there are also sometimes stale warnings likeThe 'use-output-property-decorator' rule threw an error in 'xx/app.module.ts': TypeError: Cannot read property 'text' of undefined at DirectiveMetadataWalker.visitClassDeclaration
which go away on clean.Attachments:
You must be logged in to view attached files.
Brian FernandesModerator1) If it’s the external task running / building, while we don’t show activity in the Eclipse progress UI (something to consider) – you should definitely see some activity in the Console about what it is compiling – as you can see in the first screenshot you sent us with the [watching] tab. Please check the activity you see here the next time you run into slowdowns.
2) Please tell me what Formatter is configured for TypeScript – if it’s the “TypeScript and JavaScript Language Features”, you can configure the indentation at Preferences > CodeMix > Editors, where you can choose to have it follow the indentation it detects in the file, or take the settings from Eclipse or CodeMix (which you can then set on that page).
3) To change the syntax coloring, please go to Preferences > CodeMix > Editors > Syntax Coloring. Yes, we can see the color is barely noticeable, and I’ll file a bug for us to improve the default.
4) a) The screenshot helps, will file a bug for the missing path.
b) So you mean if you had imported EventEmitter from @angular/core, but you want to change it to the one from protractor instead? Got it, another bug for us.5) When you see the [Stale] and [xxx] File change, errors – these are only in the Problems view and not in the editor?
6) tsconfig handling – we delegate everything to the Angular Language Service, as opposed to trying to do this ourselves as we were doing in Webclipse (and couldn’t keep up). So even in Angular’s new workspace model with multiple apps within a workspace (and thus within a single Eclipse project) – the individual tsconfig files including the tsconfig.app.json files which extend the root tsconfig.json should be respected. You will find that a watch task in such a project will watch both projects by default. If you a non standard structure, can you please share some details on the project structure and we’ll be able to test that at our end.
Brian FernandesModeratorFedor,
Just checking in to see how your time with CodeMix has been going over the last couple of weeks. If you’ve had any time to look into the questions above, we’d be happy to continue investigating the issues you raised.
Fedor LosevParticipantHi Brian, thanks for the ping.
I managed to resolve part of showstopper performance things (the hard way and a lot of time) some of which are related to environment (old nodejs installation seems to conflict with CodeMix and newer node, as nodejs seems to share incompatible global cache folder, there was windows 10 full file cache mem bug, etc.) and some related to angular 8 – I’ve spent a lot of time and CodeMix apparently did not work well with latest angular 8 (which I found poor regarding compilation performance in general regardless of CodeMix, but CodeMix has its own problems there, even wizards don’t work as parameter syntax had changed).
Anyhow, I switched to 7 and it worked way better. Another part of problems was that on migration I worked a lot with npm install / package.json / configurations and CodeMix doesn’t like it, it pops watch terminal tabs erratically from which it is not clear what to close, they pile up and closing sometimes seems to interfere with problems view state.
There are a lot of bugs and issues I’m trying to collect aside, I’ll outline more later. As you know it is a lot of work to reliably recreate and document an issue so I’ll just outline what I’ve saw, have no time now for reproducible scenarios and all details; I’ll try to document more as I work and after you fix some apparent.
Fedor LosevParticipant=============
Some critical:Most lint warnings and info appear only after opening the file and are not shown by project validation. They should always be shown for the whole project/workspace with watch enabled and update properly on file save. It should be a robust feature as discovering broken things only on the full build from the command line negates most of the IDE benefits.
Template errors/warnings are shown only on file open.
Not all template errors reported even on file open (from those reported by ng with fullTemplateTypeCheck).
Deleting folder frequently results in “Exception has been caught while processing the refactoring Delete Resource” (java.nio.file.DirectoryNotEmptyException in error log) or other errors. Rename, move, other resource refactoring is frequently problematic as well. Folder move I’m afraid to touch, sometimes it fails in the middle in a way that it deletes source files and not copies to the destination, resulting in totally deleted files. From the short experience on move, the code refactoring itself (fixing references) also doesn’t work well, some references are replaced, some are not, but I’ll see more after it at least moves resources robustly.
On project conf files update, npm install, clean and various other cases new watch tabs pop out without closing old, sometimes 2-3 at once. They pile up and it is not clear which one to close. Closing some seems to interfere with problems view update. If I try to work during “CodeMix validation” progress it sometimes behaves not healthy, opening new watch tabs, messing with errors, etc.
Editor/UI is blocked by background compilation/validation. I’ll try to go into more detail here, the issue is prominent and happens a lot.
-
As I said, sometimes the editor interaction seems to be disrupted with current file background compilation. CPU usage rises but not extremely. The overall impression as if editor input and coloring is blocked or disrupted by background on-fly compilation. More errors (and probably more unsaved files, not sure) are open the slower it gets, sometimes to the point when it is not possible to work at all (very long delays on keyboard input, sometimes file is not editable / not colored on file open for some time). Project close/open or IDE restart helps for some time. This seems to happen much less on a small project with few errors
.
Note, the problems view is updated with errors live as I type (and as in CodeMix marketing animation) and not on file save. This is a good thing functionally, but maybe this hints about the source of sluggishness. If updating all the state outside of the current edit is what causes sluggishness, it is preferable to have a setting to turn it off and work in a usual mode, only current editor validates live and huge cross-file workspace build updates on save. Though, in general, nothing should interfere with the editor, even on save, no matter what IDE does in the background. I can wait some time until getting feedback on errors but I can not work when there is interference with typing and file opening. It is not feasible to work when I can’t do undo after save without waiting for a while.At most prominent times, the CPU rises to about 16% for angularide.exe process (not for one of CodeMix or node processes). Sometimes the UI becomes unresponsive in a strange way e.g. I can open Project properties but can not navigate between items (I can but it responds with long delays). One time after adding to tsconfig noUnusedLocals/noUnusedParamaters and trying to edit, all hang almost completely (there was a progress task hanging ‘linking view with current editor’ or something like that). After the restart with these flags the problem became more apparent, say continuously pressing a key constantly interrupted. In progress tab I see briefly ‘Building workspace’ blinking so I think it just makes rebuilds in the background as I type. Since CPU is not that busy, the problem is not with background compilation per se but with the way UI updates from it. My guess it also invokes this building in each editor separately so if I make something causing long update, go to another edit tab and type there, they add up and slow more and more or block editing. Note it seems to affect all edit windows, not only code.
I’m not sure how the watch mode and this background build interact/coexist, watch compiler in the background seems to add to and magnify the problem.
With a lot of errors it goes like this: watch is complete, after some long delay problems view is updated (and between watch completion and problems view update I see “Linking viewer selection with current editor” task in progress, sometimes the UI is responsive at this time, sometimes it is not). If I click on some error, the opened file is not colored and is not editable for some time. After a delay, it is colored and editable and all seems normal. If I continue to edit without saving, it becomes slower and slower depending on how many errors are in the file without any apparent task shown/running (as I said sometimes building workspace is blinking but very briefly). Left/right arrow keys cursor move is also affected some time after edit until all ghost updates are finished and then move normally. After some time in this scenario, sometimes I also start to see [Stale] errors (in problems view).In short, it seems there are blocking continuous updates to Problems view and other UI that block the editor and interferes one with another. As I said, update after watch blocks not only editor (read-only not colored) but other UI as well, e.g. CTRL+SHIFT+R dialog opens without a problem but shows nothing for a while. Once CPU reduces everything works back (as I said, CPU not high, ~16%, but clearly something happens in the background).
Disabling/Enabling CodeMix validations don’t seem directly related to this – the live typing problem persists when disabled (apart from, as I said, there is editor blocking delay on updates from the watch and it magnifies the problem overall when enabled).I think for QA it may be good idea to use some generated project template with thousands of files and thousand errors/warnings. Many things like this one and many others I reported before are readily reproducible on such scale but barely happen on a scenario “New Project / Add class”.
============
Some major:Workspace/libraries seem not handled as expected from an IDE (basically, from what I tried, changes in library do not invalidate dependent code in app; also navigation from app code is possible to the library d.ts only and not to the actual code, it is very unhandy; I know this is complex to handle in general but at least basic cases can be supported).
I’ll play with it a bit more. Of course, I can start some CLI watchers but they are not integrated with validation and it doesn’t sound like an IDE way to tackle multiple cross-module development problem. I wish all this NPM stuff worked in IDE the same smooth and fast way as maven/gradle/java/eclipse stack, but this seems out of each. NPM/angular plugin to handle dependencies seamlessly like maven eclipse plugin, without terminals, would be a killer feature… Well, this sounds like a large feature request rather than a bug, but at least dependent code updates should work somehow. Though it may be I missed some configuration supporting this.Problems view is still not in perfect sync with files and watcher state. There are times errors are shown in the watch terminal but the problems view is not updated. Opening and saving some unrelated file e.g. app.module suddenly corrects the state. Sometimes the editor stays with errors even if they were corrected and watch shows 0 errors. It does not happen all the time and didn’t notice yet a particular scenario leading to this.
Unsaved file errors in editor sometimes do not go away after typing a fix until typing something e.g. space in the same line/block where the error is shown.
Method/type hover tooltips sometimes have an offset that does not allow to move the cursor to them (to pin or navigate). They are dismissed immediately when the cursor is moved through the space between the code position and the tooltip.
Terminal+ implementation is still very basic, not colored, does not properly support CLI output e.g. progress, doesn’t reflow text when resized.
And most important, still no file links in Terminal+ after few years… Given that we rely on CLI output to fill missing IDE features and feedback, I think it is critical.Frequently error messages are arbitrarily truncated, e.g. “Property xx does not exist on type xxx..” shows in error view as “Property” or “Property ‘”. Sometimes I think there is a pattern, the first error is truncated to a single word, second truncated less, and so multiple errors compose stairways in problems view.
- This reply was modified 5 years, 2 months ago by Fedor Losev.
- This reply was modified 5 years, 2 months ago by Fedor Losev.
- This reply was modified 5 years, 2 months ago by Fedor Losev.
- This reply was modified 5 years, 2 months ago by Fedor Losev.
Attachments:
You must be logged in to view attached files.
Fedor LosevParticipant============
Some othersFor JS files, comment rules e.g eslint-disable-line seem not to affect infos/warnings. Also, how to control JS files infos/warnings globally on project level? I tried root eslint json it seems to intefere with CodeMix setting (though hadn’t enough time to play with it, to me comment rules are most important). Note, JS files generated by codemix/angular for new projects like karma and protractor immediately have a bunch of warnings and infos. Meantime I add them to ignored but it is better to suppress with directives.
How to configure HTML warnings?
Angular template expressions are html/xml validated e.g. x > y => “Special characters must be escaped”. Formally ‘>’ is not a valid XML, but for angular template I think it is too rigid to enforce this, it should be configurable. There should be separate setting to control warnings on angular template expressions and regular HTML since they are different type of content. Webclipse never gave warnings on this nor angular validator complaints, replacing > with > in existing expressions is not an option. On the other hand, it still should warn on such things in non-expression area.
Infos appear not just only after opening files, sometimes they suddenly appear on opening irrelevant files (the scenario is not clear yet to me, may be it is just some long bg validation finishes by coincidence).
How to disable particular vscode suggestions in the given line of the code or at least per suggestion type, e.g. rarely making sense and misleading ‘This may be converted to an async function.’
JSON::CodeMix undo chunks are sometimes strange, i.e. I edit here and there and after undo it returns to the point before many edits.
Multi file search/replace – problems view warnings seem not updated (probably the same issue that doesn’t show all lint errors without file open).
After opening the IDE or closed project, the watch tab sometimes is not open, sometimes open afer long delay without progress indication before (the project setting is watch). Editing any code file and saving starts the watch.
If project is not completely validated, after opening IDE there is sometimes long delay without any progress indication until watcher/validation starts.
Not showing progress indicator during watch compilation is a poor usability, it is basically imposes a requirement having a terminal tab against eyes all the time. IMHO all this watch terminal is a workaround for undeimplemented feature for background compilation.
There are times validation is complete, no progress/work indication, IDE seems to be idle, but CPU is rised for CodeMix process (reduces with time). If it is doing something it should always feedback. May be it is somehow related to editing problem described before but this time there are no any disruptions.
Back arrow* edit button doesnt work across files.
Sometimes on CTRL+F:
Highlight search occurences has encountered a problem (clicking OK continues normally)An internal error has occurred. org.eclipse.core.runtime.AssertionFailedException: assertion failed: at org.eclipse.core.runtime.Assert.isTrue(Assert.java:113) at org.eclipse.core.runtime.Assert.isTrue(Assert.java:99) at org.eclipse.jface.text.Position.<init>(Position.java:65) at com.genuitec.eclipse.inlinesearch.editor.findreplace.FindOccurences.getOccurenceIndex(FindOccurences.java:229) at com.genuitec.eclipse.inlinesearch.editor.findreplace.FindReplaceBar.searchSelectionChanged(FindReplaceBar.java:2050) at com.genuitec.eclipse.inlinesearch.editor.findreplace.FindReplaceBar.highlightAllOccurances_(FindReplaceBar.java:2002)
No quickfix to remove unused imports – this is very frequent operation and should be supported as mass-action, at least in the same file (btw what about organize imports wizard discussed long ago, any hope?).
No quick fix for frequent html warnings: e.g. value of attribute must be in double quotes
node_modules, etc is not marked as derived and appears in resource select, search, etc. In general CodeMix should always mark node_modules and out dir as derived, even if wiped/recreated by the user.
—————–
There are others I’ll try to document them later.- This reply was modified 5 years, 2 months ago by Fedor Losev.
Brian FernandesModeratorFedor,
Wow – I think that is the most feedback we’ve ever received on any of our products. Thank you taking a serious amount of time to document your experiences and findings.
Some of the issues you raised, like the watch tasks popping up in Terminal+ on file modification, is something we’ve noticed very recently as well and is rather easy to replicate. Others like the CPU usage issue remains a mystery – though we’ve made very specific and significant performance fixes, there are definitely some issues still out there that we have to fix.
I’ll respond tomorrow with a more specific set of questions, or acknowledgements across all the issues you’ve raised. Again, thank you so much for taking the time to put these notes down for our team – it’s deeply appreciated.
Brian FernandesModeratorFedor,
Based on your reports, I have a few questions for now:
1) As you’ve specifically mentioned large projects and thousands of error/warnings, can you share with us the size of your project? Maybe the number of TS files and the number of HTML files (angular templates)? Trying to get some idea of scale so we can test similar projects locally.
Also, why do you have thousands of errors / warnings active at times – if this is a working project, I would expect the number of active errors to be small. I’m assuming (synchronization problems aside) that these errors are valid?
2) Is the large project you are working with part of an Angular workspace?
3) Can you share a screenshot of your Project validation page, I’m assuming you have the project in question set to “always watch”?
4)
Method/type hover tooltips sometimes have an offset that does not allow to move the cursor to them (to pin or navigate). They are dismissed immediately when the cursor is moved through the space between the code position and the tooltip.
Mind sharing a screenshot of this the next time it happens?
5) The screenshot you shared of the odd error truncation – are these errors from the watch process? If so, any idea if they appear as expected in the console output?
6)
Infos appear not just only after opening files, sometimes they suddenly appear on opening irrelevant files (the scenario is not clear yet to me, may be it is just some long bg validation finishes by coincidence).
Could you clarify here what you mean by “infos”? Do you mean notifications, or info level problem markers?
Thanks!
Brian FernandesModeratorFedor,
Sorry I missed you on live chat. We’re very keen to know the answers above, though specially to #1. In the meanwhile, I have some additional notes for you.
7) If you go to Preferences > CodeMix > Editors > Extensions > TypeScript > TypeScript/JavaScript Common, you can turn off “Suggestion Actions”, to get rid of the suggestions.
8) “Back arrow”, edit button – I’m assuming you mean the button that goes to the last edit location on the toolbar? We did find this working across files. Note that this goes back only once, just like non-CodeMix Eclipse editors, so it will jump to another file only if you haven’t made edits in the current file. The other, multi-purpose back button is also able to move between files. Perhaps we’ve misunderstood what you were talking about?
9) To organize TypeScript imports, you can press Ctrl + Shift + P and then “organize imports” in the palette to execute the organize imports command manually. You can also choose to have this happen on save, by adding the following to your workspace’s settings JSON file (on the Preferences > CodeMix > Editors page, the top of the dialog has a button to ‘Open Settings JSON’)
"editor.codeActionsOnSave": { "source.organizeImports": true, "source.fixAll": true }
Alternatively, if you add
no-unused-declaration: true
to your tslint.json – a quickfix should become available to remove unused imports. -
AuthorPosts