EditorConfig - рд╕рднреА рд╕рдВрдкрд╛рджрдХреЛрдВ / IDE рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реЗрдЯрд┐рдВрдЧреНрд╕

EditorConfig рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдФрд░ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдХреЛрдб рд╕рдВрдкрд╛рджрдХреЛрдВ рдФрд░ IDE рдХреЗ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИ (рдЗрд╕рдХреЗ рдмрд╛рдж рдмрд╕ рдПрдХ IDE)ред



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



.editorconfig



рдлрд╛рдЗрд▓реЗрдВ jQuery , рд░реВрдмреА , рд╡рд░реНрдбрдкреНрд░реЗрд╕ , рдФрд░ рдХрдИ рдЕрдиреНрдп рдЬреИрд╕реЗ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИрдВ ред



рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ IDE рдХреЗ рд▓рд┐рдП рдкреНрд▓рдЧрдЗрдиреНрд╕ рдЙрдкрд▓рдмреНрдз рд╣реИрдВ









рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред





EditorConfig?





рдпрд╣рд╛рдБ рдПрдХ рдЙрджрд╛рд╣рд░рдг .editorconfig



рдлрд╝рд╛рдЗрд▓ рд╣реИ рдЬреЛ рдкрд╛рдпрдерди рдФрд░ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдХреЗ рд▓рд┐рдП рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рдирд┐рдпрдореЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ:



 ##            . ##  "ini"       ,    . ##   ,    -    . # #   EditorConfig root = true #     unix-   [*] end_of_line = lf insert_final_newline = true #   4  [*.py] indent_style = space indent_size = 4 #     (  ) [*.js] indent_style = tab #     js    lib [lib/**.js] indent_style = space indent_size = 2 #    package.json or .travis.yml [{package.json,.travis.yml}] indent_style = space indent_size = 2
      
      













EditorConfig рдлрд╛рдЗрд▓реЗрдВ рдереЛрдбрд╝реЗ рд╕рдВрд╢реЛрдзрд┐рдд INI



рдкреНрд░рд╛рд░реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИрдВред

рдкреНрд░рддреНрдпреЗрдХ .editorconfig



UTF-8



рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдЕрдВрдд рдореЗрдВ рднреА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП

CRLF



рдпрд╛ LF



ред



рдЕрдиреБрднрд╛рдЧ рдХрд╛ рдирд╛рдо рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореБрдЦреМрдЯрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП [*.js]



рдпрд╛ [index.html]



ред



рд╕рд╛рдорд╛рдиреНрдп .ini рдкреНрд░рд╛рд░реВрдк рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЖрдк рдЕрдиреБрднрд╛рдЧ рдирд╛рдо рдореЗрдВ [



рдФрд░ ]



рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдЖрдкрдХреЛ рд╡рд░реНрдгреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕ рддрд░рд╣ рдХреЗ рдирд┐рд░реНрдорд╛рдг рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИрдВ: [file[123].js]



ред рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ - рдиреАрдЪреЗ рдкрдврд╝реЗрдВред



рдкреНрд░рддреНрдпреЗрдХ рдЯрд┐рдкреНрдкрдгреА рдПрдХ рдЕрд▓рдЧ рд▓рд╛рдЗрди рдкрд░ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП ;



рдпрд╛ #



ред











* - (/)



рдЙрджрд╛рд╣рд░рдг: [* .js]

hello.js



// рдорд┐рд▓рд╛рди

hellojs



// рдХреЛрдИ рдореБрдХрд╛рдмрд▓рд╛ рдирд╣реАрдВ

index.html



// рдХреЛрдИ рдореЗрд▓ рдирд╣реАрдВ

lib/source.js



// рдХреЛрдИ рдореЗрд▓ рдирд╣реАрдВ





** -



рдЙрджрд╛рд╣рд░рдг: [**ред Js]

hello.js



// рдорд┐рд▓рд╛рди

hellojs



// рдХреЛрдИ рдореБрдХрд╛рдмрд▓рд╛ рдирд╣реАрдВ

index.html



// рдХреЛрдИ рдореЗрд▓ рдирд╣реАрдВ

lib/source.js



// рдорд┐рд▓рд╛рди





? -



рдЙрджрд╛рд╣рд░рдг: [рдирд░реНрдХред

hello.js



// рдорд┐рд▓рд╛рди

hell.js



// рдХреЛрдИ рдореЗрд▓ рдирд╣реАрдВ





[name] - тАЬnameтАЭ



рдЙрджрд╛рд╣рд░рдг: [[abc] .js]

a.js



// рдореИрдЪ

b.js



// рдореИрдЪ

abc.js



// рдХреЛрдИ рдореБрдХрд╛рдмрд▓рд╛ рдирд╣реАрдВ





[!name] - тАЬnameтАЭ



рдЙрджрд╛рд╣рд░рдг: [рдлрд╝рд╛рдЗрд▓ [2468] .js]

file1.js



// рдорд┐рд▓рд╛рди

file2.js



// рдХреЛрдИ рдореЗрд▓ рдирд╣реАрдВ





{s1,s2,s3} -



рдЙрджрд╛рд╣рд░рдг: [рд╕реВрдЪрдХрд╛рдВрдХред {рдЬреЗрдПрд╕, рдПрдЪрдЯреАрдПрдордПрд▓}]

index.js



// рдорд┐рд▓рд╛рди

index.html



// рдорд┐рд▓рд╛рди

package.json



// рдХреЛрдИ рдореЗрд▓ рдирд╣реАрдВ





\ -



рдЙрджрд╛рд╣рд░рдг: [\ [abc \]ред Js]

a.js



// рдХреЛрдИ рдореИрдЪ рдирд╣реАрдВ

[abc] .js



// рдореИрдЪ









?





рд╕рдВрдкрд╛рджрдХ рдХреЙрдиреНрдлрд┐рдЧ рдХрд╛ рд▓рдХреНрд╖реНрдп рднрд╛рд╖рд╛ рдХрд╛ рд╕реНрд╡рддрдВрддреНрд░ рд╣реЛрдирд╛ рдФрд░ рд╕рднреА IDE рдореЗрдВ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдпрд╣ рд╣рдореЗрд╢рд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХреБрдЫ рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╕рднреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг github рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд▓рдЧрдЗрди рдХреЗ рдкреГрд╖реНрда рдкрд░ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред



рд╕рднреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗрд╕ рдЕрд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╣реИрдВред



indent_style



рдорд╛рди: рдЯреИрдм, рд╕реНрдерд╛рди

рдЖрдкрдХреЛ рдЗрдВрдбреЗрдВрдЯреЗрд╢рди рдХреЗ рд▓рд┐рдП рд╣рд╛рд░реНрдб рдпрд╛ рд╕реЙрдлреНрдЯ рдЯреИрдм рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред



indent_size



рдорд╛рди: рд╕рдВрдЦреНрдпрд╛

рдЖрдкрдХреЛ рдирд░рдо рдЯреИрдм рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрдВрдбреЗрдВрдЯ рдХреА рдЪреМрдбрд╝рд╛рдИ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред



tab_width



рдорд╛рди: рд╕рдВрдЦреНрдпрд╛

рдЖрдкрдХреЛ рд╣рд╛рд░реНрдб рдЯреИрдм рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрдВрдбреЗрдВрдЯ рдХреА рдЪреМрдбрд╝рд╛рдИ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрджрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдЗрдВрдбреЗрдВрдЯ_рд╕рд╛рдЗрдЬрд╝ рд╕реЗ рдорд╛рди рд▓реЗрдЧрд╛ред



end_of_line



рдорд╛рди: lf, cr, crlf

рдЖрдкрдХреЛ рдпрд╣ рдЪреБрдирдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рд╕рд┐рд░реЛрдВ рдкрд░ рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПред



charset



рдорд╛рди: latin1, utf-8, utf-8-bomb, utf-16be, utf-16le

рдЖрдкрдХреЛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

Utf-8-bomb рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрд╢рдВрд╕рд╛ рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИ



trim_trailing_whitespace



рдорд╛рди: рд╕рддреНрдп, рдЕрд╕рддреНрдп

рдЖрдкрдХреЛ рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рд╕рд┐рд░реЛрдВ рд╕реЗ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдирд┐рдХрд╛рд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред



insert_final_newline



рдорд╛рди: рд╕рддреНрдп, рдЕрд╕рддреНрдп

рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрдВрдд рдореЗрдВ рд╣рдореЗрд╢рд╛ рдПрдХ рдирдИ рдкрдВрдХреНрддрд┐ рд╣реЛрдЧреАред



root



рдорд╛рди: рд╕рддреНрдп, рдЕрд╕рддреНрдп

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



Ignore



рдХреБрдЫ рдлрд╛рдЗрд▓реЗрдВ, рдЬреИрд╕реЗ рдХрд┐ рдерд░реНрдб-рдкрд╛рд░реНрдЯреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдпрд╛ рдорд┐рдирд┐рдлрд╛рдЗрдЬреНрдб рдлрд╛рдЗрд▓реЗрдВ, рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЕрдЫреВрддреА рд░рд╣рддреА рд╣реИрдВред рдРрд╕реЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдХрд┐рд╕реА рднреА рд╕реЗрдЯрд┐рдВрдЧ рдХреЛ ignore



рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:



 #    JS  CSS [*.{js,css}] indent_style = space indent_size = 2 #     JS  CSS . [*.min.*] indent_style = ignore trim_trailing_whitespace = false insert_final_newline = ignore
      
      







?





EditorConfig рдХрд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХрд╛рд░реНрдп рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХрд╛ рдПрдХ рдиреНрдпреВрдирддрдо рд╕реЗрдЯ рдмрдирд╛рдирд╛ рд╣реИ рдЬреЛ рд╕рднреА рдкреНрд░рдореБрдЦ рдЖрдИрдбреАрдИ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред



рдХрд╛рд░реНрдп рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рдПрдХ рд╕реЗрдЯрд┐рдВрдЧ рдЬреЛрдбрд╝рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдЬреЛ рд▓рд╛рдЗрди рдХреА рдЪреМрдбрд╝рд╛рдИ рдХреЛ рд╕реАрдорд┐рдд рдХрд░реЗрдЧрд╛: max_line_length





рдЗрд╕ рд╕реЗрдЯрд┐рдВрдЧ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХрдИ рдореБрджреНрджреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:



рд╡рд░реНрддрдорд╛рди рдореЗрдВ, max_line_length



рдЧреБрдг рдореМрдЬреВрдж рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ vim



рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред





EditorConfig





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



рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреЛ рдХреНрд╖реЗрддреНрд░ рд╣реИрдВ:



/IDE



рдХреБрдЫ рд╕рдВрдкрд╛рджрдХреЛрдВ / IDE рдХреА рдЕрдкрдиреА рдЦрд╝рд╛рд╕рд┐рдпрддреЗрдВ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, jEdit рдореЗрдВ рдЕрдзрд┐рдХ рдПрдирдХреЛрдбрд┐рдВрдЧ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдПрдХ jedit_charset рд╕реЗрдЯрд┐рдВрдЧ рд╣реИ рдЬреЛ рдХреЗрд╡рд▓ jedit рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддреА рд╣реИред



/



рддреГрддреАрдп-рдкрдХреНрд╖ рдХрд╛рд░реНрдпрдХреНрд░рдо рдФрд░ рдкреНрд▓рдЧрдЗрдиреНрд╕ EditorConfig рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдХреЗрд╡рд▓ рдХреБрдЫ рднрд╛рд╖рд╛рдУрдВ рдпрд╛ рдлрд╝рд╛рдЗрд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред



рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, npm CodePainter рдореЙрдбреНрдпреВрд▓, рдЬреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХреЗ рд░реВрдк рдореЗрдВ EditorConfig рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЖрдкрдХреЛ рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрдиреЛрдВ (рдПрдХрд▓ рдпрд╛ рджреЛрд╣рд░реЗ) рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ (qoute_type) рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдпрд╛ рдХреЛрд╖реНрдардХ (рд░рд┐рдХреНрдд рд╕реНрдерд╛рди_in_brackets) рдХреЗ рдЕрдВрджрд░ рд░рдЦрд╛ рдЬрд╛рдПрдЧрд╛ред рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдм рдХреЗрд╡рд▓ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░реЗрдЧрд╛ред



рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдкрд╛рд╕ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╕рдВрднрд╛рд╡рд┐рдд рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рдкреВрд░реЗ рд╕реЗрдЯ рдХреА рдпреЛрдЬрдирд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:



curly_bracket_next_line



рдмреНрд░реЗрд╕ рдХреЛ рдЕрдЧрд▓реА рдкрдВрдХреНрддрд┐ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ, рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЬрд╣рд╛рдВ рдпрд╣ рд╣реИ



java_class_path



рдЕрдиреНрдп рдкреНрд▓рдЧрдЗрдиреНрд╕ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред



language



рдЖрдкрдХреЛ рдлрд╝рд╛рдЗрд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд▓рд┐рдП рднрд╛рд╖рд╛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЬрдм Jinja2



рдЬреИрд╕реЗ рдЯреЗрдореНрдкрд▓реЗрдЯ рдЗрдВрдЬрди .html



рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдорджрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИред



рдкреВрд░реА рд╕реВрдЪреА рдпрд╣рд╛рдВ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИ (рд╕рдВрд▓рдЧреНрди)



?





рдЬрдм рдкреНрд▓рдЧрдЗрди рдХреЛ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рдЧрдгрдирд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдпрд╣ рдлрд╝рд╛рдЗрд▓ рдЯреНрд░реА рдкрд░ рдЪрдврд╝рд╛рдИ рдХрд░реЗрдЧрд╛, рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рд╕реЗ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рд░реВрдЯ рддрдХ, рдФрд░ рдкрде рдкрд░ рдкреНрд░рддреНрдпреЗрдХ .editorconfig



рдлрд╝рд╛рдЗрд▓ рд╕реЗ рд╕реЗрдЯрд┐рдВрдЧ рд▓реЛрдб рдХрд░реЗрдЧрд╛ред

рдлрд╝рд╛рдЗрд▓ рдХреЗ рдХрд░реАрдм рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдЕрдзрд┐рдХ рд╣реИред



рдЗрд╕ рдкрде рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП: /Users/username/code/project/main.js



, рдкреНрд▓рдЧрдЗрди .editorconfig



рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ .editorconfig



рдлрд╝рд╛рдЗрд▓ рдХреА рдЦреЛрдЬ рдХрд░реЗрдЧрд╛:



 /Users/username/code/project/.editorconfig /Users/username/code/.editorconfig /Users/username/.editorconfig /Users/.editorconfig /.editorconfig
      
      





рдЖрдк рд░рд╛рд╕реНрддреЗ рдореЗрдВ рдХрд┐рд╕реА рднреА рдПрдХ config рдлрд╛рдЗрд▓ рдореЗрдВ root=true



рд╕реЗрдЯ рдХрд░рдХреЗ рдЦреЛрдЬ рдХреЛ рд░реЛрдХ рд╕рдХрддреЗ рд╣реИрдВред



рдЗрд╕ рддрд░рд╣ рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ .editorconfig



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





?





рдЬрдм Parser .editorconfig



рдлрд╝рд╛рдЗрд▓ рдкрдврд╝рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдиреАрдЪреЗ рджреА рдЧрдИ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдЙрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрддрд╛ рд╣реИред

рд▓реЗрдЦрдХреЛрдВ рдиреЗ рдПрдХ рдЫреЛрдЯрд╛ рдбреЗрдореЛ рдмрдирд╛рдпрд╛ [рдЬреЛ рдлрд┐рд▓рд╣рд╛рд▓ рдХрд┐рдВрдбрд░рдбреНрд░реИрдЧрди рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдЦреНрдпрд╛рдд рд╣реИ, рдкрдереЛрдВ рдХреА рдЧрдгрдирд╛ рдХрд░рддреЗ рд╕рдордп рдПрдХ рдЫреЛрдЯреА рд╕реА рдмрдЧреНрдЧреА рд╣реИ], рдЬрд╣рд╛рдВ рдЖрдк рдкреНрд░рд╛рд░реВрдк рдХреЗ рд╕рд╛рде рдЦреЗрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкрд░рд┐рдгрд╛рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ











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



editorconfig-tools



[ editorconfig-tools



]

рдХреЛрдб рдХреА рдЬрд╛рдВрдЪ рдФрд░ рд╕реБрдзрд╛рд░ рдХреЗ рд▓рд┐рдП рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯред рдпрд╣ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЪрд░рдг рдореЗрдВ рд╣реИ рдФрд░ рдЕрднреА рддрдХ рдмрд╣реБрдд рд╕реНрдерд┐рд░ рдирд╣реАрдВ рд╣реИред





ECLint



[ ECLint



]

рдпрд╣ Editorconfig-tools рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдореЗрдВ рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдореМрдЬреВрджрд╛ рдХреЛрдб рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдПрдХ .editorconfig



рдлрд╝рд╛рдЗрд▓ рдЙрддреНрдкрдиреНрди рдХрд░ .editorconfig



рд╣реИред рд╡рд┐рдХрд╛рд╕ рдХреЗ рддрд╣рдд рднреАред





CodePainter



[ CodePainter



, рдПрдирдкреАрдПрдо ]

.editorconfig



рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рдЗрд╕рдореЗрдВ рдЬреЗрдПрд╕ рдХреЛрдб рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╣реИрдВред





, ?





рдкреНрд▓рдЧ-рдЗрди рд░рдЪрдирд╛рдХрд╛рд░реЛрдВ рдХреА рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЦреНрдп рдШрдЯрдХреЛрдВ (рдЧреБрдард▓реА) рдХрд╛ рдПрдХ рд╕реЗрдЯ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдкреНрд▓рдЧ-рдЗрди рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдФрд░ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рдо рд▓реЗ рд╕рдХрддрд╛ рд╣реИред рдлрд┐рд▓рд╣рд╛рд▓, рд╕реА , рдЬрд╛рд╡рд╛ , рдкрд╛рдпрдерди рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдг рд╣реИрдВ, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдХрд╛рдо рдЪрд▓ рд░рд╣рд╛ рд╣реИред



рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╕реНрд╡рдпрдВ рд╕реНрд╡рд░реВрдкрдг рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЙрдкрдпреБрдХреНрдд IDE рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВред



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



рдЕрдЧрд░ рдкрд╛рдардХреЛрдВ рдореЗрдВ рд╕реЗ рдХреЛрдИ рд╣реИ рдЬреЛ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИ, рддреЛ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдХреИрд╕реЗ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬрд╛рдП (рд╕рдВрд▓рдЧреНрди рд╣реИред)





Windows





рд╡рд┐рдВрдбреЛрдЬ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдореЗрдВ рдПрдХ .editorconfig



рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ .editorconfig.



рдирд╛рдордХ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ .editorconfig.



рдФрд░ рд╡рд┐рдВрдбреЛрдЬ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ рдЗрд╕рдХрд╛ рдирд╛рдо рдмрджрд▓рдХрд░ .editorconfig







рдХрд░ .editorconfig







ред











EditorConfig рдЯреАрдо рдиреЗ рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рдХрд╛рд░реНрдп рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдЕрднреА рднреА рдмрд╣реБрдд рд╕реА рдХрдард┐рдирд╛рдЗрдпрд╛рдБ, рджрд┐рд▓рдЪрд╕реНрдк рдХрд╛рд░реНрдп рдФрд░ рд╕рдорд╛рдзрд╛рди рд╣реИрдВ:





рдпрджрд┐ рдкрд╛рдардХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рднрд╛рдЧ рд▓реЗрдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддрд╛ рд╣реИ, рддреЛ рдпрд╣рд╛рдВ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░рдиреЗ рдХреЗ рдХреБрдЫ рдЕрдЪреНрдЫреЗ рддрд░реАрдХреЗ рд╣реИрдВ (рд╕рднреА рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ):





рдореИрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдЯреАрдо рдореЗрдВ рдирд╣реАрдВ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдЦреБрдж .editorconfig рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдореИрдВ рдЦрд╝реБрд╢реА рд╕реЗ рдЖрдкрдХреЗ рд╕реБрдЭрд╛рд╡ рдФрд░ рд╢реБрднрдХрд╛рдордирд╛рдПрдВ рджреВрдВрдЧрд╛ - рдЕрдкрдиреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдореЗрд▓ рдкрд░ рд▓рд┐рдЦреВрдВрдЧрд╛ред



All Articles