рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рддреНрдд рдкрд╛рда 2 рдкреНрд▓рдЧрдЗрди рд▓реЗрдЦрди

рдкрд░рд┐рдЪрдп

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

рдЙрджрд╛рддреНрдд рдкрд╛рда реи

рдореИрдВ рдпрд╣ рдХрд╣рдиреЗ рдХрд╛ рдирд╛рдЯрдХ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдХрд┐ рдЙрджрд╛рддреНрдд рдкрд╛рда 2 рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдкрд╛рда рд╕рдВрдкрд╛рджрдХ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдпрд╣ рдмрд╣реБрдд рдкрд╕рдВрдж рдЖрдпрд╛, рдФрд░ рдпрд╣рд╛рдБ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:

рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдмрдпрд╛рди

рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдЕрднреНрдпрд╛рд╕ рд╕реЗ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрджрд╛рд╣рд░рдгред рдкрд╛рда рдореЗрдВ рдЪрдпрдирд┐рдд рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рджрд╢рдорд▓рд╡ рд╕реЗ рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓ рд╕рдВрдЦреНрдпрд╛ рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ рдЕрдиреБрд╡рд╛рджред рд╕реБрд╡рд┐рдзрд╛ рдореБрдЦреНрдп рдФрд░ рд╕рдВрджрд░реНрдн рдореЗрдиреВ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдХреАрдмреЛрд░реНрдб рд╢реЙрд░реНрдЯрдХрдЯ Ctrl + Shift + H рд╕реЗ рд╕реБрд▓рдн рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдирд┐рд╖реНрдкрд╛рджрди рдкрд░рд┐рдгрд╛рдо: "0x" рдЬреИрд╕реЗ рдХрд┐рд╕реА рднреА рдкреНрд░рдореБрдЦ рдкрд╛рддреНрд░реЛрдВ рдХреЗ рдмрд┐рдирд╛ рд╕рдВрдЦреНрдпрд╛ рдФрд░ рдЕрдкрд░рдХреЗрд╕ рдЕрдХреНрд╖рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓рд┐рдЦреЗ рдЧрдП рд╣реЗрдХреНрд╕ рдореЗрдВ рд╕рдВрдЦреНрдпрд╛ред рдпрджрд┐ рдЪрдпрдирд┐рдд рдкрд╛рда рдПрдХ рд╕рдВрдЦреНрдпрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рд╣рдо рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдкрдЯреНрдЯреА рдХреЗ рд╕рд╛рде рд╢рдкрде рд▓реЗрддреЗ рд╣реИрдВред рдореИрдВ рдЗрд╕ рддрдереНрдп рдкрд░ рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдЬрд╛рдирдмреВрдЭрдХрд░ рдЕрдзрд┐рдХрддрдо рддрдХ рд╕рд░рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддрд╛рдХрд┐ рд╡рд┐рд╡рд░рдг рдЦреЛ рди рдЬрд╛рдП: рдЙрджрд╛рддреНрдд рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧрдЗрдиреНрд╕ рдмрдирд╛рдиреЗ рдХреА рд╕рд╛рджрдЧреАред

рдПрдХ рдкреНрд▓рдЧрдЗрди рд▓реЗрдЦрди

рдЯреВрд▓реНрд╕ -> рдиреНрдпреВ рдкреНрд▓рдЧрд┐рди ... рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ рд╡рд░реНрдХрдкреАрд╕ рджреЗрдЦреЗрдВред рдХрдХреНрд╖рд╛ рдХрд╛ рдирд╛рдо рдмрджрд▓реЗрдВ рдФрд░ рд░рди рд╡рд┐рдзрд┐ рдореЗрдВ рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд▓рд┐рдЦреЗрдВред рдореБрдЭреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдорд┐рд▓рд╛:
import sublime, sublime_plugin class DecToHexCommand(sublime_plugin.TextCommand): MAX_STR_LEN = 10 def run(self, edit): v = self.view #      dec = v.substr(v.sel()[0]) #          if dec.isdigit(): v.replace(edit, v.sel()[0], hex(int(dec))[2:].upper()) else: #    ,      if len(dec) > self.MAX_STR_LEN: logMsg = dec[0:self.MAX_STR_LEN]+ "..." else: logMsg = dec sublime.status_message("\"" + logMsg + "\" isn't a decimal number!") 

рдЙрд╕ рдЬрдЧрд╣ рдХреЛ рд╕рд╣реЗрдЬреЗрдВ рдЬрд╣рд╛рдВ рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдбрд┐рдЯрд░ dec_to_hex.py рд╕реБрдЭрд╛рддрд╛ рд╣реИред

рдореЗрдиреВ рдЖрдЗрдЯрдо рдЬреЛрдбрд╝реЗрдВред рдПрдХ рдХреАрдмреЛрд░реНрдб рд╢реЙрд░реНрдЯрдХрдЯ рд▓рд┐рдЦрд┐рдП

рдЪрд▓реЛ рдЧрд░реНрдо рдХреБрдВрдЬреА рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдореЗрдиреВ рдореЗрдВ, рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдПрдВ -> рдХреБрдВрдЬреА рдмрд╛рдЗрдВрдбрд┐рдВрдЧ-рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред JSON рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝рд╛рдЗрд▓ рдЦреБрд▓рддреА рд╣реИред рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рдЦрд╛рд▓реА рд╣реИред рдЗрд╕рдореЗрдВ рдПрдХ рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝реЗрдВ
  { "keys": ["ctrl+shift+h"], "command": "dec_to_hex" } 

рд╕рд╣реЗрдЬреЗрдВред рд╡рд╣ рд╕рдм рд╣реИред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдХреНрдпрд╛ рд▓рд┐рдЦрд╛ рд╣реИ (Ctrl + `) рджреЗрдЦрдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╕рдВрджрд░реНрдн рдореЗрдиреВ рдореЗрдВ рдПрдХ рдЖрдЗрдЯрдо рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рдПрдХ Context.sublime- рдореЗрдиреВ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдВ:

 [ { "command": "dec_to_hex" } ] 


рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐, рдкрд┐рдЫрд▓реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЯрд┐рдкреНрдкрдгреА рдХреЗ рдмрд┐рдирд╛ рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╣реИред рд╣рдо рдЙрд╕реА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ рд╕рд╣реЗрдЬрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдкреНрд▓рдЧ-рдЗрди рд╕рд╣реЗрдЬрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╛рдиреА рд╡рд┐рдВрдбреЛрдЬ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП % USERPROFILE% \ AppData \ Roaming \ Sublime рдкрд╛рда 2 \ рдкреИрдХреЗрдЬ \ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ ред рдЙрд╕реА рдЬрдЧрд╣ рдореЗрдВ рд╣рдо Main.sublime-menu рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рддреЗ рд╣реИрдВред рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рдпрд╣ рдЖрдЗрдЯрдо рд╕рдВрдкрд╛рджрди рдореЗрдиреВ рдореЗрдВ рд╕рдмрд╕реЗ рдЙрдкрдпреБрдХреНрдд рд╣реЛрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ Main.sublime- рдореЗрдиреВ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рдореНрди рд▓рд┐рдЦрд╛ рд╣реИ:
 [ { "id": "edit", "children": [ { "command": "dec_to_hex" } ] } ] 

рд╣рдо рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВред Dec рдФрд░ Hex рдХреЗ рдирд╛рдо рдХреЗ рд╕рд╛рде рдореБрдЦреНрдп рдФрд░ рд╕рдВрджрд░реНрдн рдореЗрдиреВ рдЖрдЗрдЯрдо рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рдЪрд╛рд╣рд┐рдП

рд╡рд╣ рд╕рдм рд╣реИред рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ рдХрд┐ рд╣рдорд╛рд░реЗ рдкреНрд▓рдЧ-рдЗрди рдХреЛ рдПрдХ рдкреИрдХреЗрдЬ рдореЗрдВ рдХреИрд╕реЗ рдкреИрдХ рдХрд┐рдпрд╛ рдЬрд╛рдП рдФрд░ рдЗрд╕реЗ рджреЛрд╕реНрддреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░реЗрдВ, рд╕рд╛рде рд╣реА рдЕрдЧрд▓реА рдмрд╛рд░ рдпрджрд┐ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рд╡рд┐рд╖рдп рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рддреЛ рдЙрджрд╛рддреНрдд рдХреА рдЕрдиреНрдп рджрд┐рд▓рдЪрд╕реНрдк рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВред

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



UPD: рджреЗрд╡ рдмрд┐рд▓реНрдбреНрд╕ рдФрд░ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреА рд▓рд╛рдЧрдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦрд╛ред Sky4eg , VCoder рдФрд░ vtx рдХреЛ рдзрдиреНрдпрд╡рд╛рдж

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


All Articles