Sign in to follow this  

Recommendations for a Text Editor

This topic is 716 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I'm looking for a text editor for those times where I don't want to have to open Visual Studio to make a small change.  What I'm looking for:

1.  Fast - it doesn't have to be instant, and a few seconds load time is perfectly okay, but general operation shouldn't feel sluggish.

2.  Extensible - I want to be able to write scripts or macros or something for it.  If I can't compile from within it, I want to be able to write a plugin to do so.

3.  Some kind of block editing, whether through VS-style alt-drag or Sublime multiple cursors or whatever.  This is one of those things I really notice when I don't have.

4. "windowsy" interface - this means ctrl/alt/shift based shortcuts, gui mouse support.

 

4 is my "anti-vim" clause; I've nothing against vim and passably know how to use it, but I really don't enjoy working in that kind of UI.  I'm not really interested in discussing vim beyond that because I want to avoid an editor war.

 

I used to use Sublime back in the day, but I've been hearing that it's starting to go through bit-rot and doesn't always work on newer Linux distros as a result.  It's also been long enough that I remember nothing about the shortcuts at this point and so have no real attachment to it.  I've heard about Atom, and while it seems cool, it's also apparently slow and seems very tailored toward Javascript development (which I care nothing about -- I'm a systems guy).

 

Any thoughts?  Is the sublime rot overblown?  Is atom not really noticeably slow?  Is there some other awesome editor?

Share this post


Link to post
Share on other sites

Personally, I've never seen a need for anything in between a simple text editor like Notepad++, and a full blown IDE like eclipse. However I did once try to research different editors. Out of what I considered, it seems [url=http://www.geany.org/]Geany[/url] may be the kind of thing you're looking for.

Share this post


Link to post
Share on other sites

I've been a big fan of Sublime Text for a long time. It's a very capable editor, has robust plugin support, and really isn't all that expensive when you consider just how much time you spend in a text editor.


+1 for Sublime Text.

I use it 40 hrs/wk, and it is well worth the price. Its “command palette”, “goto anything”, and “multi selection editing” features beat out all the other text editors and IDEs I have ever used. You can also browse and install packages right from the command palette as well. C++ syntax highlighting leaves much to be desired, but it's otherwise usable. The trial version is fully featured and occasionally asks you to make a purchase when saving a file, which is only a minor inconvenience for such a great text editor.

Share this post


Link to post
Share on other sites

Notepad++ has served me well for over a decade, but today I'd settle for either Visual Studio Code or Atom. I personally prefer Visual Studio Code because the Git integration is pure greatness, but Atom has more addons and is a little bit more mature.

Share this post


Link to post
Share on other sites


With the continued rise of the "Web 2.0 Text Editors", though, I have to say that GitHub's Atom is equally capable, and free. If I didn't already own a Sublime Text license, it would be my go to editor.
 
Visual Studio Code is also a great alternative if you ever need to work with Microsoft technologies.

 

VS Code is my recommendation -- but I might be baised, working for Microsoft and all.

 

Its actually build on Atom's open-source shell (Not the editing itself, but the web-based front-end and node-based back-end) and very recently opened up its extensibility APIs for themes, highlighters, and plugins. And it became open-source that same day, its written in typescript. Even before going to extensions though, the editor itself and how it works with external tools is highly, highly configurable through some really nice JSON files.

 

Since then, there are tons of plugins for all your favorite languages available from the Visual Studio marketplace which you can access right inside Code. From what I can tell, debugging seems to be the stand-apart feature over Atom or other editors, and Code is at or nearing Parity in other regards. 

 

Its now my go-to editor when VS itself is unavailable (OSX, Linux) or heavier than I need. I still prefer VS for heavy lifting, but that would probably be less true if I did less of my heavy lifting in C++ and more in, say, C# (Code is only beginning to get more than basic support for C++, and its got better C++ support (e.g. intellisense) on non-Windows platforms so far), and I still use Vim when I want something super lightweight, only have a terminal, or to use its powerful programmatic editing commands.

Share this post


Link to post
Share on other sites


Its now my go-to editor when VS itself is unavailable (OSX, Linux) or heavier than I need. I still prefer VS for heavy lifting, but that would probably be less true if I did less of my heavy lifting in C++ and more in, say, C# (Code is only beginning to get more than basic support for C++, and its got better C++ support (e.g. intellisense) on non-Windows platforms so far), and I still use Vim when I want something super lightweight, only have a terminal, or to use its powerful programmatic editing commands.

 

That's more or less the state of things for me.  I use VS for most of my work, as well as vim when I have to go through a terminal, but I'm looking for something to fill that gap where I don't really want to open VS or I'm not on Windows, and I don't like vim enough to use it in all those circumstances.

I've heard good things about VSC.  I'll give it a try.

Share this post


Link to post
Share on other sites

 


With the continued rise of the "Web 2.0 Text Editors", though, I have to say that GitHub's Atom is equally capable, and free. If I didn't already own a Sublime Text license, it would be my go to editor.
 
Visual Studio Code is also a great alternative if you ever need to work with Microsoft technologies.

 

VS Code is my recommendation -- but I might be baised, working for Microsoft and all.

 

Its actually build on Atom's open-source shell (Not the editing itself, but the web-based front-end and node-based back-end) and very recently opened up its extensibility APIs for themes, highlighters, and plugins. And it became open-source that same day, its written in typescript. Even before going to extensions though, the editor itself and how it works with external tools is highly, highly configurable through some really nice JSON files.

 

Since then, there are tons of plugins for all your favorite languages available from the Visual Studio marketplace which you can access right inside Code. From what I can tell, debugging seems to be the stand-apart feature over Atom or other editors, and Code is at or nearing Parity in other regards. 

 

Its now my go-to editor when VS itself is unavailable (OSX, Linux) or heavier than I need. I still prefer VS for heavy lifting, but that would probably be less true if I did less of my heavy lifting in C++ and more in, say, C# (Code is only beginning to get more than basic support for C++, and its got better C++ support (e.g. intellisense) on non-Windows platforms so far), and I still use Vim when I want something super lightweight, only have a terminal, or to use its powerful programmatic editing commands.

 

 

I really like VSCode as an editor, I prefer it over Sublime, but I just don't get along with it with C++. Any usability tips for working with C++ would be handy, either in this or a separate thread :) 

Share this post


Link to post
Share on other sites
Truth be told, C++ is a lowlight for VS Code. But the same is true for many of the lighter-weight editors.

Without any kind of reflection, a notoriously-hard grammar to parse, lack of proper modules, and that damnable preprocessor, its a really difficult problem to provide the kind of first-class programming experience that, say, C# enjoys, but for C++. I believe the only systems that do it in near-real time with any real dexterity are only able to do so through very tight integration with an IDE, and still they are imperfect. Basically any stand-alone tool needs total program knowledge, including build parameters, and IDEs benefit from having enough of that knowledge to fake it. Imagine changing a macro or template parameter default, or any other thing which changes which source code is active or what it means -- stand-alone, static tools have to completely recompile their knowledge.

Having looked at these kinds of issues at work because we'd really like to be able to reliably stub-out documentation from C++ source code (without programmer intervention, and with the ability to track ongoing changes) I can say that the rabbit hole goes much deeper than you'd think. You might say "but Doxygen does it" and I'd counter with "Doxygen does less than what you're giving it credit for."

Even syntax highlighting is more difficult than other languages, but at least its well-understood and basically solved.

I don't think VS Code does C++ debugging yet either, though again that's par for the course of lightweight code editors -- hell, Visual Studio's debugger beats the pants of every other debugger I've encountered, including those in other IDEs.

Share this post


Link to post
Share on other sites


Visual Studio's debugger beats the pants of every other debugger I've encountered, including those in other IDEs.

 

Someone introduced me to Casey Muratori's Handmade Hero a couple weeks ago.  It's amusing to see him do everything on the command line, including using emacs, then whip over to the Visual Studio debugger when he wants to actually run something.  That just goes to show how much better VS's debugger is for C/C++ compared to pretty much everything else.

 

I cry at work when I don't have access to it and have to finagle with WinDbg instead.

Edited by SeraphLance

Share this post


Link to post
Share on other sites

Visual Studio's debugger beats the pants of every other debugger I've encountered, including those in other IDEs.

 
Someone introduced me to Casey Muratori's Handmade Hero a couple weeks ago.  It's amusing to see him do everything on the command line, including using emacs, then whip over to the Visual Studio debugger when he wants to actually run something.  That just goes to show how much better VS's debugger is for C/C++ compared to pretty much everything else.
 
I cry at work when I don't have access to it and have to finagle with WinDbg instead.

IKR? It kind of depresses me to realize that other DEs are still so horribly deficient in this area.

Share this post


Link to post
Share on other sites

By the way, this (VS Marketplace link) seems to be one of the better intellisense-like things for VS code. I didn't mention it earlier because I thought it only worked on Linux/Mac, but details on the page suggest Windows is supported. Its not as rich as Visual Studio intellisense, but it has basic auto-completion and things like Go To Definition, find references, list symbols.

 

Its based on GNU's Global tagging system though, which has a couple repercussions:

  • You have to have the GNU tools installed on your system. Easy on Linux and Mac, probably less-so on Windows, but doable.
  • Its not 'live' like Visual Studio intellisense -- you need to refresh it manually, but that can be bound to a key combo I'm sure. Takes time though.
  • It doesn't really parse C++ as I understand it, so it might show you a several foobar functions but it won't know which of them are global, a member of a class, or a member of a different class.
Edited by Ravyne

Share this post


Link to post
Share on other sites

Thanks for the suggestions, everyone.  I still have no idea what I'm going to use, but this gives me stuff to look at.

You’re going to use Notepad++.


L. Spiro

Share this post


Link to post
Share on other sites


You’re going to use Notepad++.

You know, I used to swear by Notepad++ whenever I was stuck using Windows (and bemoan the lack there of all the better text editors that were Mac only).

 

These days, there are so many alternatives. Sublime, Atom, VS Code... they all have more extensions, better UI, and deeper customisation than Notepad++.

Share this post


Link to post
Share on other sites

 


You’re going to use Notepad++.

You know, I used to swear by Notepad++ whenever I was stuck using Windows (and bemoan the lack there of all the better text editors that were Mac only).

 

These days, there are so many alternatives. Sublime, Atom, VS Code... they all have more extensions, better UI, and deeper customisation than Notepad++.

 

 

I tend to agree.  I used to use Notepad++ like ten years ago, but nowadays I tend to see it like the Dev-C++ of editors -- great once upon a time, but long fallen behind.

 

I tried out VSC and have been very happy with it so far.  I haven't used it too much because I do 99% of my work in regular VS, but that's kind of the point.

Share this post


Link to post
Share on other sites


Is the sublime rot overblown?


They just released a new dev build of ST3 two days ago (available if you're a registered user). I've been using it with no problems across Windows, Linux and Mac for quite sometime now.

Share this post


Link to post
Share on other sites

This topic is 716 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this