Coder Social home page Coder Social logo

elie-g / autocomplete-java-minus Goto Github PK

View Code? Open in Web Editor NEW

This project forked from noseglid/autocomplete-java-minus

0.0 1.0 0.0 1.03 MB

:coffee: Autocomplete for Java that only autocomplete.

Home Page: https://atom.io/packages/autocomplete-java-minus

License: MIT License

HTML 2.80% JavaScript 97.20%

autocomplete-java-minus's Introduction

Under development

There's a lot of features regarding autocompleting java which is not complete yet. Parsing Java with all its quirks is complicated and it will take a long time to get everything right.

Read the CONTRIBUTING guidelines before opening PRs or Issues.

autocomplete-java-minus

Autocomplete suggestions for Java.

Demonstrative autocompletion

Getting started

Create a file named .classpath in the project root.

This file will be parsed an classes will be extracted from it and added to autocomplete suggestions.

It should have the same format as the classpath has on your platform. On UNIX it would look something like

/path/to/one/dependency.jar:/home/noseglid/devel/JavaProject/build/classes

autocomplete-java-minus will parse dependency.jar as well as any class or JAR file under /home/noseglid/devel/JavaProject/build/classes

autocomplete-java-minus differs from autocomplete-java in that it:

  • uses jdjs to parse JARs/Classes. It's a native javascript implementation which is way faster, consumes less resources and offers more flexibility than spawning javap over and over again.
  • will only autocomplete. The limited scope will increase maintainability and quality.

What will autocomplete-java-minus not do ?

autocomplete-java-minus aims to only handle auto completion. Thus, the following will not be implemented in the scope of this package.

  • Work with import statements (although it does let java-import-wiz know that an autocompletion was made so it can work with imports)
  • Dependency source code download or display
  • go to or return from declaration of any kind
  • Reconstruct source from .class-file

While these may be desired features, it is left up to other packages to implement.

Add import statement after autocomplete

In java it is quite tedious to look up which package/namespace a class belongs to. autocomplete-java-minus will work with java-import-wiz to automatically insert import statements when an autocompletion is accepted.

State of functionality

Current features

  • Parse implicit Java JARs (rt.jar, javaws.jar, etc).

  • .classpath parsing:

    • JAR files
    • Class files
    • Folders (traversed for Class or Jar files)
  • Autocomplete suggestions for parsed classes

    • Classes (Interfaces, Annotations, etc are all classes)
    • Constructors with arguments and snippets
    • Static methods of classes with arguments and snippets
  • Autocomplete non-static members

    • Fields and members from instanced classes, and it's inherited members
    • Member fields and methods from superclass
    • Class local member fields and methods
    • Method local variables
  • Integrated with java-import-wiz for auto import statements.

Upcomming features

  • Automatically refresh classes in the current project as it's edited.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.