èããŠãããäžã®åçã®ãããã²ãŒã·ã§ã³ã¢ã·ã¹ã¿ã³ãããšããå°ããªã¢ããªã±ãŒã·ã§ã³ãäœæããŸããã ããããå ¥æã§ããŸã ããœãŒã¹ã³ãŒãã¯å ¬éãããŠãããç¡æã§ãMITã©ã€ã»ã³ã¹ã®äžã§é åžãããŠããŸãã ããã誰ãã«åœ¹ç«ã€ããšãé¡ã£ãŠããŸãã
ãªããããå¿ èŠãªã®ã§ããïŒ
Windowsãšã¯ã¹ãããŒã©ãŒãšTotal Commanderã®ããã²ãŒã·ã§ã³ã®æ¬ é¥ã¯æ¬¡ã®ãšããã§ããããã¯ãå€ãã®å Žåãã©ã¹ãã¬ãŒã·ã§ã³ãåŒãèµ·ãããŸãã
- ç®çã®ãã©ã«ãã®ãã¹ãã®æ·±ãã倧ããå ŽåãããŠã¹ãäœåºŠãã¯ãªãã¯ããå¿
èŠããããŸã
- Windowsãšã¯ã¹ãããŒã©ã®ããã©ã«ãã®æ€çŽ¢ã¯éåžžã«é
ããªããŸãã ããã«ãããã䜿çšããã«ã¯ããšã¯ã¹ãããŒã©ãŒèªäœãèµ·åããæ€çŽ¢ãã£ãŒã«ããã¯ãªãã¯ããŠããã©ã«ããŒãŸãã¯ãã¡ã€ã«å
šäœã®ååãå
¥åããé·æéåŸ
ã€å¿
èŠããããŸã
- Total Commanderã«ã¯ãã¢ãã¬ã¹ããŒã«ãã¹ãå
¥åããéã®ãã³ãããããŸãããäžäŸ¿ãªãã«ãã¹ãŸãã¯çžå¯Ÿãã¹ïŒçŸåšã®ãã©ã«ããŒã«å¯ŸããïŒã®ãããããå
¥åããå¿
èŠããããŸã
ã ãããããç§ã¯ãããã²ãŒã·ã§ã³ã¢ã·ã¹ã¿ã³ãããæžããŸããããã®æäœã¯ãJetBrains補åïŒReSharperãIDEAãPhpStormãWebStormïŒã®Ctrl-NãšCtrl-Shift-Nã®çµã¿åããã®Ctrl-NãšCtrl-Shift-Tæ¥é£
ãã®ããã°ã©ã ã䜿çšããŠåŸãããããŒãã¹ã¯ãæé©ãªãã£ã¬ã¯ããªæ§é ã§ãã å€ãã®éçºè ãç¹ã«Code Completeãèªãã§ããéçºè ã¯ãè³ãäœæ¥ã¡ã¢ãªå ã®7±2åã®ãªããžã§ã¯ãã«ããŸã察åŠã§ããããšãç¥ã£ãŠããŸãã ãããã£ãŠãã¯ã©ã¹å ã®ãã£ãŒã«ããšã¡ãœããã®æ°ãå¶éãããšäŸ¿å©ã§ããããã«ãç¹å®ã®ãã£ã¬ã¯ããªå ã®ãµããã£ã¬ã¯ããªã®æ°ãå¶éãããšäŸ¿å©ã§ãã
çŸç¶ã§ã¯ãããã¯äžäŸ¿ãªããã²ãŒã·ã§ã³ãç ç²ã«ããŠã®ã¿éæã§ããŸãã ããã²ãŒã·ã§ã³ã¢ã·ã¹ã¿ã³ãã䜿çšãããšããã£ã¬ã¯ããªã®å€§ããªå ¥ãåãå¿é ããå¿ èŠããªããªããŸãã
䜿ãæ¹ã¯ïŒ
ãããŸã§ã®ãšããããã©ã«ããŒã§ã¯é«éããã²ãŒã·ã§ã³ã®ã¿ããµããŒããããŠããããã¡ã€ã«ã§ã¯ãµããŒããããŠããŸããã
å¿ èŠãªãã©ã«ããŒã«ãã°ããã¢ã¯ã»ã¹ããã«ã¯ãWindowsãšã¯ã¹ãããŒã©ãŒãŸãã¯Total CommanderãŠã£ã³ããŠïŒãŸãã¯ä»ã®ä»»æã®ãããããæ°ããWindowsãšã¯ã¹ãããŒã©ãŒãããã²ãŒã·ã§ã³çšã«ã€ã³ã¹ã¿ã³ã¹åãããŸãïŒã§ãç¹å¥ãªããŒã®çµã¿åãããæŒããŸãïŒããã©ã«ãã§ã¯Ctrl-Shift-Mã§ãããèšå®ã§å€æŽã§ããŸãïŒ ïŒ ã¡ã€ã³ã¢ããªã±ãŒã·ã§ã³ãŠã£ã³ããŠã衚瀺ãããŸãã
å°éããããã©ã«ãã®ååã®å ¥åãéå§ããŸãã
ãã©ãŒæ©èœïŒãã©ã«ããŒåå šäœãå ¥åãããªãã·ã§ã³ã ããšãã°ãããã¥ã¡ã³ããšèšå®ã«ã¢ã¯ã»ã¹ããã«ã¯ããããã¥ã¡ã³ããšãã®ã¿ãå ¥åã§ããŸãã ããã«ããããã¥ã¡ã³ãããšããåèªå šäœãå ¥åããå¿ èŠã¯ãªãããdoc andãïŒããã«ã¡ã¯ãJetBrainsïŒïŒã§ååã§ãã ãŸããæåã®åèªãããã©ã«ãã®ååãå ¥åããå¿ èŠã¯ãããŸããïŒãããã³èšå®ããé©åã§ãã ç¹ã«éçºè åãã«ã¯ããã¹ã«ã«/ãã£ã¡ã«ã±ãŒã¹ããµããŒããããŠããŸãããNav assistAssistantããã©ã«ããæ€çŽ¢æååãnav assistãã«å²ãåœãŠãããŸãã
ãããã®æäœã®çµæãé©åãªãã£ã¬ã¯ããªã®ãªã¹ããç»é¢ã«è¡šç€ºãããŸãã
ç®çã®é ç®ãããŠã¹ã§éžæããããäž/äžããŒã䜿çšããŠEnterãã¯ãªãã¯ããã ãã§ãïŒå ¥åãã©ãŒã«ã¹ã¯ãã®æç¹ã§ããã¹ãããã¯ã¹ã«æ®ãããšãã§ããŸãïŒã
ãŠã£ã³ããŠãæ°ã«å ¥ããªãå Žåã¯ãEscããŒã䜿çšããŠãã¬ã€ã«ãã°ããæå°åã§ããŸãã
Total Commanderã§ã¯ãªããWindowsãšã¯ã¹ãããŒã©ãŒã§ããã°ã©ã ãåŒã³åºããšãæ°ããWindowsãšã¯ã¹ãããŒã©ãŒãŠã£ã³ããŠãéããŸãïŒå¿ èŠãªãã©ã«ããŒãšå ±ã«ïŒã èšå®ã§ã¯ãããã©ã«ãã®ããã²ãŒã¿ãŒãTotal Commanderã«å€æŽã§ããŸãã
ä»ã«äœããããŸããïŒ
å€æŽã§ããèšå®ãŠã£ã³ããŠããããŸã
- æ¹åãããããã²ãŒã·ã§ã³ããµããŒãããããã°ã©ã ã®ãªã¹ãïŒããšãã°ãTotal Commanderãç¡å¹ã«ããïŒ
- ããã©ã«ãã®ããã²ãŒã·ã§ã³ããã°ã©ã
- ããã²ãŒã·ã§ã³ã¢ã·ã¹ã¿ã³ããŠã£ã³ããŠãéãããŒããŒãã·ã§ãŒãã«ãã
- æ€çŽ¢ãããã£ã¬ã¯ããªãæå®ããŸãïŒããšãã°ãCïŒ\ Users \ã®ã¿ããŸãã¯DïŒ\ã®ã¿ïŒ
- ããã«ãçµæããããã€ãã®ãã£ã¬ã¯ããªåãé€å€ã§ããŸãïŒããšãã°ãbinãobjã.svnïŒ
ïŒããæ£ç¢ºã«ã¯ãbinãã©ã«ããŒãå«ããã¹ã¯ãã¹ãŠé€å€ãããŸãããããã¯å®éã«ã¯æ£èŠè¡šçŸã§ãããããbin \ S *ã®ãããªãã®ãæå®ã§ããŸãïŒ
- ããã©ã«ãã®ããŒããèšå®ããŸãïŒèµ·åãããã³ã«å
éšãã£ã¬ã¯ããªãã£ãã·ã¥ãæŽæ°ããªãããã«ãããããæšå¥šãããŸãïŒ
ããŒã«ãããã¯ãã¹ãŠã®ãªãã·ã§ã³ã§å©çšå¯èœã§ãã èšå®ãååŸããã«ã¯ããã¬ã€ã¢ã€ã³ã³ãå³ã¯ãªãã¯ããŸãã
ããã¯ã©ã®ããã«è¡ãããŸãã
ãã®ãŠãŒãã£ãªãã£ã¯ãWPFãã¯ãããžã䜿çšããŠMicrosoft .Net 3.5ã§èšè¿°ãããŠããããã.Net 3.5ãååšããå Žæã§ããã°ã©ãã§ãåäœããã¯ãã§ãã
ã€ã³ã¹ããŒã©ãŒã¯Inno Setupã䜿çšããŠäœæãããŠããŸã ãããã¯ã€ã³ã¹ããŒã©ãŒãäœæãããã¹ãŠã®äººã«ãå§ãããŸããWiXãInstall ShieldãVisual Studio Installerãããã¯ããã«åªããŠããŸãã
- ç¡æã§ç¡æ
- ã¢ãžã¥ã©ãŒïŒMicrosoftãã¯ãããžãŒã«çžãããªãïŒ
- éæïŒããšãã°ãVisual Studioã€ã³ã¹ããŒã©ãŒã®ããã«ãããã¹ãã¹ã¯ãªããã®ã¿ãç·šéãããèŠèŠçãªããã°ã©ãã³ã°ã¯ç·šéãããŸããïŒ
- ãã®çµæãã€ã³ã¹ããŒã©ãã¡ã€ã«ã¯å€æŽããšã«åäœæãããŸããâããŒãžã§ã³ç®¡çã·ã¹ãã ã«åé¡ã¯ãããŸãã
- æè»ïŒPascal / Delphiã䜿çšããã¹ã¯ãªããäœæããµããŒãïŒã ãã®åã«ãç§ã¯ç 究æã®æåã®å¹Žã«çŽ7幎åã«DelphiãæåŸã«èŠãŸããããInnoSetupã®å©ç¹ã¯ãããè£ã以äžã®ãã®ã§ã
- ãããããéæ³ã®ããã«x32ããã³x64ããŒãžã§ã³ã®ã€ã³ã¹ããŒã«ãã¡ã€ã«ã1ã€äœæããŸã
ã€ã³ã¹ããŒã©ãŒã®æ¯èŒã¯ãããšãã°ããã«ãããŸã ã
ã³ãŒãã«ã¯ããã€ãã®éèŠãªç¹ããããŸãã
ã°ããŒãã«ããŒã¹ãããŒã¯å¿ç
ããã²ãŒã·ã§ã³ã¢ã·ã¹ã¿ã³ããŠã£ã³ããŠãé©æã«è¡šç€ºããã«ã¯ãããŒã¹ãããŒã¯ããŒãã°ããŒãã«ã«ïŒã€ãŸãããã¹ãŠã®ã¢ããªã±ãŒã·ã§ã³ã§ïŒèãå¿ èŠããããŸãã .Netã§ã¯ãããããã®ãŸãŸäœ¿çšããããšã¯ã§ããŸããã ãã®ããã ããããã³ãŒãã䜿çšããŸãã ïŒä»ã«ãããã€ãã®ãœãªã¥ãŒã·ã§ã³ããããŸãããã°ããŒãã«ããã¯/ã°ããŒãã«ãããããŒãã¬ãŒãºãGoogleã§æ€çŽ¢ããå¿ èŠããããŸãïŒã
éã¢ã¯ãã£ããªã¢ããªã±ãŒã·ã§ã³ã«ãã©ãŒã«ã¹ãèšå®ãã
倧åãªããŒã®çµã¿åãããããã€ãã®ãŠã£ã³ããŠã§æŒãããŠããããšãããã£ãåŸãããã²ãŒã·ã§ã³ã¢ã·ã¹ã¿ã³ãã衚瀺ãããã©ãŒã«ã¹ãèšå®ããïŒã¢ã¯ãã£ãã«ããïŒå¿ èŠããããŸãã
ã¯ããWPFã«ã¯WinApiã®SetForegroundWindowé¢æ°ãåŒã³åºãWindow.Activateã¡ãœãããããããã®ãããã¹ãŠã®å¶éããããŸãã ã€ãŸããã¡ãœãããåŒã³åºããããšãã«ã¢ããªã±ãŒã·ã§ã³ãéã¢ã¯ãã£ãã§ããå ŽåããŠã£ã³ããŠã¯åäœå¯èœã«ãªããŸãããã€ãŸãããã©ãŒã«ã¹ã¯å€ããŠã£ã³ããŠã«æ®ããŸãã å®éãæªæã®ããããã°ã©ã ãçŸåšã®ãã©ãŒã«ã¹ãçªç¶å€æŽããŠããŠãŒã¶ãŒã®äœæ¥ãããããæ¹æ³ã§åŠšããããšãèš±å¯ããªãããã«ãããã¯æ£ããã§ãã ãããããã®å Žåããã®å¶éãåé¿ããããšæããŸãã
解決çã¯ãããã圹ç«ã¡ãŸããã ãä»ã«ãããã€ããããŸãïŒ 1ã2 ïŒããããŸãæ©èœããŸããã§ããã
Windows Explorerãšã®çµ±å
éããŠããWindows ExplorerãŠã£ã³ããŠã®ãªã¹ããååŸããããã«ã ãã®ã³ãŒããåçšãããŸããã COMãªããžã§ã¯ãã®ã©ãããŒã䜿çšãããšããã®ãšã¯ã¹ãããŒã©ãŠã£ã³ããŠã§çŸåšã®ãã¹ãç°¡åã«å€æŽã§ããŸãã
Total Commanderãšã®çµ±å
Total Commanderãšã®çµ±åã¯ã ã³ãã³ãã©ã€ã³ãªãã·ã§ã³ ïŒäž»ã«/ OïŒã䜿çšããŠå®è¡ãããŸã ãããã¯ãTotal Commanderã®æ°ããã€ã³ã¹ã¿ã³ã¹ã§ã¯ãªããæ¢ã«éããŠããã€ã³ã¹ã¿ã³ã¹ïŒååšããå ŽåïŒã§éä¿¡ããããã¹ãèšå®ããŸãã
建ç¯
æšæºã®ãã«ãã¬ãã«ã¢ãŒããã¯ãã£ã䜿çšãããŸãïŒåªããæŠèŠã¯ãAvramãšMarinescuã«ããã ãã¡ã€ã³ããªãã³ãã¶ã€ã³ã¯ã€ãã¯ãªã³ã©ã€ã³ ãã«ãããŸãïŒ
- UIã¬ã€ã€ãŒ
1.ãã¥ãŒ
- ãã¬ãŒã³ã¿ãŒå±€
1.ãã¬ãŒã³ã¿ãŒ
2.ãã¬ãŒã³ããŒã·ã§ã³ãµãŒãã¹
3.ã¢ãã«ã®è¡šç€º
4.ã¢ãã«ããããŒã®è¡šç€º
- ãã¡ã€ã³ã¢ãã«ïŒããžãã¹ã¬ã€ã€ãŒïŒ
1.ãã¡ã€ã³ãµãŒãã¹
2.ãã¡ã€ã³ããŒã¿ãªããžã§ã¯ãïŒãã¬ãŒã³ããŒã¿è»¢éãªããžã§ã¯ãïŒ
- ããŒã¿ã¢ã¯ã»ã¹ã¬ã€ã€ãŒãªã:-)
æåã¯Model-View-View Modelãã³ãã¬ãŒãã䜿çšããããšããŸãããã次ã«é²ã¿ãŸãã
Model-View-Presenterã¯ã次ã®çç±ã«ãããŸãã
- MVPã¯çºè¡šè
ã«è¿œå ã®æœè±¡åã¬ãã«ãè¿œå ãããããªãã§ã¯ããã¹ãŠã®ããžãã¯ã¯ãã¥ãŒã¢ãã«ã«ãããåŸè
ã¯äžåœã«æé·ããŸã
- ãã®ããžãã¯ã¯ãæå³è«çã«ãã¥ãŒã¢ãã«ã«å±ããŠããŠã¯ãªããŸããïŒåäžã®è²¬ä»»ãçŸåšïŒ
- ã€ã³ã¿ãŒãã§ã€ã¹é§ååã®éçºã¯äœ¿çšã§ããŸããïŒãã¥ãŒçšïŒ
- ãã®çµæãUIã¬ã€ã€ãŒã¯æ··ä¹±ã«å€ãããŸãïŒããæå³ã§ã¯ãè·åã®åé¢ãã¢ãžã¥ãŒã«æ§ãæ確ãªã€ã³ã¿ãŒãã§ãŒã¹ã¯ãããŸããïŒ
ãããã£ãŠãModel-View-Presenterã䜿çšãããããã«ãªããUIãšããŒã¿ã¯ãã¥ãŒã¢ãã«ïŒWPFãã€ã³ãã£ã³ã°ïŒãããã«ãã¥ãŒã¢ãã«ãä»ããŠæ¥ç¶ãããŸã
- ãã¬ãŒã³ã¿ãŒãããã¬ãŒã³ããŒã·ã§ã³ã€ã³ã¿ãŒãã§ã€ã¹ã¡ãœããã«æž¡ããã
- ã€ã³ã¹ã¿ã³ã¹èªäœã®è¡šçŸ
äž»ãªæ©èœã¯ãã¹ãã§ã«ããŒãããŸãïŒnUnitãšMoqã䜿çšãããŸãïŒã
åé¡
確ãã«ãã¢ããªã±ãŒã·ã§ã³ã«ã¯èŠã€ãããªããã°ããŸã ãããŸãã
ããã«ãç§ã¯ã¢ã€ã³ã³ã®æç»ã®å°é家ã§ã¯ãªããããçœãèæ¯ã®ã·ã¹ãã ãã¬ã€ã«ããã¢ã€ã³ã³ã¯ãã¢ã³ããšã€ãªã¢ã·ã³ã°ããªããã®ããã«è§åŒµã£ãŠããŸãã ä»ã®ãã¹ãŠã®å Žåãã¢ã€ã³ã³ã¯å°ãªããšã蚱容ã§ããããã«èŠããŸãïŒãã ãããã«ããã¢ããã€ã¹ã¯æåŠããŸããïŒã
æåã®èµ·åæã«ã¯ãäžéšã®ãã©ã«ããŒããŠãŒã¶ãŒã³ã³ãã¥ãŒã¿ãŒäžã§ãã°ããæ€çŽ¢ããããããæ°ååŸ ã€å¿ èŠããããŸãã
ããã²ãŒã·ã§ã³ã¢ã·ã¹ã¿ã³ããã³ã³ãã¥ãŒã¿ã®æåŸã®ã·ã£ããããŠã³æã«éããããªãã£ãå ŽåããŸãã¯ã·ã¹ãã ã®èµ·åæã«èªåçã«éå§ãããªãã£ãå ŽåãçŸåšã®ãã£ã¬ã¯ããªãã£ãã·ã¥ãé¢é£ããŠãããã©ãããå€æããããšã¯ã§ããŸããã ãããã£ãŠããã®ãã£ãã·ã¥ã¯è¿œå ã®ã¹ããªãŒã ã§æŽæ°ããããã®ããã»ã¹ãå®äºãããŸã§ãæåŸã«ä¿åããããã£ã¬ã¯ããªãã£ãã·ã¥ïŒå®éã®ãã¡ã€ã«ã·ã¹ãã ã«å®å šã«å¯Ÿå¿ããŠããªãå ŽåããããŸãïŒã䜿çšãããŸãã
ã¯ãã.Netå šè¬ãšWPFã¯äœéã§ãªãœãŒã¹éçŽåã§ãããææ ¢ããå¿ èŠããããŸãã
ãããã«
ããã§ãæ¥ãã§habrasocietyã«Windows ExplorerãšTotal Commanderã®äŸ¿å©ãªããã²ãŒã·ã§ã³ã®ããã®å°ããªãŠãŒãã£ãªãã£ãå ±æããŸããã 圌女ã誰ã«ãšã£ãŠã圹ã«ç«ã€ããšãé¡ã£ãŠããŸãã ããã«ãæè¡çãªè§£æ±ºçã®ç°¡åãªæŠèŠã圹ç«ã€å ŽåããããŸãã
å床åç §ïŒ ã€ã³ã¹ããŒã©ãŒ ã Googleã³ãŒãã®ãããžã§ã¯ãïŒsvnã䜿çšããŸããã»ãšãã©ã®å Žåãæãããç¥ãããŠããŸãïŒã
ãœãŒã¹ã³ãŒãã¯å ¬éãããŠãããã¢ããªã±ãŒã·ã§ã³ã¯ç¡æã§ãMITã©ã€ã»ã³ã¹ã®äžã§é åžãããŠããŸãã
ã¿ããªããããšãïŒ