Sublime Forum

Display Functions (Java)

#21

Awesome plugin. SL2 now more closed with an IDE :smile:, love it and thanks!

It could better if have pre-loaded default packages, classes from *.jar libraries.

0 Likes

#22

Hi! Is this plugin still being developed? Iā€™m very interested in these functions, but I canā€™t get it to work in the latest versions of ST2. I suspect its the new autocomplete functionality in ST2 that breaks it. Anyone know how I can fix it?

0 Likes

#23

Sorry, I kinda lost track of maintaining this plugin for the past few updates. Iā€™ll push a fix in a bit though. Thanks for the heads up.

0 Likes

#24

Should be fixed now. Let me know. If the functions arenā€™t popping up right away, though, press control+space.

0 Likes

#25

Iā€™ve been using your plugin, but it isnā€™t putting the parameters into the function like it is supposed to. Iā€™ve been looking through the code and I canā€™t figure out how youā€™re adding the parameters. Could you care to explain how your plugin is working?

0 Likes

#26

Well your plugin works fine for adding the parameters, but not when writing test classes. So I have a project set up with main and test packages and if Iā€™m writing in the test class and I put a period, it says

Traceback (most recent call last): File ".\sublime_plugin.py", line 362, in run_ File ".\displayfunctions.py", line 34, in run File ".\displayfunctions.py", line 91, in get_obj_type File ".\displayfunctions.py", line 73, in get_return_type IOError: [Errno 2] No such file or directory: u'C:\\workspace\\testing\\src\\main\\java\\com\\thing\\thing2\\thing3\\String.java'

I subbed String in there for a real class name, but it happens no matter what.

I actually forgot to submit this comment, and now after about 3 hours I have figured out how to make this work while writing in test classes too. I donā€™t know how to make changes to stuff on github, so here you go, I added several lines to the make_filename function and I added another function to iterate through the folders.

[code]def make_filename(self, classname):
this_file = self.view.file_name()

    dir_len = this_file.rfind('/')  # (for OSX)

    if not dir_len > 0:
        dir_len = this_file.rfind('\\')  # (for Windows)

    this_dir = this_file:(dir_len + 1)]  # + 1 for the '/'

    this_dir = re.sub(r"\\test.*", r"\\main", this_dir) #added this to move back to main directory
         
    for i in self.locate(classname + ".java", this_dir): #added this to find the class in the directory
        this_dir = i
    return this_dir

def locate(self, pattern, file_path):
    '''Locate all files matching supplied filename pattern in and below
    supplied root directory.'''
    for (path, dirs, files) in os.walk(file_path):
        for filename in fnmatch.filter(files, pattern):
            yield os.path.join(path, filename)[/code]
0 Likes

#27

whatā€™s Theme and Color scheme do you use? It looks wonderful and clearly!

0 Likes

#28

My colorscheme (a modified version of IR_Black)
I donā€™t remember what theme I was using in that screenshot. Currently I use Soda ā€“ Dark though.

0 Likes