Подтвердить что ты не робот

Какова цель IntelliJ IDEA Virtual Space?

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

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

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

4b9b3361

Ответ 1

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

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

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

Line1: Это длинная строка с большим количеством текста. Line2: Это более короткая строка.
Line3: Это третья строка с текстом.

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

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

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

Ответ 2

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

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

Если я переместил курсор в конец любой из этих строк и нажал клавишу "Стрелка вправо", он перейдет к следующей строке. Таким образом, для короткой строки курсор перепрыгнет к следующей строке в столбце 44. Для более длинной строки он перепрыгнет вниз по следующей строке в столбце 68. И для супер-пупер длинной строки он перейдет к следующей строке в столбце 176. Это то, как редакторы были какое-то время, и на самом деле не ново для людей.

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

Ответ 3

Это упрощает выравнивание комментариев/кода в конце строки или в некодерах, столбчатых данных /etc. В некоторых случаях это экономит много хлопот.

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

Ответ 4

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

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

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

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