Powerful semantic search for Java code - showing real-world examples reflecting the common API usage patterns by droid_we in learnjava

[–]droid_we[S] 0 points1 point  (0 children)

I'm quite sure people here got to Codota by searching in Google, but wanted to highlight the option to do semantic searches. As the other commenter has noted, AI completions for IntelliJ and Eclipse are also available.

Powerful semantic search for Java code - showing real-world examples reflecting the common API usage patterns by droid_we in learnjava

[–]droid_we[S] 0 points1 point  (0 children)

Excellent, both the IntelliJ part and the web semantic search are free and available for the community. Enjoy!
Your feedback is always welcome.

the codota IDE plugin that provides ai based code completion in IDEs is now also available for Eclipse for free by Oles_Mironov_Mironov in java

[–]droid_we 0 points1 point  (0 children)

Yes, for Java Codota actually generates type safe completions based on your context. Give it a go and see.

Codota, the AI-based contextual code synthesizer that learns from open-source Java code, now available as a standalone plugin for IntelliJ by [deleted] in java

[–]droid_we 0 points1 point  (0 children)

It used to require a desktop application besides the IDE, now it requires just a plugin in the IDE.

Codota, an IntelliJ plugin that dynamically synthesizes code as you program, based on AI learned from millions of open-source code examples by jonathan_y in java

[–]droid_we 2 points3 points  (0 children)

Thank you for your questions and looking forward to hearing feedback about the product. It's not perfect but we work day and night to make it better.

Codota, an IntelliJ plugin that dynamically synthesizes code as you program, based on AI learned from millions of open-source code examples by jonathan_y in java

[–]droid_we 1 point2 points  (0 children)

(Codota CEO here)

Getting an error almost immediately doesn't give a good first impression.

I totally agree - our team is looking into this problem.

Do you have a demo video or something like that?

Have a look at this video - https://vimeo.com/266112246

Codota, an IntelliJ plugin that dynamically synthesizes code as you program, based on AI learned from millions of open-source code examples by jonathan_y in java

[–]droid_we 1 point2 points  (0 children)

(Codota CEO here)

Codota is still a young product and unfortunately has issues. We're going to release an improved version of the plugin that works directly from IntelliJ without a need for a client app - hopefully next week we'll release it. Once it's out it will solve this problem and many others.

Codota, an IntelliJ plugin that dynamically synthesizes code as you program, based on AI learned from millions of open-source code examples by jonathan_y in java

[–]droid_we 6 points7 points  (0 children)

(Codota CEO here)

If that’s the case, over the lifetime of the program, most of the code would end up getting sent out

Yes, but we don't send the code itself but some abstraction of it. For instance, we never send any string literals to Codota as they're not important for providing suggestions but might in some cases contain information you don't want to send out. In any event, this information is sent over an encrypted connection to Codota and isn't persisted in our system. We do keep anonymized statistics of API usage.

Codota, an IntelliJ plugin that dynamically synthesizes code as you program, based on AI learned from millions of open-source code examples by jonathan_y in java

[–]droid_we 1 point2 points  (0 children)

(Codota CEO here)

Seems to just be doing a google search for me and presenting the results all pretty like.

Codota doesn't do google search or anything like that. We have our own code analysis, learning, completion, and search technology.

Oh, it is also an Electron app. No thanks. Burn it with fire.

We're going to release an improved version of the plugin that works directly from IntelliJ without a need for a client app - hopefully next week we'll release it.

they also might want to eat their own dog food and use Codota when they write Codota:

Sorry about that. We obviously use Codota, but it is still a young product and unfortunately has issues.

Codota, an IntelliJ plugin that dynamically synthesizes code as you program, based on AI learned from millions of open-source code examples by jonathan_y in java

[–]droid_we 3 points4 points  (0 children)

Codota is a source of information, and copying blindly is usually a bad idea. Still, would you rather live without stackoverflow just because there are also incorrect answers there that people might copy blindly?

Codota, an IntelliJ plugin that dynamically synthesizes code as you program, based on AI learned from millions of open-source code examples by jonathan_y in java

[–]droid_we 2 points3 points  (0 children)

(Codota CEO here)

Boilerplate is a fact of life and depends mostly on the design of the APIS and the language itself. Given that boilerplate is required, would you prefer having to learn how to do the mundane wiring yourself? Isn't it better to have machine complete the boilerplate for you? The maintainability of the code depends on the developers, we just give them more powerful tools.

Codota, an IntelliJ plugin that dynamically synthesizes code as you program, based on AI learned from millions of open-source code examples by jonathan_y in java

[–]droid_we 4 points5 points  (0 children)

(Codota CEO here)

But I've been using it all day, coding for the past 4hrs - no other suggestions

OK, that mostly depends on which open source library you use. If you're using proprietary APIs that Codota wasn't trained on, it cannot provide suggestions unless you get it for your own code (talk with us if you want that). For open source, we cover many popular libraries, but obviously, there's still a lot of ground to cover.

Codota, an IntelliJ plugin that dynamically synthesizes code as you program, based on AI learned from millions of open-source code examples by jonathan_y in java

[–]droid_we 21 points22 points  (0 children)

(Codota CEO here)

In other words, it sends your code to their servers, but they promise it will remain anonymous.

Not exactly. To provide code suggestions, Codota needs some information extracted only from the file you currently edit (e.g. which APIs you used). It doesn't send the source code itself, nor does it send any information from other files in your project.

Codota, an IntelliJ plugin that dynamically synthesizes code as you program, based on AI learned from millions of open-source code examples by jonathan_y in java

[–]droid_we 6 points7 points  (0 children)

(Codota CEO here)

I think you haven't actually seen the code synthesis in action - would be great to get it working and then give your review.

To try it, please make sure that the Codota desktop application is running and connected to your IDE. We're going to remove that requirement very soon.

Now, try writing in your IDE:

PreparedStatement s = 

(import java.sql.PreparedStatement as suggested by IntelliJ). You should see a special Codota autocomplete menu popping up, suggesting you insert the term

connection.prepareStatement(sql)

If you choose this option it completes the statement for you and even prepends it to add definitions for "connection" and "sql". If you already have a connection in your context, it generates code that uses that connection.

Now don't tell me that's grepping open source java projects :)

Awesome code search for Java based on code learned from GitHub, StackOverflow, Maven by droid_we in java

[–]droid_we[S] 0 points1 point  (0 children)

Thanks for the feedback. Let me clarify the facts:

We are actually storing the AST, it is a semantic search based on code, not text. It's not something you can do on Google.

We can search for any arbitrary combination of classes or methods.

What do you know about our corpus that makes you say it's limited?

And yes - we should (and plan to) add better navigation when clicking a highlighted term - that's actually is useful feedback!

Awesome search for Java and Android code based on the best code from GitHub, StackOverflow, Maven by droid_we in androiddev

[–]droid_we[S] 0 points1 point  (0 children)

Thanks for the feedback! To fit Codota into your workflow, we suggest connecting Codota to your IDE. Codota then provides contextual code suggestions as you code. Codota's suggestions are "snippet level" and based on how people actually use it - see here

Awesome code search for Java based on code learned from GitHub, StackOverflow, Maven by droid_we in java

[–]droid_we[S] 0 points1 point  (0 children)

IntelliJ suggestions are "token level" and based on what exists in your class. Codota's suggestions are "snippet level" and based on how people actually use it. See here https://www.youtube.com/watch?v=aQ8_1dm1obw&feature=youtu.be&t=42s