рдЙрджрд╛рддреНрдд рдкрд╛рда 2: рд╕реНрдирд┐рдкреЗрдЯ рдХреИрд╕реЗ рдмрдирд╛рдПрдВ?

рдЫрд╡рд┐
рдЙрджрд╛рддреНрдд рдкрд╛рда 2 рдХрд╛ рдЙрдкрдпреЛрдЧ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдореИрдВ рдХреБрдЫ рдЙрдкрдпреЛрдЧреА рд╕реНрдирд┐рдкреЗрдЯ рдмрдирд╛рдХрд░ рдЕрдкрдиреЗ рдЬреАрд╡рди рдХреЛ рдереЛрдбрд╝рд╛ рд╕рд░рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЗрд╕ рддрдереНрдп рд╕реЗ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рдХрд┐ рдЙрд╕ рд╕рдордп рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд░реВрд╕реА рдореЗрдВ рдХреЛрдИ рдирд┐рд░реНрджреЗрд╢ рдирд╣реАрдВ рдереЗред рдЕрдВрдЧреНрд░реЗрдЬреА рднрд╛рд╖рд╛ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд▓реЗрдЦ рдорд┐рд▓рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдЙрд╕реА рд╕рдордп рдЗрд╕реЗ рдереЛрдбрд╝рд╛ рдкреВрд░рдХ рдХрд┐рдпрд╛, рдФрд░ рдХреБрдЫ рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЛ рдкрд╣рдЪрд╛рдирд╛ рдЬрд┐рдиреНрд╣реЗрдВ рдореИрдВ рдЖрдкрдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реВрдВред

рдкреАрдПрдо рдореЗрдВ рдЕрд╢реБрджреНрдзрд┐рдпреЛрдВ, рдЯрд╛рдЗрдкреЛ, рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦреЗрдВ - рдореИрдВ рдЗрд╕реЗ рддреБрд░рдВрдд рдареАрдХ рдХрд░реВрдВрдЧрд╛ред




рдЯреБрдХрдбрд╝рд╛


рдпрд╣ рдЙрджрд╛рддреНрдд рдкрд╛рда 2 рдореЗрдВ рдПрдХ рд╕реНрдирд┐рдкреЗрдЯ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╣реИред рдЖрдк рдЯреВрд▓-рдиреНрдпреВ рд╕реНрдирд┐рдкреЗрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

  1. < рд╕реНрдирд┐рдкреЗрдЯ >
  2. < рд╕рд╛рдордЧреНрд░реА > <! [рд╕реАрдбреАрдПрдЯреАрдП [
  3. рд╣реИрд▓реЛ, $ {1: рдпрд╣} $ {2: рд╕реНрдирд┐рдкреЗрдЯ} рд╣реИред
  4. ]] >
  5. </ рд╕рд╛рдордЧреНрд░реА >
  6. <! - рд╡реИрдХрд▓реНрдкрд┐рдХ: рд╕реНрдирд┐рдкреЗрдЯ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреИрдмрдЯреНрд░рд╛рдЗрдЧрд░ рд╕реЗрдЯ рдХрд░реЗрдВ ->
  7. <! - <tabTrigger> рд╣реИрд▓реЛ </ tabTrigger> ->
  8. !
  9. <! - <рдЧреБрдВрдЬрд╛рдЗрд╢> source.python </ рдЧреБрдВрдЬрд╛рдЗрд╢> ->
  10. </ рд╕реНрдирд┐рдкреЗрдЯ >


рд╕реАрдзреЗ рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдХреЛрдб <! [CDATA [ рдХреБрдЫ рдХреЛрдб ]]> рдХреЗ рдмреАрдЪ рд╕рдорд╛рд╣рд┐рдд рд╣реИред рдпрд╣рд╛рдБ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ:
  1. < рд╕реНрдирд┐рдкреЗрдЯ >
  2. < рд╕рд╛рдордЧреНрд░реА > <! [рд╕реАрдбреАрдПрдЯреАрдП [
  3. assert_equal ($ {1: рдЕрдкреЗрдХреНрд╖рд┐рдд}, $ {0: рд╡рд╛рд╕реНрддрд╡рд┐рдХ})
  4. ]] > </ рд╕рд╛рдордЧреНрд░реА >
  5. < tabTrigger > ase </ tabTrigger >
  6. < рдЧреБрдВрдЬрд╛рдЗрд╢ > source.ruby </ рдЧреБрдВрдЬрд╛рдЗрд╢ >
  7. < рд╡рд┐рд╡рд░рдг > assert_equal (..) </ рд╡рд░реНрдгрди >
  8. </ рд╕реНрдирд┐рдкреЗрдЯ >
ред

рдЕрдм, рдЬрдм рдЖрдк рд╕рдВрдкрд╛рджрдХ рдореЗрдВ "ase" рдЯрд╛рдЗрдк рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рддрдм Tab рджрдмрд╛рддреЗ рд╣реИрдВ, рддреЛ "ase" рдХреЛ рд╕реНрдирд┐рдкреЗрдЯ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЛрдб рджреНрд╡рд╛рд░рд╛ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  1. assert_equal (рдЕрдкреЗрдХреНрд╖рд┐рдд, рд╡рд╛рд╕реНрддрд╡рд┐рдХ)


рдЕрдм рд╣рдо рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ $ {1: рдЕрдкреЗрдХреНрд╖рд┐рдд} рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ "рдЙрдореНрдореАрдж" рд╢рдмреНрдж рдХреЛ рдЯреИрдм рджрдмрд╛рдиреЗ рдХреЗ рдмрд╛рдж рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рд╕рдВрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИ, рдФрд░ рдпрджрд┐ рдЖрдк рдЯреИрдм рдХреЛ рдлрд┐рд░ рд╕реЗ рджрдмрд╛рддреЗ рд╣реИрдВ, рддреЛ рдХрд░реНрд╕рд░ $ {0: рд╡рд╛рд╕реНрддрд╡рд┐рдХ}, рдЕрд░реНрдерд╛рддреН рдкрд░ рд╕реНрд╡рд┐рдЪ рд╣реЛ рдЬрд╛рдПрдЧрд╛ ред "рд╡рд╛рд╕реНрддрд╡рд┐рдХ" рд╢рдмреНрдж рдкрд░ рдкреНрд░рдХрд╛рд╢ рдбрд╛рд▓рд╛ рдЬрд╛рдПрдЧрд╛ред

рддрд╛рдЬреНрдЬреБрдм рд╣реИ, $ {0: рд╡рд╛рд╕реНрддрд╡рд┐рдХ} рджреВрд╕рд░реЗ рдкрд░ рдкреНрд░рдХрд╛рд╢ рдбрд╛рд▓рд╛ рдЧрдпрд╛ рд╣реИред рдЖрдк рд╕реЛрдЪ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ "ase" рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЯреИрдм рджрдмрд╛рдиреЗ рд╕реЗ $ {0: рд╡рд╛рд╕реНрддрд╡рд┐рдХ} рдЙрдЬрд╛рдЧрд░ рд╣реЛ рдЬрд╛рдПрдЧрд╛ 0 1 рд╕реЗ рдкрд╣рд▓реЗ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдпрд╣рд╛рдБ рдирд╣реАрдВ рдерд╛ - $ {0} рд╣рдореЗрд╢рд╛ рдЬрд╣рд╛рдБ рднреА рдЖрдк рдЗрд╕реЗ рдбрд╛рд▓рддреЗ рд╣реИрдВ, рд╣рдореЗрд╢рд╛ рдЕрдВрддрд┐рдо рд░реВрдк рд╕реЗ рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рддреЛ рдЕрдЧрд░ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЗрд╕ рддрд░рд╣ рдХрд╛ рд╕реНрдирд┐рдкреЗрдЯ рд╣реИ:
  1. < рд╕реНрдирд┐рдкреЗрдЯ >
  2. < рд╕рд╛рдордЧреНрд░реА > <! [рд╕реАрдбреАрдПрдЯреАрдП [
  3. рд╣реИрд▓реЛ, $ {1} рдПрдХ $ {2: рд╕реНрдирд┐рдкреЗрдЯ} рд╣реИред $ {0}, $ {3}
  4. ]] > </ рд╕рд╛рдордЧреНрд░реА >
  5. <! - рд╡реИрдХрд▓реНрдкрд┐рдХ: рд╕реНрдирд┐рдкреЗрдЯ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЯреИрдмрдЯреНрд░рд╛рдЗрдЧрд░ рд╕реЗрдЯ рдХрд░реЗрдВ ->
  6. < tabTrigger > рд╣реИрд▓реЛ </ tabTrigger >
  7. !
  8. <! - <рдЧреБрдВрдЬрд╛рдЗрд╢> source.python </ рдЧреБрдВрдЬрд╛рдЗрд╢> ->
  9. </ рд╕реНрдирд┐рдкреЗрдЯ >

рд╣рд░ рдмрд╛рд░ рдЬрдм рдЖрдк рдЯреИрдм рджрдмрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ $ {1} рдлрд┐рд░ $ {2} рдФрд░ рдлрд┐рд░ $ {3} рдФрд░ рдЕрдВрдд рдореЗрдВ $ 0} рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдпрд╣ рднреА рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ $ {0} рддрдХ рдкрд╣реБрдВрдЪрдирд╛, рдЪрдпрди рдмрдврд╝рдирд╛ рдмрдВрдж рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдХреЛрдИ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ $ {0} рдХреЛрдб рдХреЗ рдЙрд╕ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдорддреМрд░ рдкрд░ рддреБрд░рдВрдд рдЖрдЧреЗ рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИред

рдЯреИрдм рдкрд░ рдердХ рдЧрдпрд╛


рдпрд╣ рдЖрдкрдХреЛ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдХреЗрд╡рд▓ рдЯреИрдм рдмрдЯрди рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдмрд╛рдВрдз рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк ctrl-alt рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛред рдРрд╕реЗ рд░реИрдкрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП: <% =%>?
рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕реНрдирд┐рдкреЗрдЯ рдкрд░ рдХреАрдмреЛрд░реНрдб рд╢реЙрд░реНрдЯрдХрдЯ рдХреЛ рдмрд╛рдВрдзрдирд╛ рд╣реЛрдЧрд╛:
рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдПрдВ рдкрд░ рдЬрд╛рдПрдВ, рдлрд┐рд░ рдХреБрдВрдЬреА рдмрд╛рдЗрдВрдбрд┐рдВрдЧ - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ред рдпрд╣рд╛рдБ рд╣реИ рдХрд┐ рдпрд╣ рдХреИрд╕рд╛ рджрд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП:
  1. [
  2. {
  3. "рдХреАрдЬрд╝": ["рдХрдорд╛рдВрдб + рд╢рд┐рдлреНрдЯ +ред"],
  4. "рдХрдорд╛рдВрдб": "рдЗрдиреНрд╕рд░реНрдЯ_рд╕рд┐рдкреЗрдЯ",
  5. "рдЖрд░реНрдЧреНрд╕": {"рдирд╛рдо": "рдкреИрдХреЗрдЬ / рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ / erb.sublime- рд╕реНрдирд┐рдкреЗрдЯ"}
  6. }
  7. ]

рддреЛ, рдХрдИ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ:
"рдХреБрдВрдЬреА": рд╡рд╛рдВрдЫрд┐рдд рдХреАрдмреЛрд░реНрдб рд╢реЙрд░реНрдЯрдХрдЯ
"рдХрдорд╛рдВрдб": рдХрдорд╛рдВрдб рдХрд╛ рдирд╛рдо
"рдЖрд░реНрдЧреНрд╕": рд╡реИрдХрд▓реНрдкрд┐рдХ рддрд░реНрдХ

рдпрд╣ рдордд рднреВрд▓реЛ рдХрд┐ рдЕрдВрдд рдореЗрдВ рд╣рдореЗрдВ рдПрдХ рд╕реНрдирд┐рдкреЗрдЯ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ :) рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╕рднреА "рдкреИрдХреЗрдЬ" рдХрд╣рд╛рдВ рд╣реИрдВ, рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдореЗрдиреВ рдЖрдЗрдЯрдо рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, рдлрд┐рд░ рдкреИрдХреЗрдЬ рдмреНрд░рд╛рдЙрдЬрд╝ рдХрд░реЗрдВред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдлрд╝реЛрд▓реНрдбрд░ рдвреВрдВрдвреЗрдВ рдФрд░ рдирд┐рдореНрди рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде erb.sublime-snippet рдЬреЛрдбрд╝реЗрдВ:
  1. < рд╕реНрдирд┐рдкреЗрдЯ >
  2. < рд╕рд╛рдордЧреНрд░реА > <! [CDATA [ <% = $ {1} %> ] > </ рд╕рд╛рдордЧреНрд░реА >
  3. </ рд╕реНрдирд┐рдкреЗрдЯ >


рд╣реЛ рдЧрдпрд╛!

рдЬрд╝рд┐рдореЛрд░реЛрдбреЛрдХ рд╕реЗ рдкреВрд░рдХ

1. рдЖрдк рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП $ TM_SELECTED_TEXTред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ рдЬрдм рд╕реНрдирд┐рдкреЗрдЯ рдХреЗ рд▓рд┐рдП рд╣реЙрдЯрдХреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреА рдЬрд╛рддреА рд╣реИ рдпрд╛ рдХрдорд╛рдВрдб рдмрд╛рд░ рд╕реЗ рд╕реНрдирд┐рдкреЗрдЯ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

<snippet> <content><![CDATA[console.log(${0:$TM_SELECTED_TEXT});]]></content> <tabTrigger>cl</tabTrigger> <scope>source.js</scope> <description>console.log</description> </snippet> 


2. рдЖрдк рдЯрд╛рдЗрдкрд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди рд╕реНрдирд┐рдкреЗрдЯ рдмреЙрдбреА рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

 <snippet> <content><![CDATA[set${5:T}${5/(T)|(I).*/(?1:imeout)(?2:nterval)/}(${20:function () \{${0:$TM_SELECTED_TEXT}\}}, ${10:50});]]></content> <tabTrigger>set</tabTrigger> <scope>source.js</scope> <description>setTimeout, setInterval</description> </snippet> 


"рд╕реЗрдЯ" рдЯрд╛рдЗрдк рдХрд░рддреЗ рд╕рдордп - TAB, рдЖрдк "I" рд▓рд┐рдЦрдирд╛ рдЬрд╛рд░реА рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ "terval" рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рд╢рдмреНрджреЛрдВ рдореЗрдВ рд╡рд░реНрдгрди рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред

рдЬрд┐рдореЛрд░реЛрджреЛрдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрдирд┐рдкреЗрдЯ рд╕реЗрдЯ

рд╕рдВрджрд░реНрдн:

www.sublimetext.com/download - рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ
www.sublimetext.com/docs/api-reference - рдкреНрд▓рдЧрдЗрди рдПрдкреАрдЖрдИ рд╕рдВрджрд░реНрдн
habrahabr.ru/post/136529 - рдЙрджрд╛рддреНрдд рдкрд╛рда 2 рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧрдЗрдиреНрд╕ рдмрдирд╛рдиреЗ рдкрд░ рд╢рд╛рдирджрд╛рд░ рд▓реЗрдЦ
github.com/bobthecow/sublime-sane-snippets - рд╕реЗрди рд╕реНрдирд┐рдкреЗрдЯ - рд╕реНрдирд┐рдкреЗрдЯреНрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧрдЗрди (рдзрдиреНрдпрд╡рд╛рдж рдЯрд╛рдЗрдХреЛрдПрдирдПрди )
sublimetext.info - рдЕрдиреМрдкрдЪрд╛рд░рд┐рдХ рдкреНрд░рд▓реЗрдЦрди
sublimetext.info/docs/en/reference/snippets.html - рд╕реНрдирд┐рдкреЗрдЯреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзреНрдпрд╛рдп

Source: https://habr.com/ru/post/In148324/


All Articles