Какова цель виртуального пространства IntelliJ IDEA? - PullRequest
12 голосов
/ 23 апреля 2011

В Eclipse виртуальное пространство (возможность разместить каретку после конца строки) по умолчанию отключено, что противоречит настройке IntelliJ IDEA по умолчанию.http://www.jetbrains.com/idea/documentation/migration_faq.html

Есть ли конкретная причина, по которой вы хотите разместить каретку после конца строки?Я пытаюсь придумать вариант использования для него, но не могу придумать какой-либо ...

Причина, по которой я спрашиваю, потому что это настройка по умолчанию в IntelliJ, которая вызывает у меня любопытство.

Ответы [ 4 ]

9 голосов
/ 27 октября 2011

Для меня как для старого программиста этот вопрос действительно странный.Должен быть вопрос, почему так много новых редакторов не предлагают эту старую функцию.(Вместе с блочным / прямоугольным редактированием).

Проще говоря, я хочу иметь возможность перемещаться по тексту любым способом, не ограничиваясь тем, что кто-то печатал ранее.Экран представляет собой прямоугольное изображение фрагмента текста (подумайте о метафорах и т. Д.).Я ожидаю, что смогу пойти куда угодно в этом прямоугольном пространстве, не останавливаясь на том, как выглядит базовый файл.

Пример. Если у нас есть три строки текста:

Строка1: это длинная строка с большим количеством текста.
Строка2: это более короткая строка.
Строка 3: это третья строка с текстом.

Если я нахожусь в конце строки 2 и хочу перейти к концу строки 1, я хочу иметь возможность идти вправо (несколько раз), а затем вверх, что является одним из способов сделать этов виртуальном пространстве, но в новом типе редакторов (которые ведут себя очень старым файлово-ориентированным способом), если я нажму прямо в конце строки 2, я окажусь в начале строки 3. Какой смысл в этом?Конечно, это имитирует «шаг вперед» в файле, но, метафорически, я хотел пойти куда-то еще.

Я действительно думаю, что это довольно обратный путь.

И как конецДело в том, что это симптоматично для многих (молодых?) программистов, которые раньше не видели столько операционных систем и редакторов, некоторые из которых были ничуть не хуже современных систем.Linux / Unix - это не мир, было много лучших систем, из которых мы могли бы поучиться.

5 голосов
/ 23 апреля 2011

Я ждал, чтобы кто-нибудь ответил на этот вопрос. Это действительно интересный вопрос, и я надеялся, что какой-нибудь старый таймер ответит на него ... (Поскольку я тоже не могу ясно понять это ...) Ниже приводится выдержка из Советы Visual Studio .

"Хорошо. Виртуальное пространство немного забавно понять, если вы не из Старой школы. Видите ли, давно в этой галактике у нас были (и у некоторых еще есть) редакторы, которые повсюду воспринимаются как редактируемое пространство. Позвольте мне объяснить: без виртуального пространства в конце строки, где заканчивается код. Теперь у вас может быть несколько действительно длинных строк кода, но, пока вы не нажмете Enter, строка просто будет продолжаться.

Если я подведу курсор к концу любой из этих строк и нажму клавишу со стрелкой вправо, он перейдет к следующей строке. Таким образом, для короткой строки курсор будет переходить к следующей строке в столбце 44. Для более длинной строки он будет переходить к следующей строке в столбце 68. А для супер длинной длинной строки он будет переходить к следующей строке в столбце. 176. Вот так редакторы были некоторое время и не новички для людей.

Однако, так было не всегда. Было время, когда вы могли печатать где угодно и когда угодно без ограничений. Некоторые текстовые редакторы все еще делают это сегодня. Виртуальное пространство позволяет вам вернуться к старому стилю редактирования, который предпочитают некоторые кодеры. Перейдите в Инструменты -> Параметры -> Текстовый редактор -> Все языки -> Общие -> Настройки и установите флажок «Включить виртуальное пространство», чтобы включить эту функцию. Когда вы это сделаете, вы сможете печатать в любом месте строки независимо от того, заканчивается код или нет: "

2 голосов
/ 17 июля 2013

Виртуальное пространство дает вам больше свободы в обработке вашего исходного кода как двумерной матрицы символов, а не как плавных строк текста.

Это очень полезно, если вам нравится выравнивать определенные элементы в одном столбце.

Кроме того, многие люди (включая меня) любят по возможности использовать блочное редактирование.Редактирование блоков в значительной степени зависит от выбора блоков.В Intellij выбор блока достигается удержанием Alt при перетаскивании мышью.Если вы не отметили опцию Allow placement of caret after end of line в Intellij, вы обнаружите, что выбор и редактирование блоков намного сложнее.Тенденция редактора размещать каретку в конце строки, а не в том месте, где вы щелкнули, делает редактирование блока более трудным, чем должно быть.

В любом случае включение виртуального пространства должнона самом деле не будет проблемой ни для кого.Если ваша каретка заканчивается за концом текущей строки, и вы хотите, чтобы она была в конце, все, что вам нужно сделать, это нажать клавишу End.

2 голосов
/ 27 октября 2011

Упрощает выстраивание комментариев / кода в конце строки или в некодовых, столбчатых данных и т. Д. При некоторых обстоятельствах это экономит много хлопот.

По умолчанию он отключен, несмотря на то, что у меня довольно старый программист, который начинал с редакторов в стиле canvas (в отличие от стиля линии).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...