ã¢ã€ãã¢ãšå®è£
ïŒSublimeText2ã®ã·ã§ãŒãã«ãããæŒããšããã«ãã·ã¹ãã ã«ãã£ãŠéžæããããã¡ã€ã«ã«ãã£ãŠèªåçã«çæããããã«ããªãã·ã§ã³ã®ãªã¹ããå«ãããã«ã衚瀺ãããŸããç®çã®ãªãã·ã§ã³ãéžæããSublime Text 2ã€ã³ã¿ãŒãã§ã€ã¹ã§ãããžã§ã¯ãã¢ã»ã³ããªããã»ã¹ãçŽæ¥è¡šç€ºãããæ¹æ³ã確èªããŸãã
Sublime Text 2ã®
ProjectBuildãã©ã°ã€ã³ã®å
±åéçºã§ã®è²Žéãªçµéšãããã§å
±æããããšãããã«èšããªããã°ãªããŸãããçµæãšããŠãçµéšã®ã¿ãåŸãããŸãããçµå±ã®ãšããããã®ãã©ã°ã€ã³ãå®è£
ããå¿
èŠã¯ãªããããã»ã¹å
šäœãèªè»¢è»ã®çºæã§ããããšãå€æããããã§ãã æ®å¿µãªããããã®äœéšã¯ãŸã 貎éã§ãã ç©èªã¯ãããã€ã¯ããæåŸã«ã®ã¿èšããããããªãã®ã«ãªããŸãã
ãšã³ããªãŒ
以åã«æžãããèšäº
ãAntã䜿çšããSublime Text 2ã§ã®ãããžã§ã¯ãã®ã¢ã»ã³ããªã®èªååãã®çµæãå²ãåœãŠãããããŒããŒãã·ã§ãŒãã«ããã䜿çšããŠãéžæãããã«ãã·ã¹ãã ã®ããŸããŸãªãã«ãããªã¢ã³ãïŒäŸãšããŠAntã䜿çšïŒãSublime Text 2ã§åŒã³åºãããšãã§ããŸããã ïŒç§ã¯ä»ããã®æçš¿ã®ãããã¯ã§ãèšå®ããšããèšèã䜿çšããŸãïŒ
ç§ã¯ãã®ã¢ãããŒãã«ã€ããŠå¥œãã§ã¯ãªãã£ããã®ïŒ
- ãã«ãã·ã¹ãã ãç°ãªãã°ãããªã¢ã³ãã®ååãå®å
šã«ç°ãªãå¯èœæ§ããããããŒããŒãã·ã§ãŒãã«ããã¯ç¹å®ã®ããªã¢ã³ãåã«æ¢ã«æ確ã«é¢é£ä»ããããŠããŸããããããã¯å¥ã®ãã«ãã·ã¹ãã ã«ã¯ãªãã£ãå¯èœæ§ããããŸãã ç§ã®ä»®å®ã§ã¯ãã»ãšãã©ã®éçºè
ã¯è€æ°ã®ãã«ãã·ã¹ãã ãåãæ¿ããå¿
èŠã¯ã»ãšãã©ãªããã»ãšãã©ã®éçºè
ã¯1ã€ã®ãã«ãã·ã¹ãã ã§äœæ¥ããŸãã ãŸããéçºè
ãå¿
èŠã«å¿ããŠãããŒããŒãã·ã§ãŒãã«ãããå床å€æŽããŸãã ããããããªãã¯èªããªããã°ãªããŸãããããã¯å°ãé¢åã§ãã ãããŠãããã¯èŠããŠããå¿
èŠããããŸãã ãããŠç¶ããŠããŸã
- å²ãåœãŠããã¹ãŠã®ããŒããŒãã·ã§ãŒãã«ãããèŠããŠããå¿
èŠããããŸãã åºæ¬çãªãF7ãããCtrl + BãããCtrl + Shift + Bããããããšã¯æããã§ãããã ãããªãã·ã§ã³ããšã«ãã1ã€ã®çµã¿åããããããŸãã ããã¯ããã§ã«ååšããããŒã®çµã¿åãããåå®çŸ©ããããæãšè³ã®äž¡æ¹ã«äŸ¿å©ãªæªäœ¿çšã®çµã¿åãããèŠã€ããå¿
èŠãããããšãæå³ããŸãã 䟿å©ãªç©ºããŠãããã®ãèŠã€ããããšããŸããããåå®çŸ©ã«èœã¡çããŸããã ãŸããããã¯ãåå®çŸ©æã«ãããã®çµã¿åããã®å
ã®æ©èœãæœåšçã«å¥ªãå¯èœæ§ããããããæ鬱ã§ãã ãŸããå°æ¥ãæ°ãããã©ã°ã€ã³çšã®æ°ããããŒããŒãã·ã§ãŒãã«ãããå¿
èŠã«ãªãã®ãå¶éããããã«ãããŸããŸãªãã«ããªãã·ã§ã³ã®åŒã³åºãã«äŸ¿å©ãªã·ã§ãŒãã«ãããæ¢ã«äœ¿çšãããŠããŸãã
ãããŠãã³ã¡ã³ãã«
ç»é²ãããŠã
ãªãsnegovikufaã® Sublime Text 2ã®
ProjectBuildãã©ã°ã€ã³ãè©ŠããŸããã ç§ãæ¬åœã«æ°ã«å
¥ã£ãã®ã¯ãã³ãã³ãã®ãªã¹ããå«ãããããããŠã³ããã«ã§ãã ãªã¹ãããé
ç®ãéžæããããšã«ãããé©åãªã³ãã³ããå®è¡ã§ããŸããã ãã®ãã©ã°ã€ã³ã®ãã¹ãŠã®èšå®ã¯ãSublime Text 2èªäœã®ã¡ãã¥ãŒããã¢ã¯ã»ã¹ã§ããå¥ã®ãã¡ã€ã«ã«ä¿åãããŠããŸããããã®ãã¡ã€ã«ã«ã¯ãååãšå¯Ÿå¿ããã³ãã³ãã®ãªã¹ãã衚瀺ã§ããŸãã ç°¡åã«èšãã°ããã®ãã©ã°ã€ã³ã¯Sublime Text 2ã€ã³ã¿ãŒãã§ãŒã¹ããçŽæ¥ããµãŒãããŒãã£ããã°ã©ã ããå®è¡ããããã«èšå®ã§ããç¹ã«å¿
èŠãªã¿ãŒã²ããã®ååã§Antãå®è¡ããããã«äœ¿çšã§ããŸãã AntProjectBuilder.sublime-buildã§ProjectBuildããã蟌ã¿ãŸããã ããã§2çªç®ã®åé¡ã解決ããŸããã ããŒããŒãã·ã§ãŒãã«ããã1ã€ïŒãCtrl + Shift + Bãã§ãïŒå²ãåœãŠããšãSublime Text 2ã€ã³ã¿ãŒãã§ã€ã¹ã®ProjectBuildãã©ã°ã€ã³ããã«ã圢æãããProjectBuildã®æ§æã«åŸã£ãŠç®çã®ã³ãã³ããéžæããŠå®è¡ã§ããŸãã
ãããããã©ã°ã€ã³ã¯ãããµãŒãããŒãã£ããã°ã©ã ããåŒã³åºããŠããéãSublime Text 2èªäœã®ã€ã³ã¿ãŒãã§ã€ã¹ããããã¯ããŸããã§ããããåŒã³åºãã®æåãŸãã¯å€±æã®çè·¡ãæ®ããªãããã«æ©èœããŸããã ããšãã°ãç§ã®ã³ãã³ãã©ã€ã³ãåŒã³åºãããAntããã®äžã§æ©èœããæ¶ããŸããã Sublime Text 2èªäœã®ã³ã³ãœãŒã«ã«ã¯çè·¡ã¯æ®ã£ãŠããŸããã ãããŠãããã¯Sublime Text 2ã€ã³ã¿ãŒãã§ãŒã¹ãããã¯ããããšã§ã®ã¿éæãããŸãããã€ãŸããã³ãã³ããšåŒã°ããSublime Text 2ã€ã³ã¿ãŒãã§ãŒã¹ã¯äžæåæ¢ãããã®ããã»ã¹ãå®è¡ããåŸãSublime Text 2ã³ã³ãœãŒã«ã«ãã¹ãŠã®åºåãåãåºããŸãããããã»ã¹å
šäœããéäžã§ã芳å¯ããããšã¯ã§ããŸããã§ããã
ãããŠããã®äœ¿çšæ³ã§ã¯ãProjectBuildãSublime Text 2ãã«ãã¡ã«ããºã ã®æ©èœãå®è£
ããå¿
èŠãããå Žåãæåã®åé¡ã¯è§£æ±ºãããŸããã§ãã-ãªãã·ã§ã³ãæ瀺çã«æå®ããäžèŠãªæ§æããããŸããã ããã«ã®ãªãã·ã§ã³ã®ãªã¹ããäœæããã«ã¯ãProjectBuildãæ§æããå¿
èŠããããŸãããããã®ãªãã·ã§ã³ã®ãªã¹ãã¯ãéžæãããã«ãã·ã¹ãã ã®ã* .sublime-buildããã¡ã€ã«ã«æ¢ã«çŽæ¥å«ãŸããŠããŸãã
snegovikufaã«é£çµ¡ããŠã圌ã¯ããã«GitHubã®æäœæ¹æ³ãç¥ã£ãŠããããã©ã°ã€ã³ã®å€æŽãå§ããŸããã
ProjectBuildãã©ã°ã€ã³ãå€æŽããããã»ã¹ã«é¢ãããªããããã¯
Github
ãã®ãã³ãŒãã¢ã«ãŠã³ãã£ã³ã°ãã·ã¹ãã ã«ã¯éåžžã«æºè¶³ããŠããŸãïŒãã¡ããèªåŒµããŸãïŒããããŸã§gitã䜿ã£ãããšã¯ãããŸããã§ãããããããç解ããã®ã«30åãããããŸããã§ããã GitHubèªäœã®WindowsãŠãŒã¶ãŒåãã ç§ã¯åäœããã³ãŒããæžãã
snegovikufaãå®æ§çã«Pythonè¡šèšçšã«äœãçŽãããªã©ãä¿®æ£ããäžæ£è¡çºãããŸãããçµæãåŸãããŸããã ç§ã®ç¬¬äžå°è±¡ãå
±åéçºãšgitïŒç¹ã«GitHubïŒã¯ãäºãã®ããã«äœãããŠããŸãã
Sublime Text 2 APIããã³Python
å
¬åŒããã³
éå
¬åŒã®ããã¥ã¡ã³ãããããŸãã æåã¯ãSublime Text 2ã®APIæ©èœã¯ããã»ã©åªããŠããªãããã«èŠããŸããããååã§ããã æ¬ ããŠãããã®ã¯Pythonã§å®è£
ãããŸããã åè¿°ã®ããã«ãç§ã¯Pythonãç¥ããŸãããããã©ã°ã€ã³ã®æå³ãããæ©èœãéçºããããã«å€ãã®xç¥èã¯å¿
èŠãããŸããã§ããã ãŸãã
snegovikufaã¯ããµãŒãããŒãã£ã®äžå¯è§£ãªç¬éããã°ããä¿®æ£ããŸããã èå³ã®ããã«èŠã€ãããã£ãããã§ããªãã£ãå¯äžã®ãã®ã¯ãSublime Text 2ãããã©ã«ãã§æã£ãŠããå¯èœæ§ã®ãããã¹ãŠã®ããŒãšèšå®å€ã®ãªã¹ãã§ããã
ã* .sublime-workspaceããã¡ã€ã«åœ¢åŒã«ãããšãããã¥ã¡ã³ãã«ã¯ãããJSON圢åŒã§ãããšèšèŒãããŠããŸããããã®ãã¡ã€ã«ãjson解æãããšãã«ãšã©ãŒãçºçããå¯èœæ§ãããããšãããããŸããã å®éãããŒã¿å
ã®jsonããŒã¯ç©ºãããããŸããããããã¯ProjectBuildãã©ã°ã€ã³ã«ãã£ãŠæ¬¡ã®ããã«ç¡èŠãããŸããã
... json.load (f, strict = False)
Sublime Text 2ã§ããã$ project_pathããæã€å€æ°ãã* .sublime-buildããã¡ã€ã«ã«å«ãŸããŠããå¯èœæ§ããããSublime Text 2ã®éçºè
ãããŒããŒãã·ã§ãŒãã«ããã®ãã¹ã§ïŒããã³ä»ã®ïŒäœ¿çšãæäŸããªãã£ãçç±ãããããŸãããããšãã°ããµãŒãããŒãã£ã®åŽé«ãªããã°ã©ã ãåŒã³åºãããŸãã ããããããã¯ã»ãã¥ãªãã£äžã®çç±ã«ãããã®ã§ãããããããŒã®çµã¿åãããããŸãæ©èœãããããã®äžéšã®ãã©ã°ã€ã³ã¯ããããžã§ã¯ããããããèªäœãã®ããã«äœããäŒãŸããããã§ã¯ãããŸããã
ãã©ã°ã€ã³ã®æŠèŠã³ãŒã
ãã¿ã㬠import sublime import sublime_plugin import json import sys import os class ProjectBuildCommand (sublime_plugin.TextCommand) : def run (self, edit = None) :
çµè«
çŸåšãProjectBuildã«ã¯èšå®ã¯å¿
èŠãããŸããã å¿
èŠãªãã«ãã·ã¹ãã ïŒæšæºã·ã¹ãã ãŸãã¯ãAntProjectBuilder.sublime-buildãã®ãããªç¬èªã®ã·ã¹ãã ïŒãéžæããã ãã§ãã ãããžã§ã¯ããSublime Text 2ã«ä¿åããŠãã«ãŒããã©ã«ããŒã®1ã€ã«ãããžã§ã¯ããããã§ã¹ããã¡ã€ã«ã* .sublime-workspaceããå«ãŸããããã«ããŸãã ProjectBuildãã©ã°ã€ã³ã¯ãçŸåšã®ãã«ãã·ã¹ãã ã«é¢ããæ
å ±ããã®ãã¡ã€ã«ããååŸãããããããã®ãã¡ã€ã«ã®ååšãšãã®äžææ§ãç£èŠããŸãã Sublime Text 2ã®ãã«ãã·ã¹ãã ãå€æŽãããšãã¯ããããžã§ã¯ããä¿åããŠãäžèšã®ãã¡ã€ã«ãæŽæ°ãããããã«ããŠãã ããã ProjectBuildã«å²ãåœãŠãããããŒããŒãã·ã§ãŒãã«ãããæŒããšããã«ããªãã·ã§ã³ã®ãªã¹ããå«ãããã«ã衚瀺ãããŸãã ãã®ãªã¹ãã¯ãã* .sublime-buildããã¡ã€ã«ã«ååšããSublime Text 2ã§éžæããããã«ãã·ã¹ãã ã®ãªãã·ã§ã³ã®èª¬æã«åŸã£ãŠèªåçã«çæãããŸãã

èšäºã®åé ã§ç€ºãããåé¡ã¯æ£åžžã«è§£æ±ºãããŸããã1ã€ã®ã·ã§ãŒãã«ããã䜿çšãããSublime Text 2èªäœã®ãã«ãã¡ã«ããºã ããã³ãã®ã€ã³ã¿ãŒãã§ã€ã¹ã§åäœããŸãã
ãã©ã°ã€ã³ã«ã¯æ¹åã®äœå°ããããŸããããšãã°ããã«ãã·ã¹ãã ãã¡ã€ã«ã§æå®ã§ãããã©ãããã©ãŒã åºæã®ãªãã·ã§ã³ã¯ç¡èŠãããããã«ãªããŸããããå人çã«ã¯ä»ã®ãšããååã§ãããä»å®è£
ããŠãããã®ãæ£ç¢ºã«å¿
èŠã§ãã
å®éã誰ã®è²¢ç®ã倧ããããèšãã®ã¯é£ãããçµæãšããŠProjectBuildãã©ã°ã€ã³ãæ¬æ¥ããã¹ããã®ã«ãªã£ãå Žåãããã¯éèŠã§ãã ãããŠãé ãã®ã¯çœªã§ããSublimeText 2ã®ã€ã³ã¿ãŒãã§ã€ã¹ãšæ©èœã«ã¯ãã®ãããªãã®ã¯ãªãã£ãããä»ã¯ããããããããã¯ç§ã«ãã£ãŠéšåçã«æžããããã®ã§ãããšããããšã¯äœãšãèšããªãèªãã§ãã ïŒããã§ç§ã¯ãèªè»¢è»ãã«ã€ããŠç¥ããŸããã§ããã
以åã®ããŒãžã§ã³ã®ProjectBuildã¯ãã³ãã³ãã1ã€ã®ã·ã§ãŒãã«ããã«ã°ã«ãŒãåããããã®OneHotkeyãã©ã°ã€ã³ã«å€æãããå¯èœæ§ãé«ããå¿
ãããã³ãã³ãããã«ãããã®ã§ã¯ãªããSublime Text 2ããã°ã©ã ãªã©ã®ãµãŒãããŒãã£ã³ãã³ããå®è¡ããã ãã§ãã ProjectBuildã䜿çšããŠããæ§æãã¡ã€ã«ã¯ããã«ãã¡ã«ããºã ã®åé·ãªæ
å ±ãå«ãŸããŠãããããããã§ã¯æ¢ã«æçšã§ããã
çŽæã®èªè»¢è»
ãã¹ãŠã®å³¶ã¯é·ãééããŠããŸãã...å€æããããã«ããã§ã«Sublime Text 2ã«ã¯ãçŸåšã®ãã«ãã·ã¹ãã ã®ãªãã·ã§ã³ããã«ãåŒã³åºãæ©èœãæ¢ã«ãããŸããããŒã®çµã¿åãããè¿œå ããã ãã§ãã
{ "keys": ["f8"], "command": "show_overlay", "args": {"overlay": "command_palette", "text": "Build: "} }

ãã®ããã«ã¯ãã* .sublime-workspaceããã¡ã€ã«ã«ã¢ã¿ãããããåãªãã·ã§ã³ã«å²ãåœãŠãããããŒããŒãã·ã§ãŒãã«ãããããã°ããã衚瀺ããã®ã§ãããã«ã€ããŠè©±ãã®ã¯æ²ããããšã§ã¯ãããŸãããããã䟿å©ã§ãã ãã ãã䞊ã¹æ¿ãã¯ãµããŒããããŠãããããã©ã°ã€ã³ã¯æ³šæãªãã·ã§ã³ã«åãããŠç¢ºå®ããããšãã§ããŸãïŒãã ããäœãããããªããããããŸããïŒã

ããããããã®ãã¹ãŠããçµãåºããã®ã¯ãOneHotkeyã«æ»ãããšã ãã§ãã
ãæž
èŽããããšãããããŸããã