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

Увеличенная высота строки для шрифта Consolas в Eclipse

Многие люди используют Consolas для своего основного шрифта программирования, но, к сожалению, нет способа изменить высоту строки в Eclipse, чтобы она выглядела как это показано ниже:

enter image description here

Мне было интересно, есть ли кто-нибудь, кто решил это, добавив лишнее пространство между строками или просто изменив сам шрифт, который теперь имеет более высокую высоту.

Было бы неплохо поделиться им с нами здесь, на Stackoverflow.

Есть некоторые темы, которые я нашел во время поиска, но ни один из них не был тем, что я ищу:

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

4b9b3361

Ответ 1

Как упоминалось в одном из ответов, которые вы ссылаетесь на базовый элемент управления StyledText, имеет метод setLineSpacing, но существующие редакторы его не используют.

Код стиля CSS в Eclipse 4.3 предоставляет способ доступа к нему, но для этого требуется написание плагина для расширения CSS.

plugin.xml для плагина будет выглядеть так:

<plugin>
   <extension
         point="org.eclipse.e4.ui.css.core.elementProvider">
      <provider
            class="linespacing.LineSpacingElementProvider">
         <widget
               class="org.eclipse.swt.custom.StyledText"></widget>
      </provider>
   </extension>
   <extension
         point="org.eclipse.e4.ui.css.core.propertyHandler">
      <handler
            adapter="linespacing.StyledTextElement"
            composite="false"
            handler="linespacing.LineSpacingPropertyHandler">
         <property-name
               name="line-spacing">
         </property-name>
      </handler>
   </extension>
</plugin>

который объявляет провайдер элемента CSS LineSpacingElementProvider, который будет:

public class LineSpacingElementProvider implements IElementProvider
{
  @Override
  public Element getElement(final Object element, final CSSEngine engine)
  {
    if (element instanceof StyledText)
      return new StyledTextElement((StyledText)element, engine);

    return null;
  }
}

StyledTextElement это обеспечивает просто:

public class StyledTextElement extends ControlElement
{
  public StyledTextElement(StyledText control, CSSEngine theEngine)
  {
    super(control, theEngine);
  }
}

Второе объявление в plugin.xml является обработчиком свойств CSS для свойства, называемого line-spacing

public class LineSpacingPropertyHandler extends AbstractCSSPropertySWTHandler implements ICSSPropertyHandler
{
  @Override
  protected void applyCSSProperty(Control control, String property, CSSValue value, String pseudo, CSSEngine engine) throws Exception
  {
    if (!(control instanceof StyledText))
      return;

    StyledText text = (StyledText)control;

    if ("line-spacing".equals(property))
     {
       int pixelValue = (int)((CSSPrimitiveValue)value).getFloatValue(CSSPrimitiveValue.CSS_PX);

       text.setLineSpacing(pixelValue);
     }
  }

  @Override
  protected String retrieveCSSProperty(Control control, String property, String pseudo, CSSEngine engine) throws Exception
  {
     return null;
  }
}

С плагином, содержащим эту установку, вы можете затем изменить одну из существующих таблиц стилей CSS, чтобы она содержала:

StyledText {
    line-spacing: 2px;
}

Ответ 2

Вам лучше выбрать разные шрифты. Не просто придерживайтесь вещей. Попробуйте новые вещи и примите их.: D Я также использовал Consolas. Но теперь я использую Courier New, и они довольно хороши. Если у вас есть 21-дюймовый или более большой дисплей, вы можете использовать Courier New с размерами 12 или 14. После того, как вы его используете, вы привыкнете к нему, как сейчас, с Консолой: P

Ответ 3

Вы можете попробовать Fira Mono. Смотрите здесь несколько скриншотов здесь. Маленькие размеры тоже выглядят хорошо.