49 comments

[ 2.6 ms ] story [ 108 ms ] thread
Has anyone got the fonts to look good on Linux? It's been improving slowly, but the default font rendering on Sublime is the only reason I'm still using sublime.
I'm genuinely curious why the appearance of fonts would be the leading criterion when selecting a tool.
Looking at the IDE for 8-12 hours a day, you would want good font rendering that isn't blurry, distorted and looks horrible wouldn't you?
I've never had an issue with IntelliJ products on Linux, so I guess so? Are you selecting the GTK theme from Settings -> Appearance?
for linux users as per request a summary of possible ways to fix font issues has been compiled in a comment below[source]:

> on linux, I finally got it working with a PERFECT font rendering (I’m on a high-dpi display), to achieve this you have to:

- Install and use Oracle JDK (I’m using 1.7) and not OpenJDK (also the patched one with fontfix was useless for me);

- Edit the file studio.vmoptions and for 64bit studio64.vmoptions by adding these lines without quotes:

    -Dawt.useSystemAAFontSettings=on
    -Dswing.aatext=true
    -Dsun.java2d.xrender=true
- Remove hinting informations from the font that you would like to use and select the new font into Android Studio preferences (Setting->Editor->Font); if you don’t know how to do this, install FontForge then:

1. Open your font in FontForge

2. Select all glyphs via Ctrl+A and clear all hints (Hints -> Clear Hints)

3. Select glyphs again and use Hints -> Clear Instruction

4. Save the font with different name ( File -> Generate Fonts)

5. Install the new font, select it in IDEA

[] http://blog.jetbrains.com/blog/2013/05/15/intellij-idea-is-t...

For me PHPStorm 7 works fine with OpenJDK on Gnome 3.10.
[To all Microsoft devs] Visual Studio supports this as well via an extension:

http://visualstudiogallery.msdn.microsoft.com/2beb9705-b568-...

I did not find it particularly life-changing, but it's good to try to know if it's your thing.

Pretty sure it is sort of there already without any extra extensions. Place cursor on line, alt+shift+up/down arrow to duplicate cursor up or down
Defualt Visual Studio can column select and have one column that's used as an input point, which is really useful, but I personally don't find it as nice as having an arbitrary number of actual input cursors.

For instance, in Sublime Text if I have the following text:

  The
  quick
  brown
  fox
I can do the same Alt+Click drag kind of thing to get multiple cursors:

  |The
  |quick
  |brown
  |fox
But in Sublime they're actual input cursors, so I can do something like Ctrl+Right and get (note that the cursors don't need to stay lined up in a perfectly vertical column; they react to keyboard commands as though they were each just a single cursor. If you were to put right, at this point, the cursors would wrap around like a single cursor would):

  The|
  quick|
  brown|
  fox|
Then if I type a comma or something else, I'll get:

  The,|
  quick,|
  brown,|
  fox,|
Sublime also automatically surrounds selected text in quotes if you hit quote with selected text. So, after the initial column select, I could do Ctrl+Right, ", right, right then comma and end up with:

  "The",
  "quick",
  "brown",
  "fox",
The find dialogue in Sublime also lets you place cursors other ways. Doing a find-all can position a curosr at every instance found, and you can also hold Ctrl and insert extra cursors wherever you want, though I haven't found the latter to be quit as useful, personally.

It's not that any of this can't be done in another text editor (I'm a pretty heavy vim user and you can definitely do really neat stuff like this, especially with the panacea of plugins) but I find that the multi-cursor paradigm, where it's actual extra cursors, is really powerful for how intuitive it is.

Edit: I should also say that I've tried the multi cursor support in VIM and the Visual Studio cursor. They're both pretty good, but they don't exactly replicate the Sublime version, so far, and that's what I'd really like. Of course, if I really cared, I'd just go modify them and fix it myself :P

Look at the gif carefully in this blog post, look at how multiple selections interacts with the clipboard when cutting and pasting, that's pretty amazing.

I never really thought there was much of a need for multiple cursors given the powerful refactoring tools in IntelliJ that work even with dynamically typed languages like JavaScript and Python. But given the clipboard interaction, I can see how this can be helpful.

I hope this also makes it into PyCharms and WebStorm. It's pretty awesome. Ever since we developed our IntelliJ IDEA plugin I've been using all these IntelliJ based editors even more than I've been using vim, which is a bit crazy, but the intelligence IntelliJ brings to the code you're writing is so incredibly useful and nothing else seems to be as good at understanding code. IntelliJ IDEA is an amazing editor.

It's already filtering down into other IDE's.
I've been using multiple selection points in Sublime for a bit now, and I have to say, I really dig it.

A lot of the things I use it for can be accomplished in other ways, just as quickly (if not a little more quickly) in other editors with various types of functionality (I use VIM a lot) but what I like about multiple edit points is how powerful it can be as compared to how long it takes for it to become fairly intuitive.

I work mostly in Visual Studio, and even with the default column select, I keep sublime open for some random formatting that I might do at any given point. It's really nice, and yeah, the clipboard support is great when you get the nuances figured out.

It has been there for a while now (long before 13.1).
I think one of the most interesting parts of this announcement is that they directly referenced Sublime Text (a competitor) in a way that makes Sublime seem like the original inventors of this technique. What if Reebok suddenly announced they were adding "Nike+ style run tracking"? Wouldn't that make them look pretty weak compared to introducing the feature without mentioning the competitive brand by name?
Especially weird since Sublime Text didn't invent the feature .. I remember having multiple cursors as far back as PC-Write on DOS ..
> Select all occurrences: Shift + Ctrl + Alt + J

Yet people complain about Emacs' shortcuts sigh.

While this strikes me as neat, and a convenience especially in languages like Java, my reaction to it is similar to how old guys used to regard copy/paste as one of the worst things to happen to programming. We've all seen bugs that are the result of misapplied or incomplete copy/pasting where taking the time out to put it in functions properly would have made it obvious.

So while modern IDEs make languages like Java less stressful on the keyboard in ever cleverer ways I kind of think by making this too easy we're missing the point of how to make better improvements elsewhere.

False dichotomy, good programmers have used copy and paste for decades without creating dumb bugs, and bad programmers have created dumb bugs for decades regardless of whether they use copy and paste.

Sounds to me like the "worst thing to happen to programming" is bad programmers.

It's an awkward UI idiom and other facilities in text editors can fulfill all the same use cases.
Never having used it, my initial feeling is similar.

But I'm intrigued. I wonder if it's one of those "make you feel clever" features that doesn't really add to productivity due to the cognitive overhead needed to use it.

I feel similar about some of my usage of regexes. I could have got there quicker with multiple simple search/replace operations but it wasn't as much fun.

Its awkward? I disagree .. in fact I think its one of the most obvious 'duh' features for a modern editor that I'm quite surprised that its taken this long to come back into vogue .. I find it very useful for refactoring things, for example, and it just makes so much sense that a professional editor would give you this ability .. I can't see how its awkward at all.
I wish, instead of adding new features, they had a release which dealt with all the problems from previous versions.

Its generally a good product, but one thing that I find really annoying (with the Rubymine branch of the product) is the way tabs randomly reorder. It is frustrating to have to search for a tab when you have more than about 6 files open and find that it has moved to a different place.

They don't seem to have been able to fix it since 2009 ! http://youtrack.jetbrains.com/issue/IDEA-22546

I can not agree more with this! Incredibly frustrating.
The tabs in intellij are definitely weird. I just don't really even pay attention to tabs or use them for navigating. I use keyboard commands for selecting files by name.
Ditto. Either command-shift-N to jump to the file I was, or swipe gestures on my Magic Trackpad to go forward and backward in editor history.

I rarely look for a specific tab.

command-E is also invaluable (View => Recent Files)
(comment deleted)
It would be great if they just kept all tabs on one row and shrunk them as needed. I end up relying a lot on ⌘⇧N. (I should probably map it to something shorter though.)
Yeah, I ended up moving them to the right instead, mostly so all the close icons would line up.
I think you can get around this with the double-shift search, but that requires you to know the exact filename you're looking for.
One thing you can do is split it into two vertical tab groups: each will hold about six to eight tabs, depending on file names (possibly more, I haven't counted).

I tend to do ctrl-shift-o to open files by name (I forget the default binding), though, unless it's to quickly swap back and forth between tabs. I am less upset about tab ordering (as we can drag to reorder), and more frustrated by it hiding tabs once you open too many.

Because the "Navigate File ..." feature is SO robust (it searches based on partials, and is pre-indexed), I almost always use that instead of browsing a project tree, which helps me use that space for more code.

I always thought multiple selection was poor man's IntelliJ like refactoring support in ST. I was wrong, apparently.
One behavior I wish they copied from Sublime Text is how tabs are opened. In Sublime, if you single click a file, it will show you its content but will not place an open tab in the tab bar. A tab is opened only when double clicking a file or if you start to edit a file. I accumulate so many tabs when just trying to reference things in IntelliJ.
This seems really useful. I'm not a heavy regex user, but 9 times out of 10 when I use one, it's to modify a bunch of lines in a file to prepend and append something to each line. EG: I'll copy something from an external source like

  1
  2
  3
  ...
  100
I want to paste this into my source code, but of course that doesn't compile. I'll use a regex to change it to this:

  list.add("1");
  list.add("2");
  list.add("3");
  ...
  list.add("100");
I'm hoping this feature is convenient enough that I can stop using a regex search and replace.
That is exactly what sublime could do, in your case you would enter the following (in sublime)

    CTRL-A  
    CTRL-L  
    list.add("  
    END  
    ");
I havent checked out intellij's shortcuts to do this yet
In vim:

:let @q="ilist.add(\"^[A\");" :%normal @q

1G (goto top)

ctrl-v (enter visual mode)

0G (goto end)

I (insert at beginning of line)

list.add("

ESC

ESC

H

$

ctrl-v

L

A (append)

")

ESC

ESC

I'm pretty sure this breaks if you have a different number of digits for the first and last characters.
Good point.

After the first set of ESC's, do 1G$ ctrl-v 0G$A ") ESC ESC instead.

InteliJ is java, slow. Also, the default VM settings are poor.
I am honestly, genuinely confused why anyone gives two shits about some minor IDE feature that has been part of other editors (Sublime, Vim, Emacs, more?), for at least three years now. If someone could help me understand why this has 51 points right now, that would be greatly appreciated.
Its a very useful feature, and its becoming more well-known and requested by users of power editors .. which is a good thing, because multiple-cursors was a feature that we had in the 80's, but somehow got neglected .. and now its back again.
Some people, myself included, use Jetbrains' IDEs much more heavily than the aforementioned editors. Personally, I love their IDEs and comparing them to the aforementioned editors is really unfair as the IDEs offer features that are simply impossible in text editors. Multi-select is one of the features that would make the aforementioned editors even more dispensable and the IDEs even better.
Thanks! That answers my original question.

Now for the flamewar: Is there anything that a non-emacs/vim IDE or editor can do that both emacs and vim cannot? Aside from social inertia (e.g. your colleagues use it, it's your first and only power editor), I have a hard time understanding why anyone would use anything else.

My hunch is that it's primarily a marketing problem, especially for emacs.

Of course. Language specific code insight (real-time interactive static code analysis, essentially), navigation, context code completion, and refactoring (in whole project). I find these to be the most valuable features of IDEs. I'm not sure if vim/emacs can do multi-language syntax highlighting (for fixing that nasty spaghetti) and what their level of support for debugging is (through plugins), but those would be next on the list.

EDIT: As far as vim, it is supported in any decent IDE (including Jetbrains' ones), so in that sense, it can do a huge percentage of what vim can do as well (not sure about emacs).

I complained that IDEA didn't understand Postgres sequence-controlled columns, a bug that had been open since 2012. A couple of hours later, it said it was fixed in the next release. I said on Twitter a few days ago that I wanted the power of IDEA with the editing featured of ST2, especially multiple cursors, and now it's there.

It could be coincidence, or... maybe I'm The Chosen One.