aptana studio 3 — фрагменты и ключевые команды

#aptana

#aptana

Вопрос:

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

http://wiki.appcelerator.org/display/tis/Creating a new snippet

Во-первых, где находится «существующий файл bundle.rb»?

Во-вторых, если бы я хотел добавить html-теги вокруг текста, есть ли способ сделать это? Например, выделите несколько строк текста и добавьте

или теги вокруг него? Или даже в начале и

в конце.

очень признателен.

Ответ №1:

Следуйте инструкциям в примечании на связанной вики-странице, чтобы создать новый рубль. Это создаст проект в вашей рабочей области. Внутри этой папки вы найдете файл bundle.rb (или, альтернативно, в этом новом проекте также есть файл snippets.rb, который вы также можете использовать с уже созданным примером сниппета)

Что касается вставки элементов вокруг выделения, да. В этом случае я бы использовал команду, поскольку ее немного проще запускать. Вы должны сделать выбор, а затем использовать сочетание клавиш или команду меню, чтобы вызвать его. Пример ниже:

 require 'ruble'

command 'Wrap' do |cmd|
  cmd.key_binding = 'CONTROL SHIFT COMMAND W'
  cmd.output = :insert_as_snippet
  cmd.input = :selection
  cmd.invoke do |context|
    input = STDIN.read
    input.gsub(/[$`\]/, '\1').gsub(/([ t]*)(. )/, '1<${1:li}>2</${1:li}>')
  end
end
  

Обратите внимание, что это берет текущий выделенный фрагмент, оборачивает его в теги открытия / закрытия и повторно вставляет его в виде фрагмента, поэтому вы можете повторно отредактировать теги открытия / закрытия по своему вкусу. Если вам это не нужно, вы можете сделать более простую версию:

 require 'ruble'

command 'Wrap' do |cmd|
  cmd.key_binding = 'CONTROL SHIFT COMMAND W'
  cmd.output = :replace_selection
  cmd.input = :selection
  cmd.invoke do |context|
    input = STDIN.read
    input.gsub(/[$`\]/, '\1').gsub(/([ t]*)(. )/, '1<li>2</li>')
  end
end
  

Комментарии:

1. Спасибо за ответ. почти получилось так, как я хотел. Проблема, с которой я сейчас сталкиваюсь, заключается в том, что он добавляет каждую строку, а не весь фрагмент. Например, я получаю code <p>sd faf sadfsdafas </p> <p> </p> <p>dsfasdfasdfs </p> <p> <p>sdfasdf</p> code Вместо code <p>sd faf sadfsdafas dsfasdfasdfs sdfasdf</p> code (хотя для вашего примера с LIs это сработало бы немного лучше. )

Ответ №2:

На самом деле, встроенная привязка Ctrl-Shift-Command W позволит вам окружить выделенный текст любым тегом, который вы хотите. Это просто значение по умолчанию <p>[Highlighted text]</p> . Если вы начнете печатать после нажатия ярлыка, он заменит букву «p» в обоих тегах на все, что вы вводите, пока вы не нажмете return или клавишу со стрелкой.