2013-02-26 3 views
0

Так что я недавно перешел с Dreamweaver на Aptana Studio 3, и я играл со всей функцией специального фрагмента. Для жизни меня, хотя я не могу понять, как взять выделенный/выделенный текст и обернуть его собственным кодом и/или текстом. Я просмотрел интернет в течение трех дней и не могу найти ничего относительно фрагментов. Я нашел некоторые вещи, используя команды и комбинации клавиш, но я хочу создать и использовать фрагмент и пытаться изменить то, что я нашел, не создает хорошие плоды.Aptana Studio 3 Snippet Around Selection

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

У меня нет абсолютно никакого опыта с Ruby, так что простите меня, если то, что следует, совершенно ужасно. У меня больше опыта с PHP, HTML, Javascript, Java и т. Д. Вот что у меня есть.

snippet "Selection Test" do |snip| 
    snip.trigger = "my_code" 
    snip.input = :selection 
    selection = ENV['TM_SELECTED_TEXT'] || '' 
    snip.expansion = "<test>$selection</test>\n" 
    snip.category = "My Snippets" 
end 

ответ

0

Я не делал много с пользовательским Snippets, но если это помогает, есть пример в HTML-расслоении фрагмента, который окружает выбранный текст <p></p> тегов, когда вы делаете Ctrl + Shift + W. Вы можете увидеть код для него в snippets.rb в HTML пачке:

with_defaults :scope => 'text.html - source', :input => :none, :output => :insert_as_snippet do |bundle| 
    command t(:wrap_selection_in_tag_pair) do |cmd| 
    cmd.key_binding = "CONTROL+SHIFT+W" 
    cmd.input = :selection 
    cmd.invoke do |context| 
     selection = ENV['TM_SELECTED_TEXT'] || '' 
     if selection.length > 0 
     "<${1:p}>${2:#{selection.gsub('/', '\/')}}</${1:p}>" 
     else 
     "<${1:p}>$0</${1:p}>" 
     end 
    end 
    end 
end 

Я возился с поместив его в PHP расслоению в течение нескольких минут под CTRL + Shift + P и получил его работы в HTML-файлы, которые не были моя цель ... но был прогресс. Я могу поиграть с ним еще немного позже, но тем временем, может быть, вы знаете достаточно после всех своих исследований, чтобы собрать что-то. Мне было бы интересно увидеть ваши результаты, если вы это выясните.

+0

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

+0

Я вижу, что вы говорите. Из того, что я понимаю, Snippets не может использовать выбор, только команды могут. Команды не отображаются в представлении «Сниппеты», они находятся под командами (и к ним можно получить доступ с помощью клавишных комбо). Я подумал, что, возможно, вы можете сделать Snippet, который вызвал команду, но единственные примеры, которые я мог найти, только поступили другим способом (команды, вызывающие фрагменты). Это имеет смысл, потому что фрагменты обычно вызываются путем ввода чего-то (например, «php»), а Ctrl + Space преобразует его в фрагмент. Выбор здесь не имеет смысла, поскольку во время ввода вы не можете выбрать ничего. –