CLion 2019.2 рдЬрд╛рд░реА: рдПрдореНрдмреЗрдбреЗрдб рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди, MSVC рдХреЗ рд▓рд┐рдП рдбрд┐рдмрдЧрд░, рдЕрдкреНрд░рдпреБрдХреНрдд рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдЦреЛрдЬ

рдирдорд╕реНрдХрд╛рд░, рд╣реЗрдмреНрд░!

рдЦрд┐рдбрд╝рдХреА рдХреЗ рдмрд╛рд╣рд░ рдХреА рдЧрд░реНрдореА рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд▓рдЧрднрдЧ рдЕрдкрд░рд┐рд╣рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдЙрдбрд╝рддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдордиреЗ рдЗрди рд╕рднреА рдорд╣реАрдиреЛрдВ рдХреЛ C ++ - CLion рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдбреЗрд╡рд▓рдкрдореЗрдВрдЯ рд╡рд╛рддрд╛рд╡рд░рдг рдХреА рдирдИ рд░рд┐рд▓реАрдЬрд╝ 2019.2 рдкрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИред рд╣рдо рдХрд╛рдлреА рдЪреАрдЬреЗрдВ рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣реЗ: рдПрдХ рдЖрдВрддрд░рд┐рдХ рд╣реИрдХрдереЙрди рдХрд╛ рд╕рдВрдЪрд╛рд▓рди рдХрд░реЗрдВ, рдирдП рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдФрд░ рддрддреНрдХрд╛рд▓ рд╕реБрдзрд╛рд░ рдХреЗ рд▓рд┐рдП рдХрдИ рд╕реБрдзрд╛рд░ рдФрд░ рдирдИ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рд▓рд╛рдПрдВред рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рдмрд╛рддреЗрдВ рдкрд╣рд▓реЗред

CLion 2019.2 рдЬрд╛рд░реА рдХрд┐рдпрд╛

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдЗрд╕ рд░рд┐рд▓реАрдЬ рдореЗрдВ рд╣рдо:

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


рдпрд╣, рдЬрд╝рд╛рд╣рд┐рд░ рд╣реИ, рд╕рднреА рдирд╣реАрдВ рд╣реИ ред рд╣рдо рдиреАрдЪреЗ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдЕрднреА рдЗрд╕реЗ рдЖрдЬрд╝рдорд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВ, рддреЛ рд╣рдорд╛рд░реА рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╕реЗ рдмрд┐рд▓реНрдб рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ ред рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, 30 рджрд┐рдиреЛрдВ рдХреЗ рд▓рд┐рдП рдирд┐: рд╢реБрд▓реНрдХ рдкрд░реАрдХреНрд╖рдг рдЙрдкрд▓рдмреНрдз рд╣реИред

рдПрдореНрдмреЗрдбреЗрдб рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдирдИ рд╕реБрд╡рд┐рдзрд╛рдПрдБ


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

рдкрд╣рд▓реЗ, рдПрдХрдорд╛рддреНрд░ рд╡рд┐рдХрд▓реНрдк OpenOCD рдбреАрдмрдЧрд░ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдерд╛ - OpenOCD рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рд░рдиред рдЕрдм рдПрдХ рдФрд░ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ рд╣реИ - рдПрдВрдмреЗрдбреЗрдб рдЬреАрдбреАрдмреА рд╕рд░реНрд╡рд░ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпрджрд┐ рдмреЛрд░реНрдб рдХреБрдЫ рд╕рдВрдЧрдд GDB рд╕рд░реНрд╡рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЖрдк рдЙрд╕ рдкрд░ CLION рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреАрдмрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдУрдкрдирдУрд╕реАрдбреА, рдПрд╕рдЯреА-рд▓рд┐рдВрдХ рдЬреАрдбреАрдмреА рд╕рд░реНрд╡рд░, рд╕реЗрдЧрд░ рдЬреЗ-рд▓рд┐рдВрдХ рдЬреАрдбреАрдмреА рд╕рд░реНрд╡рд░, рдХреНрдпреВрдИрдПрдордпреВ рдФрд░ рдЕрдзрд┐рдХ рдЬреИрд╕реЗ рдорд╛рдорд▓реЗ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

рдЕрдореНрдмреЗрдбреЗрдб рдЗрдВрдбрд┐рдпрд╛

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

рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реАрдорд╛ рд╣реИ рдЬреЛ рдЕрдм рдПрдореНрдмреЗрдбреЗрдб рд╕рд┐рд╕реНрдЯрдо рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рджреЛрдиреЛрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреА рд╣реИ - рдпреЗ рджреЛрдиреЛрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХреЗрд╡рд▓ CMake рдкрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рднрд╡рд┐рд╖реНрдп рдореЗрдВ, рд╣рдо рдЙрдиреНрд╣реЗрдВ рдХрд╕реНрдЯрдо рдбрд┐рдЬрд╝рд╛рдЗрди рдореЙрдбрд▓ ( CPP-16079 ) рдХреЗ рд▓рд┐рдП рдЪрд▓рд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рддреЗ рд╣реИрдВред

рдПрдореНрдмреЗрдбреЗрдб рд╕рд┐рд╕реНрдЯрдо (рдПрдореНрдмреЗрдбреЗрдб GDB рд╕рд░реНрд╡рд░ рдФрд░ OpenOCD рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рд░рди) рдХреЗ рдореМрдЬреВрджрд╛ рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП, рдирдИ рд░рд┐рд▓реАрдЬрд╝ рдореЗрдВ рдЕрдм рдбреАрдмрдЧрд┐рдВрдЧ рдХреЗ рджреМрд░рд╛рди рдмрд╛рд╣реНрдп рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдПрдЖрд░рдПрдо рдкрд░рд┐рд╡рд╛рд░ рдХреА .svd рдкреНрд░рд╛рд░реВрдк рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдмрд╛рд╣реНрдп рдЙрдкрдХрд░рдгреЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрди рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рдУрдВ рдХреЛ рдЕрдм CLion рдореЗрдВ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдбрд┐рдмрдЧрд░ рд╡рд┐рдВрдбреЛ рдореЗрдВ рд╕реАрдзреЗ рдЪрдпрдирд┐рдд рдкрд░рд┐рдзреАрдпреЛрдВ рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:

рдмрд╛рд╣рд░реА рдЙрдкрдХрд░рдг

рд╕рднреА рдкрд░рд┐рдзреАрдп рдЕрднреА рднреА рдХреЗрд╡рд▓-рдкрдарди рдореЛрдб рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ, рдЬрдмрдХрд┐ рдирд╛рдо рд╕реЗ рдПрдХ рдЦреЛрдЬ рд╣реИ, рд╡рд┐рднрд┐рдиреНрди рдореЛрдб (рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓, рджрд╢рдорд▓рд╡, рдЕрд╖реНрдЯрд╛рдзрд╛рд░реА рдФрд░ рдмрд╛рдЗрдирд░реА) рдореЗрдВ рдореВрд▓реНрдпреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИред рдЖрдк рд╣рдорд╛рд░реЗ рдмреНрд▓реЙрдЧ (рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ) рдореЗрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ рдФрд░ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред

MSVC рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рдбрд┐рдмрдЧрд░


рдЖрдкрдиреЗ рдЗрд╕реЗ рд╕рд╣реА рдкрдврд╝рд╛ - рд░рд┐рд▓реАрдЬрд╝ 2019.2 рдореЗрдВ, CLION рдиреЗ MSVC рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрдХрд▓рд┐рдд рдХреЛрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдбрд┐рдмрдЧрд░ рдкреЗрд╢ рдХрд┐рдпрд╛! рдЕрдм рдЖрдЗрдП рдереЛрдбрд╝рд╛ рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдФрд░ рдХреНрд░рдо рд╕реЗ рд╕рдордЭреЗрдВред

CLion рдореЗрдВ рдПрдХ рд▓рдВрдмреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП, рдЖрдк рд╡рд┐рдВрдбреЛрдЬ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрдиреЗ рдкрд░ рди рдХреЗрд╡рд▓ рдорд┐рдирдЧреЙрд╡ рдФрд░ рд╕рд╛рдЗрдЧрд╡рд┐рди рдЯреВрд▓рдХрд┐рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХрд╛ рднреА рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк CLion рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд VS рдХреЗ рд▓рд┐рдП рдкрде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╡рд╣рд╛рдВ рд╕реЗ рд╣рдо рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП MSVC рд╕рдВрдХрд▓рдХ рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓реЗрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдбрд┐рдмрдЧрд░ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдВ рдереАрдВред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рджреГрд╢реНрдп рд╕реНрдЯреВрдбрд┐рдпреЛ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдбрд┐рдмрдЧрд░ рдорд╛рд▓рд┐рдХрд╛рдирд╛ рд╣реИред рд╕реАрдзреЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ рдХрд╣реЗрдВ, рдХрд╣реАрдВ рднреА рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдЯреВрд▓реНрд╕ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдЗрд╕реЗ рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рддрдХрдиреАрдХ рд╣реИ - dbgeng.dll , рдЬрд┐рд╕ рдкрд░ CDB рдФрд░ WinGDB рдбреАрдмрдЧрд░ рд▓рд╛рдЧреВ рд╣реЛрддреЗ рд╣реИрдВред рдкрд╣рд▓реА рдЪреАрдЬ рдЬреЛ рд╣рдордиреЗ рдкрд░рдЦреА рдереА рд╡рд╣ рдЙрд╕рдХреА рдереАред рд▓реЗрдХрд┐рди рдпрд╣ рд╣рдореЗрдВ рдкреНрд░рддреАрдд рд╣реБрдЖ рдХрд┐ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкреАрдбреАрдмреА рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдкрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рджреБрд░реНрдШрдЯрдирд╛рдУрдВ рдФрд░ рдЦрд░рд╛рдм рдкреНрд░рджрд░реНрд╢рди рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЖрд╢рд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╣рдордиреЗ рдкрд╣рд▓реЗ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдерд╛)ред рдФрд░ рдлрд┐рд░ рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдПрд▓рдПрд▓рдбреАрдмреА рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдбрд┐рдмрдЧрд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддреАрд╕рд░рд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИред рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдкрд▓рдмреНрдзрд┐рдпрд╛рдВ рдереАрдВ, рдФрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рдЗрд╕ рдХрд╛рдо рдХреЛ рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдерд╛ред рд╣рдордиреЗ рдХреНрдпрд╛ рдХрд┐рдпрд╛! рд╡реИрд╕реЗ, рд╣рдордиреЗ рдЕрдкрдиреЗ рд╕рднреА рдкрд░рд┐рд╡рд░реНрддрди (рдЕрднреА рдХреЗ рд▓рд┐рдП рдореВрд▓ рдбреЗрдЯрд╛ рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝рд░ рдХреЗ рд╕рдорд░реНрдерди рдХреЛ рдЫреЛрдбрд╝рдХрд░) рдПрд▓рдПрд▓рд╡реАрдПрдо рд╡рд┐рдЬрд╝рд╛рд░реНрдб рдореЗрдВ рдбрд╛рд▓ рджрд┐рдП рд╣реИрдВред

рдХреИрд╕реЗ рд╕рдХреНрд╖рдо рдХрд░реЗрдВ? рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рд▓рд┐рдЦрд╛ рдерд╛, рдЕрд╡рд╕рд░ рдЕрднреА рднреА рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рд╣реИред рдбрд┐рдмрдЧрд░ рдХреЛ рдкреВрд░реНрдг-рдХрд╛рд▓рд┐рдХ рдХрд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЬрд▓реНрджреА рд╣реИ, рдЗрд╕рдХреА рдХрдИ рд╕реАрдорд╛рдПрдБ рдФрд░ рдХрдорд┐рдпрд╛рдБ рд╣реИрдВ, рдФрд░ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдиреБрдХреВрд▓рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрд╣ рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рд╕реБрд╡рд┐рдзрд╛ рд░рдЦрд░рдЦрд╛рд╡ рд╕рдВрд╡рд╛рдж ( Shift+Ctrl+Alt+/ Linux / Windows, тМетЗзтМШ/ рдкрд░) рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИред рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдПрдБ | cidr.debugger.lldb.windows ред рдЕрдм рдПрдХ рдирдпрд╛ рдбреАрдмрдЧрд░ рд╡рд┐рдЬреБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдЯреВрд▓рдЪреИрди рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИ:

рдорд┐рд╢реНрд░реАрдХ рдЯреБрд▓рдЪрд┐рди

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

рдиреИрдЯрд╡рд┐рд╕ рд╕рдорд░реНрдерди

рдпрджрд┐ рдЖрдк рдПрдХ рдирдП рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдбрд┐рдмрдЧрд░ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рдмреНрд▓реЙрдЧ рдореЗрдВ рдЬреНрдЮрд╛рдд рд╕реАрдорд╛рдУрдВ рдФрд░ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреА рд╕реВрдЪреА рд╕реЗ рдЦреБрдж рдХреЛ рдкрд░рд┐рдЪрд┐рдд рдХрд░реЗрдВред

рдЕрдиреНрдп рдбрд┐рдмрдЧрд░ рд╕реБрдзрд╛рд░


рдирдП рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдбрд┐рдмрдЧрд░ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдордиреЗ рдХрдИ рдЕрдиреНрдп рд╕реБрдзрд╛рд░ рдХрд┐рдП рд╣реИрдВ:
  • рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд GDB / LLDB рдХрдВрд╕реЛрд▓ рдореЗрдВ, CLion рдореЗрдВ рдбрд┐рдмрдЧрд░ рд╡рд┐рдВрдбреЛ рдореЗрдВ, рдбреАрдмрдЧрд░ рдХреЗ рдХрдорд╛рдВрдб рдХрд╛ рд╕реНрд╡рддрдГ рдкреВрд░реНрдгрдХрд░рдг рдЕрдм рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ ( Tab рдпрд╛ Ctrl+Space рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ)ред
  • рд╕реНрдЯреНрд░рд┐рдВрдЧ рдмреНрд░реЗрдХрдкреНрд╡рд╛рдЗрдВрдЯреНрд╕ рдХреЛ рдЕрдм рдордХреНрдЦреА рдкрд░ рдорд╛рдиреНрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ , рдФрд░ рдЙрдирдХреА рд╕реНрдерд┐рддрд┐ рдЕрдкрдбреЗрдЯ рдХреА рдЬрд╛рддреА рд╣реИ рдФрд░ рдПрдХ рд╕рдВрдмрдВрдзрд┐рдд рдЖрдЗрдХрди рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рджрд┐рдЦрд╛рдИ рдЬрд╛рддреА рд╣реИред рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдк рдкреНрд░рдХрд╛рд░ рдЕрдорд╛рдиреНрдп рд╣реИ , рдЬреЛ рдмреНрд░реЗрдХрдкреНрд╡рд╛рдЗрдВрдЯ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛ рдЬреЛ рд╡рд░реНрддрдорд╛рди рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХреЛрдб рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИрдВ рдпрд╛ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдбреАрдмрдЧрд┐рдВрдЧ рдкреНрд░рддреАрдХ рдирд╣реАрдВ рд╣реИрдВ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЙрдиреНрд╣реЗрдВ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдмреНрд░реЗрдХрдкреЙрдЗрдВрдЯ рдХреА рд╕реНрдерд┐рддрд┐ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЕрдкрдбреЗрдЯ рд╣реЛ рдЬрд╛рдПрдЧреА):
    рд▓рд╛рдЗрди рдмреНрд░реЗрдХрдкреНрд▓реЗ рд╕рдВрдмрдВрдз
  • рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдбреАрдмрдЧрд░ (рдореЗрдореЛрд░реА рджреГрд╢реНрдп) рдореЗрдВ рдореЗрдореЛрд░реА рджреЗрдЦрддреЗ рд╕рдордп, рдПрдХ рдордирдорд╛рдиреЗ рдкрддреЗ (рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдкрддреЗ рдпрд╛ рдЪрд░ рдирд╛рдо / рдкрддреЗ рджреНрд╡рд╛рд░рд╛) рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЧрдпрд╛, рд╕рд╛рде рд╣реА рд╕рд╛рде рдПрдПрд╕рд╕реАрдЖрдИрдЖрдИ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдореЗрдореЛрд░реА рдкреНрд░рд╕реНрддреБрдд рдХрд░рдирд╛:
    рд╕реНрдореГрддрд┐ рджреГрд╢реНрдп


рдХреЛрдб рд╕рдВрдкрд╛рджрдХ рд╕реБрдзрд╛рд░


рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдХрдИ рдмрдбрд╝реЗ рд╕реБрдзрд╛рд░ рд╣реБрдП рд╣реИрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдордиреЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдкреНрд░рдпреБрдХреНрдд рд╢рд╛рдорд┐рд▓ рдХреЛрдб рдХреА рдЬрд╛рдВрдЪ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдФрд░ рдЗрд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЪрд╛рд▓реВ рдХрд░ рджрд┐рдпрд╛ред рдкрд╣рд▓реЗ, рдпрд╣ рднреА рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдиреЗ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЭреВрдареА рд╕рдХрд╛рд░рд╛рддреНрдордХрддрд╛ рджреА, рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рдЗрд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ред рдпрд╣ рдмреЗрд╣рддрд░ рдХреНрдпреЛрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИ? рд╣рдордиреЗ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдХреЛрдб рдХреЗ рд▓рд┐рдП рджреВрд╕рд░реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдЯреВрд▓ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рддреНрдпрд╛рдкрди рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рд╣реИ, рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ, рдХреНрд▓реИрдВрдЧрдб рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред рддреЛ рдпрд╣ рдПрдХ рд╕реНрдкрд╖реНрдЯ рд╕реАрдорд╛ рд╣реИ - рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдХреЗрд╡рд▓ рддрднреА рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдЬрдм Clangd рдЖрдкрдХреЗ рд▓рд┐рдП рдЕрдХреНрд╖рдо рди рд╣реЛ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдпрд╣ рд╕рдХреНрд╖рдо рд╣реИ)ред рд▓реЗрдХрд┐рди рдЕрдм, рдЕрдкреНрд░рдпреБрдХреНрдд рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдореЗрдВ, рдХрдИ рд░рдгрдиреАрддрд┐рдпрд╛рдБ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЬрд┐рдирдХреЗ рдмреАрдЪ рдЖрдк рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ:
рдЕрдкреНрд░рдпреБрдХреНрдд рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИ
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЧрдпрд╛ рдкреНрд░рддреНрдпрдХреНрд╖ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ , рдЬреЛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рд╢рд╛рдорд┐рд▓ рд╡реНрд╣рд╛рдЯ рдпреВ рдпреВрдЬрд╝ рдХреЗ рд╕рдмрд╕реЗ рдкреНрд░рд╕рд┐рджреНрдз рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рд╕рдмрд╕реЗ рдХрд░реАрдм рд╣реИ, рдЕрд░реНрдерд╛рдд, рдпрджрд┐ рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдШреЛрд╖рдгрд╛рдПрдВ рд╕реАрдзреЗ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИрдВ, рддреЛ рдРрд╕реА рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрдкреНрд░рдпреБрдХреНрдд рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдирд┐рд░реАрдХреНрд╖рдг рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ (рд╕реЗрдЯрд┐рдВрдЧреНрд╕ / рд╡рд░реАрдпрддрд╛рдПрдБ | рд╕рдВрдкрд╛рджрдХ | рдирд┐рд░реАрдХреНрд╖рдг | C / C ++ | рдЕрдкреНрд░рдпреБрдХреНрдд рдХреЛрдбред рдЕрдкреНрд░рдпреБрдХреНрдд рдирд┐рд░реНрджреЗрд╢ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ), рдЖрдк рдпрд╣ рднреА рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рд╣реЗрдбрд░ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдЪреЗрдХ рдХреЛ рд╕реНрд╡рдпрдВ рдЪрд▓рд╛рдПрдВред рд╕рдЪ рд╣реИ, рдпрд╣ рдХреЗрд╡рд▓ рдЙрди рд╣реЗрдбрд░ рдлрд╛рдЗрд▓реЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдЬрд╣рд╛рдВ #pragma рдпрд╛ рд╣реЗрдбрд░ рдЧрд╛рд░реНрдб рдореМрдЬреВрдж рд╣реИрдВред рдпрд╣ рдЬрд╛рдирдирд╛ рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдпрджрд┐ рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдВрдХрд▓рди рддреНрд░реБрдЯрд┐рдпрд╛рдБ рдореМрдЬреВрдж рд╣реИрдВ, рддреЛ рдЪреЗрдХ рдЕрдкреНрд░рдпреБрдХреНрдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдирд╣реАрдВ рджрд┐рдЦрд╛рдПрдЧрд╛ред

рдкрд┐рдЫрд▓реА рд░рд┐рд▓реАрдЬ рдХреЗ рдмрд╛рдж рд╕реЗ, CLion рдиреЗ рдмрд┐рд▓реНрдЯ-рдЗрди рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рдХреЛрдб рдлреЙрд░реНрдореЗрдЯрд┐рдВрдЧ рдЯреВрд▓ рдХреЗ рд░реВрдк рдореЗрдВ ClangFormat рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рд╣реИред рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рд╣рдордиреЗ .clang- рд╕реНрд╡рд░реВрдк рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд JSON рдпреЛрдЬрдирд╛ рдЬреЛрдбрд╝реА рд╣реИред рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд╣рдо рдХрдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗ рдЬреЛ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ CLEC рдореЗрдВ .clang- рдкреНрд░рд╛рд░реВрдк рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдВрдЧреЗ:

  • рд╡рд┐рдХрд▓реНрдкреЛрдВ рдФрд░ рдЙрдирдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдГ рдкреВрд░реНрдгрддрд╛ рдкреНрд░рдХрдЯ рд╣реБрдИ рд╣реИред
  • рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдд: рдкреВрд░реНрдг рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд╡рд┐рдВрдбреЛ рдореЗрдВ рдЕрдм рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рд╡рд┐рд╡рд░рдг рд╣реИред
  • рддреНрд╡рд░рд┐рдд рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдкреНрд░рд▓реЗрдЦрди рд╡рд┐рдВрдбреЛ (рд╡рд┐рдВрдбреЛрдЬрд╝ / рд▓рд┐рдирдХреНрд╕ рдкрд░ Ctrl+Q , F1 рдкрд░ F1 ) рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рд╡рд┐рдХрд▓реНрдкреЛрдВ рдФрд░ рдЙрдирдХреЗ рдЕрд░реНрдереЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рд▓реЗрдЦрди рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред
  • рд╡реИрдз рдореВрд▓реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рд╕рддреНрдпрд╛рдкрди рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИред


Clangformat рдХреЛрдб рд╕рд╣рд╛рдпрддрд╛

рддрд░реНрдХ рдХреЗ рд▓рд┐рдП рдпреБрдХреНрддрд┐рдпрд╛рдБ


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

рд╕рдВрд╕реНрдХрд░рдг CLion 2019.2 рдореЗрдВ, рддрд░реНрдХреЛрдВ рдХреЗ рдЯреВрд▓рдЯрд┐рдкреНрд╕ рджрд┐рдЦрд╛рдИ рджрд┐рдП - рдЬрдм рдХрд┐рд╕реА рдлрд╝рдВрдХреНрд╢рди, рд▓рдВрдмреЛрджрд░, рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░, рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рд▓рд┐рд╕реНрдЯ рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╛ рдореИрдХреНрд░реЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, CLI рддрд░реНрдХ рдкрд╛рд░рд┐рдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдирд╛рдореЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ: рдореЛрдмрд╛рдЗрд▓ рд╕рд┐рдЧреНрдирд▓ рджреЗрддрд╛ рд╣реИ
рд╕рдВрдХреЗрдд рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рджрд┐рдЦрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВ рдЬрдм рдпрд╣ рд╕рдордЭрдирд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдХрд┐рди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдХрд┐рди рдорд╛рдирдХреЛрдВ рдХреЛ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддреН, рдпрджрд┐ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдСрдкрд░реЗрдВрдб рд╡рд╛рд▓реЗ рд╢рд╛рдмреНрджрд┐рдХ рдпрд╛ рднрд╛рд╡ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдкрд░ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА ред

рдЙрддреНрдкрд╛рджрдХрддрд╛


рдмреЗрд╢рдХ, рд╣рдорд╕реЗ рдЕрдХреНрд╕рд░ рдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкреВрдЫрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореИрдВ рджреЛрд╣рд░рд╛рддрд╛ рд╣реВрдВ, рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдпрд╣ рд╕рдмрд╕реЗ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рд╡рд╛рд▓рд╛ рдХрд╛рдо рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдХрдИ рдмрд┐рдВрджреБ рдкрд░рд┐рд╡рд░реНрддрди рдирд╣реАрдВ рд╣реИрдВ, рдФрд░ рд╡реИрд╢реНрд╡рд┐рдХ рд▓реЛрдЧреЛрдВ рдХреЛ 1-2 рд░рд┐рд▓реАрдЬ рдЪрдХреНрд░реЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рд╕рдордп рд▓рдЧрддрд╛ рд╣реИред рдЕрдм рдХрд╛рдо рдореЗрдВ рдХрдИ рдРрд╕реЗ рдмрдбрд╝реЗ рдмрджрд▓рд╛рд╡ рд╣реИрдВред рдореВрд▓ рд░реВрдк рд╕реЗ, рд╡реЗ рдЗрд╕ рдмрд╛рдд рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВ рдХрд┐ рдХреИрд╕реЗ CLion рдореЗрдВ рдкрд╛рд░реНрд╕рд░ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рддрд╛ рд╣реИ (рдЬреЛ рд╣рдореЗрд╢рд╛ рдЧрдгрдирд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдХрд┐ C ++ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдПрдХ рд╕рд░рд▓ рдХреНрд░рд┐рдпрд╛ рдХреЗ рдкреАрдЫреЗ рдПрдХ рд▓рдВрдмрд╛ рд╣рд▓ рдХреЛрдб рдЫрд┐рдкрд╛ рд╣реИ)ред

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

рд▓реЗрдХрд┐рди 2019.2 рд░рд┐рд▓реАрдЬ рдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░ рдХреЗ рдмрд┐рдирд╛ рдирд╣реАрдВ рдЫреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛:

  • рд╣рдореЗрдВ рдЗрди-рд░реЗрдиреЗрдо рдХреЛ рд░реАрдлреНрд░реИрдХреНрдЯ рдХрд░рдиреЗ рдореЗрдВ рдХрдИ рдордВрджреА рдФрд░ рдЬрдорд╛рд╡ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдорд┐рд▓рд╛ред
  • рдпреЛрдЧреНрдп рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рдСрдЯреЛ-рдкреВрд░реНрдг рдкреНрд░рджрд░реНрд╢рдиред
  • рджреВрд░рд╕реНрде рдХрд╛рд░реНрдп рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдордиреЗ I / O рд╕рдВрдЪрд╛рд▓рди рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХрдо рдХрд░ рджрд┐рдпрд╛, рдЬрд┐рд╕рдиреЗ рд╕рдВрдХрд▓рдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рдВрдЧреНрд░рд╣ рдХреЛ рдХрд╛рдлреА рддреЗрдЬ рдХрд░ рджрд┐рдпрд╛, рдФрд░ рдЗрд╕рд▓рд┐рдП, CMake рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдбрд╛рдЙрдирд▓реЛрдб рдЧрддрд┐ред
  • рдФрд░ рдЕрдиреНрдп рд╕реБрдзрд╛рд░ред

рд╕рд┐рд░реНрдл C ++ рдирд╣реАрдВ


CLION 2019.2 рдореЗрдВ IntelliJ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рд╕реЗ, рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рд╕реБрдзрд╛рд░ рдХрд┐рдП рдЧрдП рд╣реИрдВред

20 рд╕реЗ рдЕрдзрд┐рдХ рднрд╛рд╖рд╛рдУрдВ рдХрд╛ рд╡рд╛рдХреНрдп рд╡рд┐рдиреНрдпрд╛рд╕ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдЕрдм TextMate рд╡реНрдпрд╛рдХрд░рдгреЛрдВ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рднрд╛рд╖рд╛рдУрдВ рдХреА рдПрдХ рдкреВрд░реА рд╕реВрдЪреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ / рд╡рд░реАрдпрддрд╛рдПрдБ рдореЗрдВ рджреЗрдЦреА рдЬрд╛ рд╕рдХрддреА рд╣реИред рд╕рдВрдкрд╛рджрдХ | TextMate рдмрдВрдбрд▓)ред рдмреЗрд╢рдХ, рдЕрдЧрд░ рдЗрд╕ рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП CLion (рдкрд╛рдпрдерди, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ, HTML, рдСрдмреНрдЬреЗрдХреНрдЯрд┐рд╡-рд╕реА, рдПрд╕рдХреНрдпреВрдПрд▓) рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рд╕рдорд░реНрдерди рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рд░реВрдмреА рдЬреИрд╕реА рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рд╕рдмрд╕реЗ рд╕рд░рд▓ рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд┐рдВрдЧ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддреА рд╣реИ:

CLion рдореЗрдВ рд░реВрдмреА

рдЕрдХреНрд╕рд░ C ++ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдореЗрдВ рдХрдИ рддрд░рд╣ рдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реЛрддреА рд╣реИрдВ ред рд╢реИрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд▓рдЧрдЗрди рдЕрдм CLion рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣ рди рдХреЗрд╡рд▓ рдХреЛрдб рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд┐рдВрдЧ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдСрдЯреЛ-рдкреВрд░реНрддрд┐ рдФрд░ рдкрд╛рда рдХрд╛ рдирд╛рдордХрд░рдг рднреА рдХрд░рддрд╛ рд╣реИ:

рдбреНрд░рд┐рд▓ рд▓рд┐рдкрд┐

рд░рд╕реНрдЯ рдкреНрд▓рдЧрдЗрди рдХреЛ рдХрдИ рдЙрдкрдпреЛрдЧреА рдЕрдкрдбреЗрдЯ рдкреНрд░рд╛рдкреНрдд рд╣реБрдП рд╣реИрдВред рдПрдХ рдирдП рдкреНрд░рдпреЛрдЧрд╛рддреНрдордХ рдореИрдХреНрд░реЛ рд╡рд┐рд╕реНрддрд╛рд░ рдЙрдкрдХрд░рдг (рд╕реЗрдЯрд┐рдВрдЧреНрд╕ / рд╡рд░реАрдпрддрд╛рдПрдБ | рднрд╛рд╖рд╛рдПрдБ рдФрд░ рдлреНрд░реЗрдорд╡рд░реНрдХ | рдЬрдВрдЧ | рд╡рд┐рд╕реНрддрд╛рд░ рдпреЛрдЧреНрдп рдореИрдХреНрд░реЛрдЬрд╝) рдХреЛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХреЛрдб рдХреЗ рдЯреБрдХрдбрд╝реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореВрд▓реНрдпрд╛рдВрдХрди рдХреЗ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдореЗрдВ рдбрд┐рдмрдЧрд░ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдирдП рддреНрд╡рд░рд┐рдд рд╕реБрдзрд╛рд░ рдФрд░ рдСрдЯреЛ-рдкреВрд░реНрдгред рд╡реИрд╕реЗ, рдпрд╣ CLion рдореЗрдВ рд╣реИ рдХрд┐ рдЗрд╕ рдкреНрд▓рдЧрдЗрди рдХрд╛ рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рдЙрдкрдпреЛрдЧ рдЕрдм JetBrains рд╕реЗ рд╕рднреА IDEs рдХреЗ рдмреАрдЪ рд╣реИ!

рдбреЗрдореЛ


CLion 2019.2 рдХреА рдирдИ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд╛рд░рдВрдкрд░рд┐рдХ рд╡реАрдбрд┐рдпреЛ (рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ):


рдпрд╣ рд╕рдм рдПрдХ рдмрд╛рд░ рдХреЗ рд▓рд┐рдП рд╣реИред рдЕрдВрдд рддрдХ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдкреНрд░рд╢реНрди, рдЗрдЪреНрдЫрд╛рдПрдБ, рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ рдФрд░ рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ рд╕рд┐рд░реНрдл рд╡рд┐рдЪрд╛рд░ рд╡реНрдпрдХреНрдд рдХрд░рддреЗ рд╣реИрдВ! рд╣рдо, рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рдЬрд╡рд╛рдм рджреЗрдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред

рдЖрдкрдХреА JetBrains CLion рдЯреАрдо
рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреНрд░рд╛рдЗрд╡

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


All Articles