рдПрдХ C / C ++ рдбреЗрд╡рд▓рдкрд░ рдпрд╛ SublimeClang рдХреЗ рд▓рд┐рдП рдЙрджрд╛рддреНрдд рдкрд╛рда 2

рд╣рдм рдкрд░ рдЙрдк-рдкрд╛рда 2 рдХреЗ рд╕рдВрдкрд╛рджрдХ рдХреЛ рд╕рдорд░реНрдкрд┐рдд рдмрд╣реБрдд рд╕рд╛рд░реЗ рд▓реЗрдЦ рд╣реИрдВ
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рдмреАрдЪ рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдХрднреА рднреА SublimeClang рдкреНрд▓рдЧрдЗрди рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдирд╣реАрдВ рдорд┐рд▓рд╛, рдЬреЛ рдирд╛рдЯрдХреАрдп рд░реВрдк рд╕реЗ рдЗрд╕ рд╕рдВрдкрд╛рджрдХ рдореЗрдВ C ++ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рдХрд╛рдо рдХреЛ рдмрджрд▓ рджреЗрддрд╛ рд╣реИред Habr рдореЗрдВ рдЦреЛрдЬреЗрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдкреНрд▓рдЧрдЗрди рдХреЗ рдХреЗрд╡рд▓ 4 рдЙрд▓реНрд▓реЗрдЦ рд▓реМрдЯрд╛ред
рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдЗрд╕ рдЕрдирджреЗрдЦреА рдХрд╛ рдХреНрдпрд╛ рдХрд╛рд░рдг рд╣реИред рдЕрдЪреНрдЫреА рдмрд╛рддреЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рдирд╣реАрдВ рд╣реЛрддреА? ST2 C рдФрд░ C ++ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ? рдЕрдкрдиреЗ рд▓реЗрдЦ рдХреЗ рд╕рд╛рде рдореИрдВ рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕реБрдзрд╛рд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдореИрдВ рдХреБрдЫ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛, рд╢рд╛рдпрдж рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ, рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдореЗрд░реА рдЕрдкрдиреА рдЪрд╛рд▓ рдФрд░ рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВред

рдкреНрд▓рдЧрдЗрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ


рдЗрд╕рд▓рд┐рдП, рдкреНрд▓рдЧрдЗрди рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдХреЛрдб рдкреВрд░рд╛ рдХрд░рдиреЗ рдФрд░ рддреНрд░реБрдЯрд┐ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред C / C ++ / ObjC / ObjC ++ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП, рдкреНрд▓рдЧрдЗрди рдорд╛рдирдХ рд╕рдВрдкрд╛рджрдХ рдХреЛ рдЕрдкрдиреЗ рд╕рд╛рде рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рдкреНрд▓рдЧрдЗрди рдХреНрд▓реИрдВрдЧ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрд░реЛрдд рдЪрд▓рд╛рддрд╛ рд╣реИ, рдЬреЛ рдПрдПрд╕рдЯреА рдмрдирд╛рддрд╛ рд╣реИред рдкреНрд▓рдЧрдЗрди рдмреБрджреНрдзрд┐рдорд╛рди рдСрдЯреЛ-рдкреВрд░реНрдг рдпреБрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдкреНрдд рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рдирд┐рдХрдЯрддрдо рдПрдирд╛рд▓реЙрдЧ рдЬреЛ рдореИрдВ рдЙрдард╛ рд╕рдХрддрд╛ рд╣реВрдВ, рд╡рд╣ MS Visual Studio рдореЗрдВ IntelliSense рдлрд╝рдВрдХреНрд╢рди рд╣реИред
рдкрд╣рд▓реЗ рд╣рд╛рде рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ - рд╕рдВрдХрд▓рдХ рд╕реЗ - рдкреНрд▓рдЧрдЗрди рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкрд╣рдЪрд╛рдирдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕реЗ рдЪрд░, рдлрд╝рдВрдХреНрд╢рди, рдкреНрд░рдХрд╛рд░ рдЖрджрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рдмрд┐рдВрджреБ рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИред Go to definition (alt + d, alt + d) Go to implementation (alt + d, alt + i) рдХреБрдЫ рд╣рдж рддрдХ рдХрд╛рдо Go to implementation (alt + d, alt + i) рдХрд░рддреЗ рд╣реИрдВред рдЕрдиреНрдп рдЧрд░реНрдо рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкреГрд╖реНрда рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИред


рд╕реНрдерд╛рдкрдирд╛


рд╡рд┐рдВрдбреЛрдЬ рдФрд░ рдореИрдХ рдУрдПрд╕ рдПрдХреНрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рднрд╛рдЧреНрдпрд╢рд╛рд▓реА рд╣реИрдВ - рдкреНрд▓рдЧ рдЗрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдкреНрд░рд╛рдердорд┐рдХ рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рд╛рдердорд┐рдХ рд╣реИред
рд▓рд┐рдирдХреНрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ - рдХрдо рднрд╛рдЧреНрдпрд╢рд╛рд▓реАред рд▓рд┐рдирдХреНрд╕ рдХреЗ рд▓рд┐рдП, рдЖрд╡рд╢реНрдпрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдЧрд┐рдЯ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рдкреНрд▓рдЧрдЗрди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред (рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреБрдЫ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдХреЗрд╡рд▓ рдпрд╣ рдЕрдкрдбреЗрдЯ рдХреЗ рд▓рд┐рдП рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рддреНрдпреЗрдХ рдмрд╛рд░ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рд╕рднреА рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрддрд╛ рд╣реИ)ред рдЕрд╕реЗрдВрдмрд▓реА рдирд┐рд░реНрджреЗрд╢ рдкреНрд▓рдЧрдЗрди рдкреГрд╖реНрда рдкрд░ рд╣реИрдВ, рдЖрдЗрдЯрдо "рдЕрддрд┐рд░рд┐рдХреНрдд рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ (рдХреЗрд╡рд▓ рд▓рд┐рдирдХреНрд╕)"ред

рдореЗрд░реЗ Archlinux x64 рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдЙрджрд╛рд╣рд░рдг
  1. рджрдмрдВрдЧ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
  2. Python26 рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
  3. рддреНрд░реБрдЯрд┐ рдХреЛ рд╣рд░рд╛рдиреЗ рдХреЗ рд▓рд┐рдП "ctypes рдЖрдпрд╛рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ" рд╕рд┐рдореНрд▓рд┐рдВрдХ рдХрд░рдирд╛:
     ln -s /usr/lib/python2.6/ /opt/sublime_text/lib/python2.6 

  4. SublimeClang рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
     git clone --recursive git://github.com/quarnster/SublimeClang.git 

  5. рдЪреВрдВрдХрд┐ рдЖрд░реНрдЪрд▓рд┐рдирдХреНрд╕ libclang.so рдореЗрдВ / usr / lib / llvm /, рдЕрд░реНрдерд╛рддреН рд╕реНрдерд┐рдд рд╣реИред рдирд╣реАрдВ рдЬрд╣рд╛рдВ SublimeClang рдЗрд╕реЗ рджреЗрдЦрдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░рддрд╛ рд╣реИ, рдореИрдВ рдкреНрд▓рдЧрдЗрди рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рдЕрдВрджрд░ рд╕рд╣рд╛рдиреБрднреВрддрд┐ рдмрдирд╛рддрд╛ рд╣реВрдВред
     ln -s /usr/lib/llvm/libclang.so 

  6. рдореИрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкреЗрдЬ рд╕реЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдкреНрд▓рдЧрдЗрди рдХреЗ рд▓рд┐рдП рд▓рд╛рдкрддрд╛ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рддрд╛ рд╣реВрдВред
     cd src mkdir build cd build cmake .. make 



рд╕рдорд╛рдпреЛрдЬрди


рдкреНрд▓рдЧрдЗрди ST2 рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рддрд░реАрдХреЗ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдПрдХ рдлрд╛рдЗрд▓ рд╣реИ SublimeClang/SublimeClang.sublime-settings ред рдлрд╝рд╛рдЗрд▓ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкреНрд░рд▓реЗрдЦрд┐рдд рд╣реИ, рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╡рд╣рд╛рдВ рд╕реВрдЪреАрдмрджреНрдз рд╣реИрдВ, рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВред
User/SublimeClang.sublime-settings , рдЬрд╣рд╛рдБ рдЖрдкрдХреЛ рдЕрдкрдиреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдкрд░рд┐рдпреЛрдЬрдирд╛-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рднреА рд╕рдВрднрд╡ рд╣реИред рдЙрдиреНрд╣реЗрдВ "Settings" рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ ( Project - Edit project ) рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЙрдкрд╕рд░реНрдЧ "sublimeclang" рдкреНрд░рддреНрдпреЗрдХ рдкреНрд▓рдЧрдЗрди рд╡рд┐рдХрд▓реНрдк рдХреЗ рдирд╛рдо рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, C ++ 11 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рд╕реЗрдЯрд┐рдВрдЧ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦ рд╕рдХрддреА рд╣реИ

 "settings": { //    "trim_trailing_white_space_on_save": true, //   //         "additional_language_options".    . "sublimeclang_additional_language_options": { "c++" :["-std=c++11", "-stdlib=libc++" ] } } 


рдорд╛рдирдХ рд╕рд╛рдорд╛рдиреНрдп рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛рдлреА рдкрд░реНрдпрд╛рдкреНрдд рд╣реИрдВред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗрдЯрд┐рдВрдЧ рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдЪреАрдЬ рдЬреЛ рдореИрдВ рдмрджрд▓рддрд╛ рд╣реВрдВ рдФрд░ рджрд░реНрдЬ рдХрд░рддрд╛ рд╣реВрдВ рд╡рд╣ рд╣реИ "debug_options": true ред рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд┐рдП рдЧрдП рдорд╛рдкрджрдВрдбреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рддрд╛ рд╣реИред рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдХрдВрдкрд╛рдЗрд▓рд░ рд╡рд┐рдХрд▓реНрдк рд╕рдВрдкрд╛рджрдХ рдХрдВрд╕реЛрд▓ ( View - Show console ) рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрдВрдЧреЗред

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдХреАрдХрд░рдг рдмрдирд╛рдПрдБ


рдореЗрд░реЗ рд╕рд╛рдордиреЗ рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдкреНрд▓рдЧрдЗрди (рдФрд░ рдЗрд╕рд▓рд┐рдП рд╕рдВрдХрд▓рдХ) рдХреЛ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЧреИрд░-рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдХрд╣рд╛рдВ рджреЗрдЦрдирд╛ рд╣реИред (рд╡рд┐рдВрдбреЛрдЬ рдкрд░, рд╡рд╣ рд╢рд╛рдпрдж рдорд╛рдирдХ рд▓реЛрдЧреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИ)ред
рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рдореБрдЦреНрдп рддрд░реАрдХрд╛ рд╡рд┐рдХрд▓реНрдк "options" рдФрд░ "additional_language_options" extra_language_options "options" рдкреНрд▓рдЧрдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рд╕рдВрдХрд▓рдХ рдХреЛ рдкрде рдФрд░ рдЖрд╡рд╢реНрдпрдХ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдЖрдк рд╕рд╛рдорд╛рдиреНрдп рдФрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП

 "sublimeclang_options": [ "-I~/libs/boost_1_52_0", "-I~/code/sdl2/root/include" ] 


рд╡рд┐рдзрд┐ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдФрд░ рдорд╣рд╕реВрд╕ рдХрд┐рдП рдЧрдП рдЬреВрддреЗ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд░рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЦрд╛рдореА рд╣реИ - рд╕реЗрдЯрд┐рдВрдЧреНрд╕, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЙрд╕ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рджреЛрд╣рд░рд╛рдПрдВ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд▓рд┐рдП рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛрдб рдПрдХрддреНрд░ рдХрд░рддрд╛ рд╣реИред

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

рд╡рд┐рдХрд▓реНрдк рдкрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдкреНрд▓рдЧрдЗрди рдбреЗрд╡рд▓рдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ https://gist.github.com/3944250 рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рд╕реАрдПрдордХреЗ рд╕реЗ рд╕рдВрдХрд▓рди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд▓реЗрддрд╛ рд╣реИред
рдЕрдкрдиреА рд╡рд░реНрддрдорд╛рди рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдереЛрдбрд╝рд╛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ред рдЕрдм
  1. рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛ рдЪрдпрди рдХрд░рддреА рд╣реИ;
  2. рдлрд╝реЛрд▓реНрдбрд░ рдЬрд┐рд╕рдореЗрдВ CMake рдмрдирд╛рддрд╛ рд╣реИ рд╣рд╛рд░реНрдбрдХреЛрдб рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрд┐рд▓реНрдб рдлрд╝реЛрд▓реНрдбрд░ рдХреА рдЦреЛрдЬ рдХрд░рддреА рд╣реИ, рдлрд╝реЛрд▓реНрдбрд░ рдЯреНрд░реА рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдкреБрдирд░рд╛рд╡рд░реНрддреА рд░реВрдк рд╕реЗ рдЬрд╛ рд░рд╣реА рд╣реИред рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдПрд╕рдЯреА 2 рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЫреЛрдЯреЗ рд╕реАрдПрдордХреЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╣реИрдВред

рдореЗрд░рд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрд╕реНрдХрд░рдг https://gist.github.com/4641812 рд╣реИ

рдЗрд╕реА рддрд░рд╣, рдореИрдВрдиреЗ рдЗрдиреЛ рдпреВрдЯрд┐рд▓рд┐рдЯреА рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдХрд┐рдпрд╛, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЖрд░реНрдХрдбрд┐рдиреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓рд┐рдкрд┐ рдХрд╛ рд▓рд┐рдВрдХ https://gist.github.com/4641886 рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реЗрдбрд░ рдореЗрдВ рд╡рд╣ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╣реЛрддреА рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ ST2 рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрдкрдХреЛ ST2 рдХреЛред ++ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ C ++ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдмрддрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдЪрд▓реЗ рджрд╛рдПрдВ рдХреЛрдиреЗ рдореЗрдВ рдХреЛрдб рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд┐рдВрдЧ рдпреЛрдЬрдирд╛ рдХреЗ рдЪрдпрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ рдФрд░ "Open all with current extension as..." рд╕рдмрдореЗрдиреВ рдореЗрдВ C ++ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред

рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ, рдЖрдк рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ Makefile рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рд╕рдВрдХрд▓рди рдХрдорд╛рдВрдб рдЦреАрдВрдЪрддреА рд╣реИред рдЬреАрдПрдирдпреВ рдЖрдкрдХреЛ рд╕рднреА рдЪрд░ рдФрд░ рдирд┐рдпрдореЛрдВ ( make -np ) рдХреЛ рдбрдВрдк рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдЖрдк рддрдм рд╕рдВрдХрд▓рди рдХрдорд╛рдВрдбреЛрдВ рдХреЛ рдкрд╛рд░реНрд╕ рдФрд░ рдЦреАрдВрдЪ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рдореИрдВрдиреЗ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрдирд╛ рднреА рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдЗрд╕ рдмрд╛рдд рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ред

рдХрдорд┐рдпреЛрдВ


рдЦреИрд░, рдФрд░ рдЙрдирдХреЗ рдмрд┐рдирд╛ рдХрд╣рд╛рдБред

  1. рдХреБрдЫ рднреНрд░рдорд┐рдд рдорд╛рдорд▓реЛрдВ рдореЗрдВ (рдХреБрдЫ рднреНрд░рдорд┐рдд рдЯреЗрдореНрдкрд▓реЗрдЯ рд╡рд░реНрдЧ рдХреЗ рдЯреЗрдореНрдкрд▓реЗрдЯ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛), рдкреНрд▓рдЧрдЗрди рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ ST2 рдХреЛ рдЧрд┐рд░рд╛ рджреЗрддрд╛ рд╣реИред рдпрд╣ рд╢рд╛рдпрдж рд╣реА рдХрднреА рд╣реЛрддрд╛ рд╣реИ, рдореИрдВрдиреЗ рдХреЗрд╡рд▓ рдирдП C ++ 11 рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рджреМрд░рд╛рди рдЗрд╕реЗ рджреЛ рдмрд╛рд░ рджреЗрдЦрд╛ред рдпрд╣ рдЕрдкреНрд░рд┐рдп рд╣реИ, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдмрдЪрд╛рддрд╛ рд╣реИ рдХрд┐ рдПрд╕рдЯреА 2 рдмрд╣реБрдд рдмрд╛рд░ рдСрдЯреЛрд╕реИрд╡ рдХрд░рддрд╛ рд╣реИред рдореИрдВрдиреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдХреЛрдб рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗ рдХреЛ рдЦреЛ рджрд┐рдпрд╛ рд╣реИред
  2. рдХрднреА-рдХрднреА рдкреНрд▓рдЧрдЗрди рдХреЛ рдкрд░рд┐рд╡рд░реНрдзрди рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВред рдЦрд╛рд╕рдХрд░ рдЕрдЧрд░ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реИрдВред рдЬреЛ, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рддрд╛рд░реНрдХрд┐рдХ рд╣реИ, рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕реНрд░реЛрдд рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА, рдпрд╣ рд╕реБрдЦрдж рдирд╣реАрдВ рд╣реИред
  3. рдПрдХ рдкреНрд▓рдЧрдЗрди рдХрднреА-рдХрднреА рдПрдХ рдХреНрд▓рд╛рд╕ рдкрджреНрдзрддрд┐ рдХреЗ рдирд╛рдо рдХрд╛ рд╕рдВрдХреЗрдд рдирд╣реАрдВ рджреЗрддрд╛ рд╣реИ рдЬрдм рдЖрдк рдЙрд╕реА рдХреНрд▓рд╛рд╕ рдХреЗ рджреВрд╕рд░реЗ рддрд░реАрдХреЗ рдХреЗ рд╢рд░реАрд░ рдореЗрдВ рдЗрд╕рдХреА рдХреЙрд▓ рд▓рд┐рдЦрддреЗ рд╣реИрдВред рдпрд╣-> method_name - рд╕рдВрдХреЗрдд рджреЗрддрд╛ рд╣реИред рдЖрдкрдХреЛ method_name рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИред рдпрд╣ рд╣рдореЗрд╢рд╛ рджреЛрд╣рд░рд╛рдпрд╛ рдирд╣реАрдВ рдЬрд╛рддрд╛ рд╣реИ, рдРрд╕рд╛ рд╣реЛрдиреЗ рдкрд░ рдореИрдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдирд╣реАрдВ рдХрд╣ рд╕рдХрддрд╛ - рдореИрдВрдиреЗ рдЕрднреА рдЗрд╕рдХреА рдЬрд╛рдВрдЪ рдирд╣реАрдВ рдХреА рд╣реИред
  4. рджреЛрд╖ рд╢рд╛рдпрдж рдкреНрд▓рдЧрдЗрди рд╣реА рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ cmake рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рд╕рдВрдХрд▓рдХ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рд╣рдо рдХрд┐рд╕реА рддреГрддреАрдп-рдкрдХреНрд╖ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди (рдпрд╛ рдХреНрд▓рд╛рд╕, рдЬреЛ рднреА рд╣реЛ) рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реИрдВред рдЗрд╕ рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рд╕рдВрдХрд▓рдХ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЕрдм рдкреНрд▓рдЧрдЗрди рдХреЗ рд▓рд┐рдП рдЬреНрдЮрд╛рдд рдирд╣реАрдВ рд╣реИрдВ рдФрд░ рдпрд╣ рдЦреЛ рдЧрдпрд╛ рд╣реИ, рдпрд╣ рдЕрдЬреНрдЮрд╛рдд рдкреНрд░рдХрд╛рд░реЛрдВ рдЖрджрд┐ рдкрд░ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдкреИрджрд╛ рдХрд░рддрд╛ рд╣реИред


рдирд┐рд╖реНрдХрд░реНрд╖


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

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


All Articles