Пропорциональный шрифт IDE - PullRequest
12 голосов
/ 18 августа 2008

Мне бы очень хотелось увидеть IDE пропорционального шрифта, даже если бы мне пришлось создавать его самостоятельно (возможно, как расширение для Visual Studio). В основном я имею в виду редактирование кода в стиле MS Word, которое похоже на типографский стиль в книге по языку программирования C ++ .

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

Кто-нибудь видел что-нибудь подобное или знает, как лучше всего его построить?

Ответы [ 13 ]

16 голосов
/ 18 августа 2008

Мне бы хотелось, чтобы популярный редактор или IDE реализовали упругие табуляции .

5 голосов
/ 20 октября 2008

Стиль мышления предлагает использовать ваши любимые программы для работы с текстом, такие как Word или Writer. Создайте свой программный код в rich XML и извлеките разделы, относящиеся к компилятору, с помощью XSLT. Программное обеспечение «Office» обеспечит все расширенные функции для работы с текстом и форматирования.

4 голосов
/ 18 августа 2008

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

Основным преимуществом традиционных «непропорциональных» требований к шрифту в редакторах кода является облегчение бремени выполнения форматирования кода.

Но при всем интерактивном автоматическом форматировании, которое происходит в современных IDE, действительно возможно, что пропорциональный шрифт мог бы улучшить читаемость кода (а не мешать ему, как я уверен, как ожидают многие пуристы).

Персонаж по имени Роуди Грин (известный своими « как писать не поддерживаемый код » статьями) написал о теоретическом редакторе / языке, основанном на Java, и назвал Бали . Он не включал непропорциональные шрифты в точности, но он включал идею наличия неоднородных размеров шрифта.

Кроме того, эта короткая публикация Джоэла Спольски публикует решение, упругие табуляции (как упомянуто другим комментатором), которое поможет с поддержкой непропорциональных (и переменного размера) шрифтов.

3 голосов
/ 18 августа 2008

@ Томас Оуэнс

Я не нахожу код, отформатированный таким образом, легче для чтения.

Это нормально, это просто личное предпочтение, и мы можем не согласиться. Отформатируйте его так, как вы считаете лучшим, и я буду его уважать. Я часто спрашиваю себя: «Как мне отформатировать ту или иную вещь?» Мой ответ всегда заключается в том, чтобы отформатировать его для улучшения читабельности, что, я признаю, может быть субъективным.

Что касается вашего примера, мне просто нравится иметь этот хорошо выровненный столбец справа, это своего рода быстрый «указатель» на код слева. Сказав это, я бы, вероятно, в любом случае не стал бы комментировать каждую строку, потому что сам код не нуждается в таком большом количестве объяснений. И если это так, я, как правило, пишу абзац над кодом.

Но рассмотрим этот пример из оригинального постера. На мой взгляд, легче заметить комментарии во втором.

for (size-type i = 0; i<v.size(); i++) { // rehash:
    size-type ii = has(v[i].key)%b.size9); // hash
    v[i].next = b[ii]; // link
    b[ii] = &v[i];
}

for (size-type i = 0; i<v.size(); i++) {     // rehash:
    size-type ii = has(v[i].key)%b.size9);   // hash
    v[i].next = b[ii];                       // link
    b[ii] = &v[i];
}
2 голосов
/ 20 октября 2008

Интересно, почему никто на самом деле не отвечает на ваш вопрос, и почему принятый ответ не имеет ничего общего с вашим вопросом. Но все равно ...

пропорциональный шрифт IDE

В Eclipse вы можете выбрать любой шрифт в вашей системе.

установить табуляцию для моих отступов

В Eclipse вы можете настроить автоматический отступ, включая настройку «Только вкладки».

выравнивание сигнатур функций и строк операторов присваивания

В Eclipse это делает автоматический отступ.

, который может быть указан в точках вместо фиксированных позиций символов.

Извините, я не думаю, что Затмение может помочь вам там. Но это с открытым исходным кодом. ; -)

жирный и курсив

Затмение имеет это.

Различные размеры шрифтов и даже таблицы стилей были бы классными

Я думаю, что Eclipse использует только один шрифт и размер шрифта для каждого типа файла (например, исходный файл Java), но вы можете иметь разные «таблицы стилей» для разных типов файлов.

2 голосов
/ 18 августа 2008

@ Томас Оуэнс

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

Да, люди выстраивают комментарии и декларации и все такое. Последовательно хорошо отформатированный код легче читать, а код, который легче читать, легче поддерживать

1 голос
/ 13 сентября 2011

Часть вашего вопроса с отступом выполняется сегодня в реальном продукте, хотя, возможно, даже с большей степенью автоматизации, чем вы себе представляли, продукт, о котором я упоминаю, представляет собой XSLT IDE , но с тем же форматированием принципы будут работать с большинством (но не со всеми) синтаксисами обычного кода.

Это действительно нужно увидеть в видео , чтобы понять все это (извините за музыкальный трек). Есть также легкий дополнительный редактор XML, XMLQuire , который служит демонстратором технологий.

На снимке экрана ниже показан XML, отформатированный с довольно сложными правилами форматирования в этой среде XSLT IDE, где все отступы выполняются в стиле текстового процессора с использованием левого поля, а не пробелов или символов табуляции.

enter image description here

Чтобы подчеркнуть эту концепцию форматирования, все символы были выделены, чтобы показать, где левый край простирается для сохранения отступа. Я использую термин Виртуальное форматирование , чтобы описать это - это не упругие остановки табуляции, потому что просто нет вкладок, просто информация о полях, которая является частью форматирования «абзаца» (здесь используются коды RTF). Синтаксический анализатор переформатирует непрерывно, в один проход с окраской синтаксиса.

Пропорциональный шрифт здесь не использовался, но это могло бы быть довольно легко - потому что отступ задается в TWIPS. Опыт редактирования довольно убедителен, потому что, когда вы реорганизуете код (в данном случае XML), возможно, с помощью перетаскивания или увеличения длины значения атрибута, отступ просто перетекает сам, чтобы соответствовать - нет табуляции кнопку или кнопку «переформатировать», чтобы нажать.

Итак, отступ есть, но работа со шрифтами - более сложная проблема. Я экспериментировал с этим, но обнаружил, что если шрифты переизбираются при вводе текста, горизонтальное смещение кода слишком отвлекает - вероятно, потребуется команда инициированного пользователем «форматирования шрифтов». Продукт также имеет встроенную технологию рукописного ввода для аннотирования кода, но мне еще предстоит использовать это в живом выпуске.

1 голос
/ 18 августа 2008

@ Брайан Энсинк: Я не нахожу код, отформатированный таким образом, легче для чтения.

int var1 = 1 //Comment
int longerVar = 2 //Comment
int anotherVar = 4 //Command

против

int var2       = 1 //Comment
int longerVar  = 2 //Comment
int anotherVar = 4 //Comment

Лично мне легче прочитать первые строки, чем вторые.

1 голос
/ 18 августа 2008

Соерен: Это очень мило, ИМО. Но действительно ли люди выстраивают комментарии так? Для моих комментариев в конце строки я всегда использую один пробел, затем // или / * или эквивалентный, в зависимости от языка, который я использую. Я никогда не пытаюсь выстроить объявления, комментарии или что-то еще, и единственное место, которое я когда-либо видел, это учебники.

1 голос
/ 18 августа 2008

Когда я в последний раз смотрел на Eclipse (некоторое время назад!), Он позволял вам выбирать любой установленный шрифт для работы. Не уверен, поддерживает ли он понятие отступа с использованием табуляции.

Это выглядело круто, но код было определенно труднее читать ...

...