spywhere / Javatar

Java Development Plugin for Sublime Text 3
https://javatar.readthedocs.org/
Other
170 stars 20 forks source link

Javatar removes "Project Src" path from Settings File #48

Closed daneb closed 9 years ago

daneb commented 9 years ago

Problem: javatar source folder path (entry) is being removed from the settings file illegally

How to Replicate: When my project's main() is long running or waiting for STDIN, closing the window, then closing the Project, results in a side-affect of the javatar source folder path being removed from the settings file.

Affect: This causes a whole host of issues, one which resulted in me being able to set any dependencies (External Jars) in any project I created. The menu item with the directories after Project -> Dependencies -> External JAR just didn't load. That's harder to reproduce. What isn't is that every time I have to reset the source folder path.

Here is a gist of my configuration before, and then after: https://gist.github.com/daneb/e51b9c1defdd303f9c13

My environment: Sublime 3083 Mac OS 10.10.4

Thanks and please shout if I can assist with further info

Dane Balia

spywhere commented 9 years ago

I think the problem is you are working so fast! and Javatar cannot keep up with you. What I means is when you are working with Javatar, Javatar will keep storing the project data to user's settings file which will be used when you restart Sublime Text, after close it without saving your project, to restore the last project data as it should be consistent with all the things.

A project settings can be lost due to this procedure, when you open the Sublime Text, Javatar will store the project data immediately and every 60 seconds (by default). That is mean if you already open Sublime Text and open your project file (or create a new one), while 60 seconds timeout is not yet reached, you close the Sublime Text causing unsaved project data lost (which means on the "after" part of your gist is what Javatar saved before timeout).

To solve this issue there are 2 ways, the first is to disable automatic project restoration by set allow_project_restoration to false, the another is to set the timeout (interval rather) faster than 60 seconds using the project_update_interval key in the settings file.

If you have further problems please include Javatar action history too, accessed via Key+Shift+K, Key+Shift+H.

daneb commented 9 years ago

Thank you very much for your response and that makes sense. I think I will go with the project_update_interval key.