11 ms·
Which editor/IDE do you use and why?
- ivcha 10y agoEclipse for Java / Scala / Latex / pretty much everything. Awesome and mature IDE, performance is getting better, high degree of customization, and many other great things.
- hacker_9 10y agoInteresting Atom is first comment, I usually see it get a lot of hate. My usual environment is Visual Studio, as I work with C# mainly.
- tluyben2 10y agoRecently Visual Studio for Mac (which is a massively improved Xamarin Studio it seems) because C# + Xamarin for iOS. When not for work VIM for Clojure, Lua and others.
- fredsir 10y agoXcode and tmux+vim.
- dolguldur 10y agoI assume you're writing Swift and/or ObjC. Which vim plugins do you use for these languages?
- nsfyn55 10y agoI'm gonna bet comment author says they use Xcode for Swift/Objc and Vim/Tmux for everything else. I just came off a small Swift project. Apple makes it difficult to code for their products outside of XCode.
- fredsir 10y agoExactly what @nsfyn55 says except when I toy with "raw" swift - that is, no Cocoa and such - I often just use tmux+vim. Of swift specifics in my vim setup, I use the official swift vim plugin and a couple of tslime.vim mappings for starting, stopping, testing and building swift from vim in a separate tmux pane. I have the tslime.vim mappings set up as autocommands with specifics for python, rust, swift, haskell.
- evaneykelen 10y agoI will be laughed at for admitting this but I'm still using TextMate (2.0-rc.4) for my main profession which is Ruby on Rails development. TM2 is fast, stable, extensible, native and lightweight.
- onion2k 10y agoSwitched from Sublime Text 2 to VS Code at the start of the year. So far it's great apart from some annoying linting problems (eslint gets confused between ES6 with decorators and TypeScript).
- falcolas 10y agoI must admit, I am a bit surprised to see "easy to learn" as an answer to "why" in so many recommendations. I would think that after a week (or a month in extreme cases) the value of "easy to learn" would quickly approach 0. I value my editors for their power and responsiveness, not for the frustration spent years ago on learning them.
- jansenv 10y agoI use Atom for frontend web dev. I don't particularly love it, honestly. I used Webstorm from Intellij when I was doing pure JS work. Loved it. I'm considering going the full Intellij suite, but the cost is prohibitive.
- axle_512 10y agoJetBrains based editors are quite nice if you can afford it. Free for students and open-source developers. PyCharm for python, IntelliJ for java, Cursive for clojure
- swalsh 10y agoAt the end of the day, easy debugging is my #1 concern when choosing an editor. Intellisense a pretty close #2. I just wish I didn't need a completely separate editor for each language. Right now I regularly use PyCharm, PHP Storm, Ruby Mine. I guess I also use ReSharper a lot, but that's slightly different :D
- tomtheengineer 10y agoYou actually don't need a separate editor for most of the languages (minus C++ with CLion). It's not entirely obvious, but if you use IntelliJ IDEA, there are plugins for the other languages that provide the equivalent functionality of PyCharm, Ruby Mine, etc: https://plugins.jetbrains.com/idea/plugin/631-python https://plugins.jetbrains.com/idea/plugin/631-python https://plugins.jetbrains.com/idea/plugin/1293-ruby https://plugins.jetbrains.com/idea/plugin/1293-ruby https://plugins.jetbrains.com/idea/plugin/6610-php https://plugins.jetbrains.com/idea/plugin/6610-php
- ajss 10y agoEmacs for Swift, Objective C, C, C++, Clojure, Python, Java, Javascript, Assembler, Bash, and random other minor stuff. Wait... there are other IDEs?
- Const-me 10y agoVisual studio 2015, visual assist, a couple of specialized addons like tangible t4 editor.
- nine_k 10y agoIDEA for Java / Scala / Kotlin. Emacs for everything else: JS, Python, Haskell,.. all the way to bash scripts. I have high hopes for JetBrains, and possibly MS, making their IDE "engines" available for integration with third-party editors, similar to the way Rust [1], Haskell [2][3] and JS [5] "IDEs" try to follow (and apparently MS specifies for some of its tools [4]). With that, you could use your best-loved editor (and people love a variety of them) with whatever language support engine(s), possibly even remotely. To some extent, the venerable Plan9 ACME shown the way to that. The Xi editor seems to follow this design. [1]: https://forge.rust-lang.org/ides.html https://forge.rust-lang.org/ides.html [2]: https://commercialhaskell.github.io/intero/ https://commercialhaskell.github.io/intero/ [3]: https://github.com/haskell/haskell-ide-engine https://github.com/haskell/haskell-ide-engine [4]: https://github.com/Microsoft/language-server-protocol/blob/master/protocol.md https://github.com/Microsoft/language-server-protocol/blob/m... [5]: http://ternjs.net/ http://ternjs.net/
- wsc981 10y agoI have high hopes for JetBrains, and possibly MS, making their IDE "engines" available for integration with third-party editors, ... I am not sure if the project is backed in any official capacity by Microsoft, but isn't Omnisharp[0] more or less the same idea? --- [0]: http://www.omnisharp.net http://www.omnisharp.net
- numo16 10y agoNot sure if it still does, but I'm pretty sure omnisharp is what VS Code used for it's C# engine when it first came out
- more_original 10y agoVim because it's burnt into muscle memory. For things like Java-programming I'm also happy to use IDEs.
- RandomBK 10y agoI use VSCode for front-end dev with TypeScript due to the simple out of the box setup and snappy interface. For back-end in Java/Kotlin, I use Intellij IDEA - I've yet to find another IDE that can provide the refactoring and static analysis tools IDEA can provide.
- jstewartmobile 10y agotmux + vim on the server because it's there and does what I need it to do. sublime text on the desktop for easier clipboard managment and motion keys that are consistent with the environment
- koyote 10y agoVisual Studio with Resharper. Anything else just does not come close for C#.
- ttam 10y agoAndroid Studio for Android, because it's the best IDE for Android Sublime for everything else because it's lightweight and no frills
- kyriakos 10y agoPHPStorm - its by far the best IDE for PHP. Over the years I tried: Eclipse PDT, NetBeans, Zend Studio but PHPStorm beats the competition in every respect.
- cafard 10y agoEmacs for many purposes, but largely Perl and Python. SQL Developer for Oracle work. SQLServer Management Studio for SQLServer work. VisualStudio for VB.NET and C#.
- idobai 10y agoEditor: Neovim, because the vi mode is powerful and neovim is improving the vi feeling. IDE: IntelliJ Idea IC, because it's one of the most decent IDEs out there and it's free and open source.
- intrasight 10y agoCombination of Emacs and Visual Studio 2015. Would like to kick the tires of Visual Studio Code - especially since there is an Emacs keybindings plugin. Am curious if they will dump the bloated VS in the near future and focus on VS Code.
- Skunkleton 10y agovim + shell. I bounce around a ton of different languages and platforms for my job. It's nice to have a common set of tools for everything.
- Overtonwindow 10y agoI'm not a programmer, please forgive me, but I love using Sublime as a writing tool for legislation and public policy in my work. The color coding system popular in programming, has been invaluable in drafting legislation...
- rsoto 10y agoI'm curious about your use case, care to elaborate a bit more? That color coding system you mention is for code syntax, so I'm picturing that Sublime for a text document might highlight seemingly random words used in coding (function, end, do, etc), and it doesn't seem so useful. So I'm geninuely curious.
- Veratyr 10y agoThe highlighting can be customised to do pretty much anything you want. I imagine OP does something like highlighting "should" a different colour to "must" and things like that. I too am curious about details though.
- deleted 10y ago[deleted]
- nine_k 10y agoWow, great! Are there any plugins / modes for writing structured natural language text that you use? How do they help? What's missing?
- jhoechtl 10y agoAlso curious. Do you use soft wraps or hard wraps when dealing with text? Further legislative text has a lot of resemblance to code.
- andrewfong 10y agoI've started writing a novel in Sublime using Markdown syntax with a spell check plugin and word wrap. Not sure if you're doing something different for legislation, but I imagine that setup would work pretty well for documents with lots of sections, bullet points, etc.
- edoceo 10y agoJedit or Atom, terminator, vivaldi
- gshakir 10y agoVIM (you need to able to touch type or else VIM will be frustrating) all the way even for Java with support from the following plugins: * VIM Fugitive * VIM Surround * VIM Closetag * You Complete Me * Ctrl-P * VIM color Solarized * NerdTree * VIM Airline * TERN for VIM * VIM Javascript * VIM JSX * VIM DelimitMate * VIM JS syntax * VIM Eclim for Java
- widea 10y agoI have been using Boxer editor (http://www.boxersoftware.com http://www.boxersoftware.com) since the DOS version. Very user-friendly imo.
- bhalp1 10y agoI run the linked site (and started that thread). I'd love it if you signed up <3
- neeleshs 10y agoThe jetbrains family for most parts : idea for Java/scala, phpstorm for, well, php and pycharm for Python. I like spring toolsuite which is built on top of eclipse. On the term, it's vim and on Mac it's TextWrangler.
- dsgriffin 10y agoIntellij IDEA for everything. The plugins for IDEA aren't far enough behind Jetbrains more language-specific IDE's (e.g. WebStorm or PyCharm) for me to mind much. Plus it's nice to just have one go-to IDE for dev imo.
- jbigelow76 10y ago60% - Visual Studio Pro / 40% - Visual Studio Code Why? .NET enterprise dev is my job, hence Visual Studio Pro, those services are fronted by SPAs, hence Visual Studio Code.
- deleted 10y ago[deleted]
- matmo 10y agoIntelliJ for everything. My only complaint is that when I'm writing front end code, it has to do do more guesswork for the autocomplete suggestions, which takes more time, so I have to purposely stop typing for a second to let it find the suggestion I want so I can select it.
- eth0up 10y agogeany + vim https://www.geany.org/ https://www.geany.org/
- MildlySerious 10y agoPretty much exclusively Sublime. Sometimes I use vim for quick edits on the server, but since I always have WinSCP open along with the SSH connection, it's usually just as fast to use Sublime for remote files, too. I do plan to get more used to vim once I move away from Windows.
- cwbrandsma 10y ago* Visual Studio for C# * XCode for Swift/ObjectiveC * VSCode for other languages * Notepad++ for text editing on Windows * Textmate for text editing on OSX
- hackNightly 10y agoVSCode because the TypeScript integration is just phenomenal.
- brilliantcode 10y agoIt depends on the language I'm working with: Python - PyCharms Clojure - LightTable Javascript - MS Visual Code Java - Eclipse PHP - Notepad++
- spapas82 10y agoNotepad++ for python / javascript development for more than 7 years (hint: I use MS windows for my development environment). IntelliJ Idea for Java. I have tried to replace Notepad++ over the years with nearly every other possible editor/IDE that runs on windows (vim, atom, VS code, sublime text) but always found Notepad++ a much better solution for my needs. Some of its strong points: - Really fast with a very small memory footprint. Written in C++ ! - Free (GPL) - Supported from its author for lots of years - Nice syntax highlighting - Cool integration with Windows File Explorer - All editing options I want are there and easily configurable (tabs to spaces, strip trailing space etc) - Allows comparing files (diff) - Tail -f mode for logs (monitoring changes to files) - Correct and easy conversion to encoding formats (utf-8, to ansi etc) - Supports macros - Fully configurable styles - Great find and replace (supports regexes) - Supports workspaces and projects - It has some great plugins like: - Integrated file explorer through plugin - Ftp (sftp etc) browsing / editing through plugin - XML pretty print, linting etc - Python console scripting - Zen coding Ok some of its weak points are: - No real auto-complete so it's difficult to be used with Java (of course that's the case with most editors) - Supports only windows (however I am using it also on my mac mini as the default editor through wine) - Not very good marketing - Notepad++ is really great but I rarely see it discussed or trending as I was seeing atom or VS code - Cannot open (very) big files (it handles files ~ 200 MB without problems though).
- idobai 10y agoAll you've mentiond as the benefits of np++ are also available in other widespread editors but with less drawbacks and better support.
- Apsion 10y agoStackOverflow has an extensive survey which includes which IDE used. (no details given as to why) http://stackoverflow.com/research/developer-survey-2016 http://stackoverflow.com/research/developer-survey-2016 I though it was weird to see Notepad++ at the top so I ran my own survey. https://codepilot.ai/editor-survey-thanks/ https://codepilot.ai/editor-survey-thanks/
- Apsion 10y agoI use IntelliJ IDEA because that is what I used at work.
- pmontra 10y agoI moved to emacs from vi in the early 90s and stayed there, a little because of habit and a little because of convenience. It works with every language. It has integrations with compilers and debuggers, but I've not been using them since I stopped using C. However I'm using the integration with Ruby's rspec to run tests on single methods from within the editor. Emacs can complete text in several ways and I'm using the most vanilla one (pabbrev-mode [1]) which is still incredibly useful. It has syntax coloring. I also used to write my own macros in elisp but I'm not doing that anymore. I'm using the customer mandated Java IDE when I work with Java. I didn't investigate if there is a modern emacs equivalent of Netbeans/IntelliJ/Eclipse but it would be impossible to develop in Java with plain Emacs. There must be something broken in Java if we need an IDE to work with it. I could be using PyCharm in a project for a customer (they offered to give me a license) but there is no need for that. All I need is pabbrev. I'm using vim to edit files on servers or quick edits of configuration files with sudo. [1] https://www.emacswiki.org/emacs/PredictiveAbbreviation https://www.emacswiki.org/emacs/PredictiveAbbreviation
- ThrustVectoring 10y agoVim. It makes a lot of text editing way faster and easier. Like, it's to the point where I haven't bothered getting comfortable using awk and sed for one-off text munging, because when I want to take test suite text output and turn it into a sorted list of test names, I can just slam it through vim for thirty seconds instead.
- ZeroClickOk 10y agoI'm forced to use VSCode. I'm in a really slow machine and Visual Studio is really slow. I switched from 2015 to 2017, and things speedup little bit, but I keep VS2017 open only for scafolding, publishing, etc. I'm really in a great learning experience using C#/Asp.Net MVC 5 on VSCode. You need learn command lines of how to build, start IISExpress, etc. My next steps are learn how to use Nuget and EF migrations via Powershell (out of Visual Studio), and maybe use/create scaffolding with yeoman. I dont think will be hard... I type commands inside of VS IDE. I just need a bit more of time :)
- weaksauce 10y agoI use spacemacs for most things now. It has the extensibility of Emacs with an actual vim emulator worth a damn for power vim users coupled with a well thought out and integrated visual leader system. Magit is phenomenal and changes how you view source control. Org mode is great too.
- JustSomeNobody 10y agoSeveral instances of VS because I'm in enterprise abstraction hell.
- dhruvmittal 10y agoI tend to use vim for fortran/java/haskell/python/clojure/scala/bash/latex. Recently I've been working in a C#/F#/.NET world with Visual Studio + the vsvim plugin. It's a decent substitute for the most part, but I hadn't realized how much I valued not having to wait 30 sec 4 min (depending on project size) to load files. Also, occasionally I'm doing some plumbing work and find myself trying to use registers and macros, which seem to be missing.
- Rusky 10y agoVim for Rust and C, with just the Rust syntax highlighting plugin (I have Racer installed but don't tend to use it). It's lightweight and gets out of my way when editing text. Visual Studio 2015 for C++, with the VsVim addon. I mostly use C++ for Windows-specific APIs and toolchain, so autocomplete and MSBuild are nice to have.
- marxama 10y ago* Visual Studio + Resharper for C#. Don't really think there are any realistic alternatives, although I'd be happy to try some out, my current setup tends to get slow. * Visual Studio Code for JavaScript/TypeScript and React. I tried Sublime and Atom, didn't quite like them, haven't had any issues with VSCode since I started using it about a year ago. But I wouldn't be able to tell you why I like it better than the alternatives. I probably should. * Eclipse + Counterclockwise for Clojure/Script. It doesn't seem to be very popular, and I've been meaning to try out Cursive and proto-REPL (and maybe actually get into Emacs), but I've been using Counterclockwise for years and I really like it. The Clojure data structure editing functionality is really neat, and I don't remember seeing its flavour of it in other editors. But like I said, I don't have that much experience with other editors.
- actsasbuffoon 10y agoJetbrains (makers of Resharper) are making a C# IDE called Rider. It's free while in early access. I like it, but confess that I never got into Visual Studio. It seems like a competent IDE with excellent integration of Resharper functionality out-of-the-box. It's also multi platform, which is great if you're not on Windows.
- sssilver 10y agoI'm pretty adept at Vim, and I still don't understand people who code using what's essentially a text editor with colors. How do you do debugging? Conditional breakpoints? Call stack/view stack? Watch? Step/Continue? Meaningful autocompletion? Meaningful project management and navigation? Syntax highlighting isn't even important to me and I prefer either semantic highlighting or no highlighting at all. I understand people who use something like a Vim plugin for a JetBrains IDE, sure -- Vim in my opinion is a superior editor compared to the usual thing, but when you skip the IDE altogether, how do you do the tasks I mentioned above? Do you just do print debugging and use the filesystem as a project manager, and just not take advantage of IDE's semantic insight into your code? That seems quite inefficient -- you're losing a lot. Do you add third party addons to make some of these things happen? Because I'm yet to find addons for Vim that don't destabilize it and also solve their problem as well as they're solved in full-blown IDEs. Please illuminate me, considering the number of people who do this, I must be missing something!
- majewsky 10y ago> How do you do debugging? I read the code and follow the state transformations in my head. The huge advantage is that this also works with software running in production, when all I can do is crank up the log level. When I have access to the code and the compile-test-run cycle is quick enough, I speed up the process with printf debugging. > Meaningful autocompletion? I have a second screen where I can browse API documentation. > Meaningful project management and navigation? https://www.gnu.org/software/coreutils/coreutils.html https://www.gnu.org/software/coreutils/coreutils.html ---- I don't know; maybe I'm just good at what I do. I have noticed that I can hold much more state in my short-term memory than other developers around me, and that helps enormously during debugging. The most important part of debugging is forming a mental model of what is going on. For some applications and subsystems that I wrote (between 100 and 10,000 LOC) my mental model is so fine-grained that when a user reports an error, I know which line of code is broken before I even cd into the source tree. It should be noted that I'm not ignorant of IDEs. I have done a lot of work in Visual Studio some 10 years ago, and I liked it very much. When I moved to Linux, I switched to a text editor and gcc because these were readily accessible, whereas choosing and learning an IDE would have required additional effort. Over the years, I've never found that effort worthwhile. I have used gdb a few times, and had some good times hunting memory management bugs in my C++ programs with Valgrind. Instead, I've come to appreciate that on every system that I ever SSH into, vim is always just a package installation and (optionally) a git-clone of my vimrc away. And if shit hits the fan, vi(1) will do. And if shit really hits the fan, sed(1) will do. Oh, I just remember that I had a relatively recent experience with IDEs: I had to use Java and Spring Boot for a university project, and was forced to use Eclipse because I could not get shit to build otherwise. It felt like being strapped in a straight-jacket, compared to the seemingly infinite freedom that a command prompt on a terminal has come to mean to me. I have two IDE-like features in my vim: Syntastic (a plugin that runs syntax checkers and linters and shows the errors and warnings in-line) and a tiny vimscript that runs gofmt/goimports when I save a Golang file. My other plugins are all focused on more comfortable text editing. ---- I don't intend to hate on IDE users. If they can work better with an IDE, then that's great. I'm more productive without them. ---- Sometimes I snicker when someone on HN complains that Rust is totally unuseable because there is no stable IDE support yet, or something like that. And I'm sitting here and writing syntax highlighting rules in vimscript for DSLs that I just made up. EDIT: One more thing. The choice of languages and frameworks shapes the choice of editor. I would never try to develop a Java project in vim, and working on Rails apps leaves much desired. (I could try to find a good IDE plugin for vim for the language in question, but I'm changing languages very frequently and don't want a bazillion IDE plugins clogging the editor.) And of course, the same applies in reverse. Because I'm a vim user, I will prefer languages that play well with vim. Right now, my most-used languages are Golang and shell script and YAML (if that even counts), and these all work nicely.
- chippy 10y agoI sometimes power up Netbeans for one feature - it's local history feature. Any time you save a file, it stores a little diff of the changes and has a very nice visual diff function that works with it. The same feature works for history stored in git or svn too. I've not seen this replicated in any other editor as well as with this. It's like having an embedded Meld function. Generally though: Vim, Geany, Atom, Gedit
- jawilson2 10y agoPycharm has this as well.
- rzhikharevich 10y agoiTerm2, micro (github.com/zyedidia/micro), fish, lldb, fzf, make, etc. for C, C++, Go and Rust. Xcode for Swift.
- bitwize 10y agoEmacs, because Emacs. I know how to use it, extend it, and combine it with other tools. I tried working with VS Code and Atom. I really tried. I keep coming back to Emacs all the time.
- AnimalMuppet 10y agoEmacs, for everything else but Java. IntelliJ for Java. Why Emacs? Because I've used it for 35 years, and I don't have to think about driving it. The keystrokes are burned into my fingertips, so I don't have to think about them. (When that lets me down and I do have to think about it, I'm often stuck.) Why IntelliJ? Because it's like being psychic - the code just appears on the screen, with (almost) no typing on my part. The in-context completion is amazingly good. There are other pluses, but that's the one I notice the most.
- sashk 10y agoPyCharm for Python. Sublime for Markdown/notes, etc. Trying to use Visual Studio Code instead of PyCharm, but it's not yet ready to fully replace PyCharm.
- deleted 10y ago[deleted]
- burntrelish1273 10y agoAtom setup to emulate vim apm list: https://gist.github.com/985407cc84afb35f45ec5d9bd74f67d5 https://gist.github.com/985407cc84afb35f45ec5d9bd74f67d5
- nunez 10y agoVim for almost everything except for C# and F#, which I prefer to use Visual Studio (the full one).
- gcapell 10y agoAcme. I'm used to it.