Hacker News new | past | comments | ask | show | jobs | submit login

I wish I could get a similar utility for Python and Javascript as this seems to show off some cool FP auto complete.

I'm basically looking for a way to remove my dependency on my 5-7 IDEs and I don't know how. I wish someone could show me a very good, simple, alternative to all of them. I work in C, Java, JavaScript, Python, PHP, and C# and I'd like to be able to use a single IDE solution for all of them. Sadly I cant find anything with good auto completion and nice features (like things offered by Eclipse).

This has some really promising features, I've got to say I'm amazed.




For python, I use hippie-expand mostly, but https://www.masteringemacs.org/article/jedi-completion-libra... does good auto-completion.

Flycheck handles syntax issues for many languages, including Python. https://github.com/flycheck/flycheck

For javascript, I use js2-mode for syntax highlighting. I haven't ever tried js3-mode, but I understand it does better indentation. ac-js2 does autocomplete for js2-mode. You can throw in web-beautify as well - https://github.com/yasuyk/web-beautify

For many languages, I use yasnippet as well. Yasnippet rocks.


Languages like C# and Java (especially) are painful to use without code completion. The modern style of explicit imports in Java in particular simply can't be reasonably maintained without IDE support.

For everything else, emacs works fairly well. I find myself requiring code completion in languages like C and C++ a lot less, because I edit slower and more carefully, but also C and C++ codebases tend to have fewer random dependencies than Java and C# make it easy to add.


As far as python is concerned, if you mostly care about code navigation and autocompletion, try jedi-mode, it's fast, leightweight and works pretty well (I've used it successfully with virtualenv and conda, although the later required me to manually pip install epc-server and jedi and maybe one or two other deps). If you want refactorings, you're out of luck (rope is not even alpha quality, and I don't know of anything else). But firing up your IDE every few days or weeks for a bigger refactoring might be acceptable.

Javascript has js2-refactor, but I haven't tried that.

Lastly, instead of having 5-7 IDEs you could just get an Intellij license – it can basically do all that more specialized offerings like Webstorm and Pycharm can, and it's unlikely you'll ever have similar semantic support in a plain editor. I'm currently using emacs exclusively myself, but have also used products of the intellij family extensively, and might do so again depending on the project. The javascript livecoding and mixed-language-fragment support is pretty neat for example.


> Sadly I cant find anything with good auto completion and nice features (like things offered by Eclipse).

Out of curiosity, have you tried the relevant JetBrains IDE(s)?


That's what I'm trying to move away from. The Eclipse autocomplete is much better in my uses.

I also don't like using 7 different IDEs.


eclim is the best you're gunna do for Java in Emacs I think, and it's realllllllllly slow.


I never understood why running a full Eclipse as sub-process instead of just using Eclipse.


For C++, I use https://github.com/abingham/emacs-ycmd which gives completion (uses company-mode) and code navigation. It can also do C, C#, js, go, python etc. Requires a little setup (you have to install the ycmd daemon and, depending on language, a per-project conf file), but worth it.

An alternative to ycmd is https://github.com/Andersbakken/rtags which I think can list all usages of a symbol – ycmd only lets you go from usage to definition. I like how ycmd.el runs the ycmd daemon for me though.


Have another shout out for rtags (there's also a vim plugin). It can not only list usages, but find virtual function implementations, show class hierarchies, and rename symbols.


> I wish I could get a similar utility for Python and Javascript as this seems to show off some cool FP auto complete.

Since neither Python not Javascript is "as typed" as Haskell there are limits to what you can expect.

That said, I'm mostly happy with "elpy" in Emacs. Just make sure you configure it for the same version of Python you are targetting, and the rest should work out of the box.


Have you tried company mode? I personally just use hippie-expand, but my codebases aren't gigantic; unsure how it'd work on larger ones.


What is company mode?


Company mode is complete anything mode and it gives you autocomplete that some people seem to like.


as an emacs distro, spacemacs has everything I need for every language I've tried to work with (usually with auto-completion e.t.c.). sometimes requires a tiny bit of setup (usually no more a than a line or two) first time you use a new langauge, but that should is usually documented in the layer/README.org file.

[0] https://github.com/syl20bnr/spacemacs




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: