Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Outline View takes a long time to refresh. #667

Closed
fujiokae opened this issue Apr 1, 2021 · 5 comments
Closed

Outline View takes a long time to refresh. #667

fujiokae opened this issue Apr 1, 2021 · 5 comments

Comments

@fujiokae
Copy link

fujiokae commented Apr 1, 2021

I have been using Eclipse PHP with JSDT for a long time but I think JSDT's auto-completion is no longer working with the recent Eclipse (> 2019-03). so I'm considering switching to WWD. There are several issues in WWD compared to JSDT.

One of them is that it takes a long time to refresh the Outline View. One of my JS file has > 20,000 lines and when I edit it, the Outline View tries to refresh, which takes a long time (several seconds showing "Computing symbols") and makes my typing paused and also the auto-completion proposal takes longer to popup. I don't think it's necessary to refresh the Outline every time I add a new line within a function!

Please speed up the Outline View refresh. Or provide a way to defer the refresh of the View (like a choice of "Manual" or "Auto" refresh). Or please refresh it in a smarter way (e.g. defer refreshing while coding within a function or whenever the user is typing). You may propose to hide the Outline View while coding but I don't want to repeat show/hide the View numerous times.

If this slowness is not addressed, I would be hesitant to switch to WWD and I may have to continue using the old Eclipse with JSDT where the auto-completion still works fine (i.e. Eclipse Mars).

@mickaelistria
Copy link
Contributor

makes my typing paused

This is not expected. Can you please share a file that allows to reproduce this issue?

@fujiokae
Copy link
Author

fujiokae commented Apr 1, 2021

Thanks for a quick reply!
For a test purpose, I created an empty project and added the large JS file (mapper_v3.js, zipped and attached here) I reported frequent interruptions while typing on.
I experienced the same interruptions. When I open it, it would take 8~9 seconds to refresh the Outline View. When I jump to the bottom of the file ([CTRL]+[End]), the codes are not yet colored.
Then I would start typing a new function like:
function test() {
console.log("....");
var num = Math.abs(-100);
console.log(num);
}
My typing (e.g. typing '.' to activate content assistant, adding a new line, deleting characters) is often paused and I have to wait a few seconds. These interruptions happen even when the Outline View is hidden. It is so often and frustrating that I can't use it for my daily development work.

I experienced a similar delay with Eclipse Mars & JSDT but it provided "Include Path" for Javascript where I excluded a large third party Javascript library (an old version of EXTJS), which improved the typing response significantly. I can't find a similar setting in WWD and I don't know how widely and deeply the WWD's content assistant refers to. But in my test, this large library is not included. So, the problem is something else.

Attached is a screenshot when I was deleting characters and got paused.
2021-04-01 (3)

mapper_v3.zip

Thanks for investigating in advance.

I use Eclipse PDT package 2021-03 (4.19.0) / Build id: 20210312-0638 on Windows 10 (64 bits) on a HP desktop.
WWD is 0.10.6.

@mickaelistria
Copy link
Contributor

Thanks.
I could reproduce some "pauses" and looking at the error log, it looks like the issue comes from computation of syntax highlighting that's taking too long and running in the UI Thread. I've opened eclipse-tm4e/tm4e#275 to track that in the right component (TM4E).

@fujiokae
Copy link
Author

fujiokae commented Apr 6, 2021

Thanks, Really appreciate it!

@akurtakov
Copy link
Contributor

Closing as tm4e pr has been merged. Please open new issue with details if you still have problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants