Js-beautify: ν•œ 쀄에 "짧은 개체"λ₯Ό λ³΄μ‘΄ν•˜κ±°λ‚˜ μΈλΌμΈν•˜λŠ” μ˜΅μ…˜

에 λ§Œλ“  2013λ…„ 08μ›” 14일  Β·  109μ½”λ©˜νŠΈ  Β·  좜처: beautify-web/js-beautify

일반적으둜 JS BeautifierλŠ” λͺ¨λ“  JS 객체 선언을 μ—¬λŸ¬ μ€„λ‘œ ν™•μž₯ν•˜λ©°, 각 μ€„μ—λŠ” ν‚€ κ°’ 쌍이 μžˆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ 이것은 λ§Žμ€ μƒν™©μ—μ„œ μ§€λ‚˜μΉ˜κ²Œ μž₯ν™©ν•©λ‹ˆλ‹€(예: ν•œ 쀄에 μ‰½κ²Œ λ“€μ–΄κ°ˆ 수 μžˆλŠ” 짧은 개체).

μΆ”κ°€ μ„ΈλΆ€ μ •λ³΄λŠ” https://github.com/einars/js-beautify/pull/55 μ—μ„œ 찾을 수 μžˆμŠ΅λ‹ˆλ‹€.

enhancement

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

μž‘λ™ν•˜λŠ” 방법을 μ°Ύκ³  μžˆλŠ” λ‚˜μ™€ 같은 μ‚¬λžŒλ“€μ„ μœ„ν•΄: μž‘λ™ ν•˜λ©° .jsbeautifyrc의 μ˜΅μ…˜μœΌλ‘œ ν™œμ„±ν™”ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

   "brace_style": "collapse-preserve-inline"

λͺ¨λ“  109 λŒ“κΈ€

+1 ... 적어도 ν•˜λ‚˜μ˜ 속성 κ°œμ²΄κ°€ ν•œ 쀄에 λ¨Έλ¬Ό 수 μžˆμœΌλ―€λ‘œ c1[key] = { $exists: true }; λŠ” λ‹€μŒμœΌλ‘œ λ³€κ²½λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

                c1[key] = {
                    $exists: true
                };

+1

μΈκΈ°μžˆλŠ” μš”μ²­. :웃닀:

이에 λŒ€ν•œ 이전 pull μš”μ²­μ€ 쀄 λ°”κΏˆμ΄ 있기 전에 μˆ˜ν–‰λ˜μ—ˆμŠ΅λ‹ˆλ‹€. 쀄 λ°”κΏˆμ΄ 있으면 더 μ‰¬μ›Œμ§‘λ‹ˆλ‹€.

μš°λ¦¬λŠ” 객체 μ„ μ–Έ 내뢀에 μžˆμ„ λ•Œ κ°μ§€ν•˜λ―€λ‘œ λ‚˜μ˜μ§€λŠ” μ•Šμ§€λ§Œ 늦게 κ°μ§€ν•˜λ―€λ‘œ(#200 μ°Έμ‘°) ν™•μž₯된 객체λ₯Ό μˆ˜μ •ν•˜κΈ° μœ„ν•΄ 일뢀 역좔적을 포함할 수 μžˆμŠ΅λ‹ˆλ‹€.

λ‚˜λŠ” 이것에 λŒ€ν•œ λͺ¨λ“  κ²ƒμ΄μ§€λ§Œ 질문이 μžˆμŠ΅λ‹ˆλ‹€. 객체 λ¦¬ν„°λŸ΄μ— μ •ν™•νžˆ ν•˜λ‚˜μ˜ 속성이 있고 κ·Έ μžμ²΄κ°€ μ •ν™•νžˆ ν•˜λ‚˜μ˜ 속성을 가진 객체 λ¦¬ν„°λŸ΄μΈ κ²½μš°μ—λŠ” μ–΄λ–»κ²Œ λ κΉŒμš”? 이것은 μ—¬λŸ¬ 번 반볡될 수 μžˆμŠ΅λ‹ˆλ‹€. μ•„λž˜μ˜ μ˜ˆμ—μ„œλŠ” μ‹€μ œλ‘œ μ½”λ“œκ°€ ν•œ μ€„λ‘œ ν˜•μ‹ν™”λ˜λŠ” 것을 μ„ ν˜Έν•©λ‹ˆλ‹€. λ‹€λ₯Έ 뢄듀은 λ™μ˜ν•˜μ§€ μ•ŠμœΌμ‹œκ² μ§€λ§Œ μ €λŠ” 이 λΆ€λΆ„μ—μ„œ μ€‘μš”ν•˜κ²Œ 생각해야 ν•  뢀뢄이라고 μƒκ°ν•©λ‹ˆλ‹€.

이것은 쀄 길이둜 인해 μ½”λ“œλ₯Ό λž˜ν•‘ν•΄μ•Ό ν•˜λŠ” 극단적인 κ²½μš°κ°€ 될 수 μžˆμ§€λ§Œ λ‚΄ μ½”λ“œμ—λŠ” λ‹€μŒκ³Ό 같은 κ²½μš°κ°€ μžˆμŠ΅λ‹ˆλ‹€.

//I prefer this...
{ foo : { bar : { baz : 42 } } }

//... over this.
{
    foo : {
        bar : {
            baz : 42
        }
    }
}

@Ludd λ‚˜λŠ” μ „μ μœΌλ‘œ λ™μ˜ν•˜λ©° 이것을 직접 μ œμ•ˆν•˜λ €κ³  ν–ˆμŠ΅λ‹ˆλ‹€. 깊이 μ˜΅μ…˜λ„ κ°€λŠ₯ν•©λ‹ˆλ‹€. μ–΄λŠ 정도 κΉŠμ€ μˆ˜μ€€ μ΄ν›„μ—λŠ” 읽기에 ν•œκ³„κ°€ μžˆμŠ΅λ‹ˆλ‹€. λ‚˜λŠ” 당신이 κ°€μ§€κ³ μžˆλŠ” 것이 μ΅œλŒ€ 기본값이 될 것이라고 말할 κ²ƒμž…λ‹ˆλ‹€.

@mokkabonna 깊이 μ˜΅μ…˜μ— λŒ€ν•œ 쒋은 μƒκ°μž…λ‹ˆλ‹€. μ΄λ ‡κ²Œ ν•˜λ©΄ 이와 같은 μ½”λ“œμ˜ ν˜•μ‹μ„ μ§€μ •ν•˜λŠ” 방법에 λŒ€ν•œ λͺ¨ν˜Έμ„±μ΄ μ œκ±°λ©λ‹ˆλ‹€. κ°€λŠ₯ν•˜λ‹€λ©΄...

κΉŠμ΄κ°€ μ•„λ‹Œ 경우 길이둜 μ œν•œν•  수 μžˆμŠ΅λ‹ˆλ‹€. 80자 이후에 λž©ν•‘ν•œλ‹€κ³  κ°€μ •ν•©λ‹ˆλ‹€. 깊이만큼 μš°μ•„ν•˜μ§€λŠ” μ•Šμ§€λ§Œ 무엇이든 λΉ λ₯΄κ²Œ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

+1

λ‚˜λŠ” κΈΈμ΄λΌλŠ” κ°œλ…μ„ μ„ ν˜Έν•œλ‹€. μ°½ λ„ˆλΉ„μ— λͺ¨λ‘ λ“€μ–΄κ°ˆ 수 있으면 κ·ΈλŒ€λ‘œ λ‘μ‹­μ‹œμ˜€.

이에 λŒ€ν•œ κ°•λ ₯ν•œ 지원. v1.5.0에 μΆ”κ°€λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

: λ°•μˆ˜ :: λ°•μˆ˜ :: λ°•μˆ˜ :: λ°•μˆ˜

이와 같은 ν•œ 쀄 λ¬Έμž₯도 λ³΄μ‘΄λ©λ‹ˆκΉŒ?

if(someCondition) { return something; }

그것은 사양/κ΅¬ν˜„ κ²°μ •κ³Ό κ°™μŠ΅λ‹ˆλ‹€. κ°€λŠ₯ν•œ 것 κ°™μ§€λ§Œ ν•¨κ»˜ κ²°ν•©ν•˜λŠ” 것은 쒋지 μ•Šμ„ 수 μžˆμŠ΅λ‹ˆλ‹€.

λ™μ˜. μ–΄λ–»κ²Œ μΆ”μ ν•˜κ³  싢은지 잘 λͺ¨λ₯΄κ² μ§€λ§Œ "짧은 ν‘œν˜„/문을 ν•œ μ€„λ‘œ μœ μ§€"λΌλŠ” 또 λ‹€λ₯Έ λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆκΉŒ?

λ¬Όλ‘ μž…λ‹ˆλ‹€. 이 λ¬Έμ œμ™€ 관련이 μžˆμŠ΅λ‹ˆλ‹€.

참고둜 이것은 기본적으둜 λ‹€λ₯Έ 버전 #114μž…λ‹ˆλ‹€. κ°€μž₯ 였래된 곡개 문제 쀑 ν•˜λ‚˜μž…λ‹ˆλ‹€.

이에 λŒ€ν•œ μ—…λ°μ΄νŠΈκ°€ μžˆμŠ΅λ‹ˆκΉŒ? js-beautifyλŠ” 이 λ‚˜λ¨Έμ§€ 문제λ₯Ό μ œμ™Έν•˜κ³ λŠ” 졜고의 포맷터 쀑 ν•˜λ‚˜μž…λ‹ˆλ‹€.

이것이 λ‚΄κ°€ μ €μž₯ μ‹œ js beautifierλ₯Ό μ‹€ν–‰ν•˜μ§€ μ•ŠλŠ” μœ μΌν•œ 이유라고 μƒκ°ν•©λ‹ˆλ‹€.

+1

1.5.0μ—μ„œ ν•˜κ³  싢은 만큼 1.5.2둜 μ˜¬λ €μ•Όκ² μŠ΅λ‹ˆλ‹€.

1.5.0μ—λŠ” 이미 λ§Žμ€ λ³€κ²½ 사항이 있으며, μ΄λŠ” 일뢀 반볡 및 ν”Όλ“œλ°±μ„ 톡해 κΉ”λ”ν•˜κ²Œ 착지해야 ν•˜λŠ” μ€‘μš”ν•œ κΈ°λŠ₯μž…λ‹ˆλ‹€.

이것은 ν™•μ‹€νžˆ 1.5.2의 κ°€μž₯ 높은 μš°μ„  μˆœμœ„ κ°œμ„  μ‚¬ν•­μž…λ‹ˆλ‹€.

:+1: μ–΄μ œ 1.5.1 이 μΆœμ‹œλ˜μ—ˆμŠ΅λ‹ˆλ‹€. 이게 λ“€μ–΄κ°”μ–΄? κ·Έλ ‡λ‹€λ©΄ μ˜΅μ…˜μ€ λ¬΄μ—‡μž…λ‹ˆκΉŒ?

μœ„μ˜ λ‚΄ μ˜κ²¬μ„ μ—…λ°μ΄νŠΈν–ˆμŠ΅λ‹ˆλ‹€.

μ•Œμ•˜μ–΄ κ³ λ§ˆμ›Œ. λ‹€μŒ λ¦΄λ¦¬μŠ€μ—μ„œ μ°Ύμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€.

:+1:

+1

μ•ˆλ…•ν•˜μ„Έμš”, 방금 jsbeautify에 λŒ€ν•΄ μ•Œκ²Œ λ˜μ—ˆκ³  Sublime Text 3둜 μ„€μ •ν–ˆμŠ΅λ‹ˆλ‹€. 정말 μ’‹μ•„μš”!! 그리고 λ‚˜ μ—­μ‹œ 이것을 λ°œκ²¬ν•˜κ³  웹을 κ²€μƒ‰ν•˜κ³  이 토둠을 μ°Ύμ•˜μŠ΅λ‹ˆλ‹€. 1.5.2에 λ‚˜μ˜¨λ‹€λ‹ˆ λ‹€ν–‰μž…λ‹ˆλ‹€.

1.5.2에 λŒ€ν•œ λ§ˆμ§€λ§‰ λŒ“κΈ€ 이후 거의 5κ°œμ›”μ΄ μ§€λ‚¬μŠ΅λ‹ˆλ‹€... ETAλŠ” λ¬΄μ—‡μΈκ°€μš”? var obj = { one: property }κ°€ ν•œ 쀄에 λ¨Έλ¬ΌκΈ°λ₯Ό μ›ν•©λ‹ˆλ‹€ :) :)

ETAλŠ” λˆ„κ΅°κ°€κ°€ 그것을 ν•  λ•Œμž…λ‹ˆλ‹€. 그것은 μ•„λ§ˆλ„ λ‹€μŒ 달에 λ‚΄κ°€ 될 κ²ƒμž…λ‹ˆλ‹€.

μ—„μ²­λ‚œ!!! μ•Œμ•„λ‘λ©΄ 쒋은

2014λ…„ 9μ›” 17일 μ˜€ν›„ 11μ‹œ 49뢄에 Liam Newman [email protected] 이 λ‹€μŒκ³Ό 같이 μΌμŠ΅λ‹ˆλ‹€.

ETAλŠ” λˆ„κ΅°κ°€κ°€ 그것을 ν•  λ•Œμž…λ‹ˆλ‹€. 그것은 μ•„λ§ˆλ„ λ‹€μŒ 달에 λ‚΄κ°€ 될 κ²ƒμž…λ‹ˆλ‹€.

β€”
이 이메일에 직접 νšŒμ‹ ν•˜κ±°λ‚˜ GitHubμ—μ„œ ν™•μΈν•˜μ„Έμš”.

이것을 v1.6.0으둜 ν‘Έμ‹œν•΄μ•Ό ν•©λ‹ˆλ‹€.

λ‚˜λŠ” 이 κΈ°λŠ₯을 ν™œμ„±ν™”ν•˜κΈ° μœ„ν•΄ μƒλ‹Ήν•œ μž‘μ—…(#530에 언급됨)을 μˆ˜ν–‰ν–ˆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ 이 λ¦΄λ¦¬μŠ€μ— ν¬ν•¨μ‹œν‚€λŠ” 것은 μ†”μ§νžˆ μ—¬μ „νžˆ 큰 μΌμž…λ‹ˆλ‹€.

와...

ECMA 슀크립트 μ‚¬μ–‘μ˜ 일뢀λ₯Ό 읽고 githubμ—μ„œ 버그λ₯Ό μ—½λ‹ˆλ‹€.
κ±°λŒ€ν•΄ 보인닀!

운 μ’‹κ²Œλ„ λ‚΄ μ‚¬μš© μ‚¬λ‘€μ—μ„œλŠ” 일반적으둜 νŒŒμΌλ‹Ή ν•œ 번만 JSλ₯Ό μ•„λ¦„λ‹΅κ²Œ ν•˜λ©΄ λ©λ‹ˆλ‹€.

두 번째 κ°„λ‹¨ν•œ μ •κ·œμ‹ μ°ΎκΈ° 및 λ°”κΎΈκΈ° νŒ¨ν„΄μ„ λ§Œλ“€μ—ˆμŠ΅λ‹ˆλ‹€.
λ‚΄ νŒŒμΌμ„ μ €μž₯ν•  λ•Œ μ‹€ν–‰ν•˜κ³  일반적으둜 λ‹€μ‹œ beautifyλ₯Ό μ‹€ν–‰ν•  ν•„μš”κ°€ μ—†μŠ΅λ‹ˆλ‹€.
그 파일.

λ‚΄κ°€ ν•˜λŠ” 경우 μ–΄λ–€ 이유둜 μˆ˜λ™μœΌλ‘œ λͺ‡ 초만 더
λŠμ–΄μ§„ ν•œ 쀄 if λ˜λŠ” 객체 λ¦¬ν„°λŸ΄μ„ λ‹€μ‹œ ν•œ μ€„λ‘œ λ³΅μ›ν•©λ‹ˆλ‹€. (μ•„λ‹ˆ λ‚œ
μ •κ·œμ‹ μ°ΎκΈ° + λŒ€μ²΄κ°€ μ—†μŠ΅λ‹ˆλ‹€. lol)

2014λ…„ 9μ›” 28일 μΌμš”μΌμ— Liam Newman [email protected] 은 λ‹€μŒκ³Ό 같이 μΌμŠ΅λ‹ˆλ‹€.

이것을 v1.6.0으둜 ν‘Έμ‹œν•΄μ•Ό ν•©λ‹ˆλ‹€.

λ‚˜λŠ” μƒλ‹Ήν•œ 일을 ν–ˆμŠ΅λ‹ˆλ‹€(#530
https://github.com/beautify-web/js-beautify/pull/530) ν™œμ„±ν™”
이 κΈ°λŠ₯. ν•˜μ§€λ§Œ μ†”μ§νžˆ λ§ν•΄μ„œ 그것을 λ§Œλ“œλŠ” 것은 μ—¬μ „νžˆ ​​큰 μ‚¬μ—…μž…λ‹ˆλ‹€.
이 릴리슀.

β€”
이 이메일에 직접 λ‹΅μž₯ν•˜κ±°λ‚˜ GitHubμ—μ„œ ν™•μΈν•˜μ„Έμš”.
https://github.com/beautify-web/js-beautify/issues/315#issuecomment -57132532
.

:+1: 이 κΈ°λŠ₯이 맀우 κΈ°λŒ€λ©λ‹ˆλ‹€ :)

+1 μ‚¬μš©ν•  수 있기λ₯Ό λ°”λžλ‹ˆλ‹€!

+1 - μ €μž₯ μ‹œ μ–΄λ””μ—μ„œλ‚˜ μ•„λ¦„λ‹΅κ²Œ ν•  수 μžˆλ„λ‘ ν•„μš”ν•©λ‹ˆλ‹€.

+1

:+1:

+1 - 이 λ•Œλ¬Έμ— 사전 μ €μž₯κ³Ό ν•¨κ»˜ μ‚¬μš©ν•˜μ§€ μ•ŠμŒ

:+1:

λ˜ν•œ Escodegen은 이 μž‘μ—…μ„ μ˜¬λ°”λ₯΄κ²Œ μˆ˜ν–‰ν•©λ‹ˆλ‹€. μ½”λ“œκ°€ 영감의 μ›μ²œμ΄ 될 수 μžˆμŠ΅λ‹ˆλ‹€.

var esprima = require("esprima"),
    esgen = require("escodegen").generate;

console.log(esgen(esprima.parse("var a = {code: 'code'}")));
console.log(esgen(esprima.parse("var a = {code: 'code', more: 'code'}")));

@bitwiseman
이 λ¬Έμ œλŠ” 이 쀑첩에 ν•΄λ‹Ήν•˜λŠ” μ–Έμ–΄κ°€ λΉ„μ •κ·œμ μ΄κΈ° λ•Œλ¬Έμ— μž„μ˜μ˜ μ–‘μ˜ 쀑첩(예: μ‹€μ œλ‘œ λ§Žμ€ μ–‘μ˜ 쀑첩)에 λŒ€ν•΄ ν•΄κ²°ν•  수 μ—†μ§€λ§Œ μ•„λ§ˆλ„ μ‹€μš©μ μΈ λͺ©μ μ„ μœ„ν•΄ μ œν•œμ„ κ°€μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€(예: μ΅œλŒ€ 레벨-10 쀑첩 λ˜λŠ” 합리적인 쀑첩 μ œν•œμ„ κ²°μ •ν•˜κΈ° μœ„ν•΄ 파일 크기 μ‚¬μš©)

이 μš”μ²­μ— λŒ€ν•΄ +1μž…λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄ 이것을 λ‚˜λˆ„κΈ°μ—λŠ” λ„ˆλ¬΄ μž₯ν™©ν•©λ‹ˆλ‹€.

view.on('post', {action: 'removeTask'}, function(next) {

μ—¬λŸ¬ μ€„λ‘œ.

+1

μƒˆλ‘œμš΄ ETAκ°€ μžˆμŠ΅λ‹ˆκΉŒ?

:+1:

μš°λ¦¬λŠ” 이것이 ν•„μš”ν•©λ‹ˆλ‹€!!

:+1:

:+1:

:+1:

+1

이 κΈ°λŠ₯은 κ΅¬ν˜„λ˜μ§€ μ•Šμ•˜μ§€λ§Œ pretty = pretty.replace(/{([^{}]*?)}/g, function(s, p) { return (s.length < 100 && !/;/.test(p)) ? s.replace(/\n\s*/g, ' ') : s }) 와 같은 λ‚΄ μ‹€ν–‰ μŠ€ν¬λ¦½νŠΈμ—μ„œ μ •κ·œμ‹ 을 μ‚¬μš©ν•©λ‹ˆλ‹€.
λˆ„κ΅°κ°€μ—κ²Œ μœ μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

@aves84 μ‹€ν–‰ 이 μ•ˆλ˜λ„€μš”..근데 κ·Έλƒ₯ 기닀리지말고 μ†ŒμŠ€μ½”λ“œμ’€ λ΄μ£Όμ‹œλ©΄ κ°μ‚¬ν•˜κ² μŠ΅λ‹ˆλ‹€ :D

@schoening μ•„λ§ˆλ„ λ‚΄κ°€ ν˜Όλž€μŠ€λŸ½κ²Œ 썼을 κ²ƒμž…λ‹ˆλ‹€. λŒ€μ‹  "λ―Έν™”"κ°€ μ•„λ‹ˆλΌ 라인을 μΆ”κ°€ν•΄μ•Όν•©λ‹ˆλ‹€. 이제 이 νŠΉμ • 슀크립트λ₯Ό λ³€κ²½ν•˜λ €κ³  ν–ˆμŠ΅λ‹ˆλ‹€.

var pretty = beautify[fileType](code, config);
if (fileType == 'js') pretty = pretty.replace(/{([^{}]*?)}/g, function(s, p) {
            return (s.length < 100 && !/;/.test(p)) ? s.replace(/\n\s*/g, ' ') : s
        });

그리고 μ œλŒ€λ‘œ μž‘λ™ν•©λ‹ˆλ‹€.

@aves84 , μ•„λ‹ˆ, μ΄ν•΄ν–ˆμŠ΅λ‹ˆλ‹€. 이해가 λ˜μ—ˆμŠ΅λ‹ˆλ‹€. μ €λŠ” Linux Mintλ₯Ό μ‚¬μš© 쀑이고 이 폴더λ₯Ό 탐색 μ€‘μž…λ‹ˆλ‹€/이 νŒŒμΌμ„ λ³€κ²½ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€:
/home/username/.config/sublime-text-3/Packages/HTML-CSS-JS Prettify/scripts/node_modules/js-beautify/js/lib/cli.js

이 κΈ°λŠ₯ λ³€κ²½:

function makePretty( code, config, outfile, callback ) {
  try {
    var fileType = getOutputType( outfile, config.type );
    var pretty = beautify[ fileType ]( code, config );
    if ( fileType == 'js' ) pretty = pretty.replace( /{([^{}]*?)}/g, function ( s, p ) {
      return ( s.length < 100 && !/;/.test( p ) ) ? s.replace( /\n\s*/g, ' ' ) : s
    } );

    callback( null, pretty, outfile, config );
  } catch ( ex ) {
    callback( ex );
  }

}

그런 λ‹€μŒ 이와 같은 것을 μ‹œλ„ν•˜λ©΄ μ—¬μ „νžˆ 객체가 λΆ„ν• λ©λ‹ˆλ‹€.

var foo = {
  bar: "Hello world!"
};

μ§ˆλ¬Έν•˜μ‹  λͺ¨λ“  λΆ„λ“€κ»˜ μ£„μ†‘ν•©λ‹ˆλ‹€.

@schoening ν™•μž₯ ν”„λ‘œκ·Έλž¨μ€ cli.jsλ₯Ό μ‚¬μš©ν•˜μ§€ μ•Šκ³  require('js-beautify') 자체 파일둜 λŒ€μ²΄ν•  κ°€λŠ₯성이 ν½λ‹ˆλ‹€. λŒ€κ΄„ν˜Έμ—μ„œ ~/.config/Brackets/extensions/user/hirse.beautify/main.jsλ₯Ό λ³€κ²½ν–ˆμŠ΅λ‹ˆλ‹€.
λ˜λŠ” 예λ₯Ό λ“€μ–΄ https://github.com/beautify-web/js-beautify/blob/master/js/lib/beautify.js#L369 λ₯Ό νŽΈμ§‘ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

λ‚˜λŠ” sublime이 파이썬 버전을 μ‚¬μš©ν•œλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€.

@mokkabonna- 따라 λ‹€λ¦…λ‹ˆλ‹€. 일뢀 μˆ­κ³ ν•œ ν”ŒλŸ¬κ·ΈμΈμ€ node.js ν˜ΈμΆœμ„ λž˜ν•‘ν•˜κ³  λ‹€λ₯Έ ν”ŒλŸ¬κ·ΈμΈμ€ python을 직접 μ‚¬μš©ν•©λ‹ˆλ‹€.

:+1: ν”ŒλŸ¬μŠ€μ›ν”ŒλŸ¬μŠ€μ›

+1. ν˜„μž¬λ‘œμ„œλŠ” κ·ΈλŸ¬ν•œ μ˜΅μ…˜μ΄ μžˆμŠ΅λ‹ˆκΉŒ?

:+1: κΈ°λŒ€ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. κ°μ‚¬ν•©λ‹ˆλ‹€.

:+1:

@FrankFang 아직 상λ₯™ν•˜μ§€ μ•Šμ€ 1.6.0으둜 λ‹€μ‹œ ν‘Έμ‹œλ˜μ—ˆμŠ΅λ‹ˆλ‹€.
@aves84 κ·€ν•˜μ˜ νŠΈλ¦­μ€ λ•Œλ•Œλ‘œ κΈ°λŠ₯/for-of-loops/if 문이 쀑단/μΆ•μ†Œλ©λ‹ˆλ‹€.

for (var data of columnData) { ctx.drawImage(data.img, data.options.x, data.options.y) }

img.onerror = function() { reject() }

if (index >= rows.length) { return }

@dani-h κΈ€μŽ„, 이 방법은 이상적이지 μ•Šκ³  짧은 κ°œμ²΄μ™€ μ½”λ“œ λΈ”λ‘μ˜ μ •μ˜μ—μ„œ μ„Έλ―Έμ½œλ‘ μ— μ˜μ‘΄ν•©λ‹ˆλ‹€. μ„Έλ―Έμ½œλ‘ μ΄ μ—†κ³  문자 μˆ˜κ°€ 100개 미만이면 쀄 λ°”κΏˆμ΄ μ œκ±°λ©λ‹ˆλ‹€. μžλ°”μŠ€ν¬λ¦½νŠΈμ˜ μžλ™ μ„Έλ―Έμ½œλ‘  μ‚½μž…μ„ μ‚¬μš©ν•˜λŠ” μ½”λ“œμ—μ„œλ„ 였λ₯˜κ°€ λ°œμƒν•©λ‹ˆλ‹€.

:+1:

:+1: κΈ°λŒ€λ©λ‹ˆλ‹€.

+1 ... λ‚˜λŠ” 이것이 곧 μ μš©λ˜λŠ” 것을 보고 μ‹ΆμŠ΅λ‹ˆλ‹€.

ν˜„μž¬ 이 ν”ŒλŸ¬κ·ΈμΈμ„ μ‚¬μš©ν•  수 μ—†λŠ” μœ μΌν•œ μ΄μœ μž…λ‹ˆλ‹€.

+1

+1

이것에 +1, λ‚΄κ°€ 이것을 μ‚¬μš©ν•˜μ§€ λͺ»ν•˜λ„둝 μ°¨λ‹¨ν•©λ‹ˆλ‹€. 이것을 λΉ„ν™œμ„±ν™”ν•˜λŠ” μ˜΅μ…˜λ„ 도움이 될 κ²ƒμž…λ‹ˆλ‹€!

+1 +1 +1

+1

+1 및 이에 λŒ€ν•œ λͺ¨λ“  λ…Έλ ₯에 κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€!

+1 λ°”λ‘œ μ§€κΈˆ, μ•„λ¦„λ‹΅κ²Œ ν•˜λŠ” 것은 이 문제둜 인해 말 κ·ΈλŒ€λ‘œ λ‚΄ μ½”λ“œλ₯Ό λ”μ°ν•œ μΆ”μ•…ν•œ ν˜Όλž€μœΌλ‘œ 두 배둜 λ§Œλ“­λ‹ˆλ‹€. μ–΄λ–€ μƒν™©μ—μ„œλŠ” μƒλ‹Ήνžˆ 치λͺ…적인 λ²„κ·Έμž…λ‹ˆλ‹€. 특히 js-beautifyλ₯Ό psedo-linter둜 μ‚¬μš©ν•˜κΈ° λ•Œλ¬Έμ—(λ“€μ—¬μ“°κΈ°κ°€ μ˜¬λ°”λ₯΄μ§€ μ•ŠμœΌλ©΄ λŒ€κ΄„ν˜Έλ₯Ό μ–΄λ”˜κ°€μ— λ†“μ³€μŠ΅λ‹ˆλ‹€.) λ‚΄ 근윑 기얡은 λ‚΄ μ•„λ¦„λ‹€μš΄ λ‹¨μœ„ ν…ŒμŠ€νŠΈλ₯Ό λͺ¨λ“  개체 λ¦¬ν„°λŸ΄μ„ μˆ˜μ •ν•˜λŠ” 10λΆ„ μž‘μ—…μœΌλ‘œ λ°”κΏ‰λ‹ˆλ‹€.

js-beautify -pX <filename> | perl -0777 -i -pe 's/\{\s*([^{}]{30,180}?)\s*\}/\{ $1 \}/mg'

이 μ½”λ“œ 쀄은 ν¬ν•¨λœ 블둝 없이 30~180자 길이둜 νŽΌμ³μ§„ ν•­λͺ©μ„ μ ‘μŠ΅λ‹ˆλ‹€. μ•„λ§ˆλ„ μ–΄λ–€ μ‚¬λžŒλ“€μ—κ²ŒλŠ” μœ μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

+1 및 이에 λŒ€ν•œ λͺ¨λ“  λ…Έλ ₯에 κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€!

+1. ν•œ 쀄 λŒ€μ‹  μ„Έ 쀄은 λ„ˆλ¬΄ λ§ŽμŠ΅λ‹ˆλ‹€.

이것이 κ°€λŠ₯ν•˜κΈ°λ₯Ό λ°”λžλ‹ˆλ‹€. :+1:

λ‚˜λ₯Ό λΆˆμΎŒν•˜κ²Œ λ§Œλ“œλŠ” 것은 js-beautify의 μœ μΌν•œ λ™μž‘μž…λ‹ˆλ‹€. :λ•€_λ―Έμ†Œ:

@vekat - λ³΄μ‹œλ‹€μ‹œν”Ό ν˜Όμžκ°€ μ•„λ‹™λ‹ˆλ‹€. :웃닀:

@nels-o - μ™„μ „νžˆ λ‹€λ₯Έ κ²ƒμž…λ‹ˆλ‹€. μ£„μ†‘ν•©λ‹ˆλ‹€. {{ 및 }} $와 같은 ν…œν”Œλ¦Ώ μ€‘κ΄„ν˜ΈλŠ” μžλ°”μŠ€ν¬λ¦½νŠΈ μ€‘κ΄„ν˜Έμ™€ μ™„μ „νžˆ λ‹€λ₯΄κ²Œ ꡬ문 λΆ„μ„λ©λ‹ˆλ‹€. κ²Œλ‹€κ°€ 객체λ₯Ό 인라인할 λ•Œ { a: { b: {} } } } 처럼 보일 κ²ƒμž…λ‹ˆλ‹€.

({{}} 및 {{!}}와 같은 WRT ν…œν”Œλ¦Ώ λΉ„νŠΈ) λ§žμŠ΅λ‹ˆκΉŒ? 슀크립트 νƒœκ·Έμ— 있으면 ν˜•μ‹μ΄ μ§€μ •λœ 것 κ°™μŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

image

prettifierλ₯Ό μ‹€ν–‰ν•˜λ©΄ 이것이 λ©λ‹ˆλ‹€.

image

μ•„ :) 감사 ν•©λ‹ˆλ‹€ @bitwiseman

μ•„λ§ˆλ„ λ‚΄κ°€ λ§ν–ˆμ–΄μ•Ό ν•˜λŠ” 것은 _λ§Œμ•½_ 그것듀이 μ²˜λ¦¬λœλ‹€λ©΄ 그것듀은 μ™„μ „νžˆ λ³„λ„λ‘œ _처리될_ κ²ƒμž…λ‹ˆλ‹€. :슀마일: κ·Έλž˜λ„ λ―Έμ•ˆν•©λ‹ˆλ‹€.

+1. ETA에 λŒ€ν•œ 아이디어가 μžˆμŠ΅λ‹ˆκΉŒ? 이것은 λ‚˜λ₯Ό 맀우 μŠ¬ν”„κ²Œ λ§Œλ“€κ³  μžˆμŠ΅λ‹ˆλ‹€ :(

+1. κ·Έ κΈ°λŠ₯도 μ’‹μ•„μš”! λΆˆν–‰νžˆλ„ μ‹€μ œλ‘œ μ–΄λ–»κ²Œ λ“  λ„μšΈ μ‹œκ°„μ΄ μ—†μŠ΅λ‹ˆλ‹€ :(

+1, 우리 λͺ¨λ‘λŠ” μ—¬μ „νžˆ 참을성 있게 기닀리고 μžˆμŠ΅λ‹ˆλ‹€. 이것은 멋진 μΆ”κ°€κ°€ 될 κ²ƒμž…λ‹ˆλ‹€

λ‚΄κ°€ λ§Œλ“  λ³€κ²½ 사항은 "짧은" 개체λ₯Ό μ‹€μ œλ‘œ μ΄ν•΄ν•˜μ§€ λͺ»ν•©λ‹ˆλ‹€. μž…λ ₯이 μ œκ³΅ν•˜λŠ” 개체 쀑 쀄 λ°”κΏˆμ΄ μ—†λŠ” 개체λ₯Ό λ³΄μ‘΄ν•˜λ €κ³  ν•  λΏμž…λ‹ˆλ‹€. 쀄 λ°”κΏˆμ΄ λ°œμƒν•˜λ©΄ κ°œμ²΄κ°€ "μΆ•μ†Œ" ν˜•μ‹μœΌλ‘œ λ°”λ€λ‹ˆλ‹€. λ”°λΌμ„œ 이것은 μ—¬μ „νžˆ β€‹β€‹λΆˆμ™„μ „ν•œ μ†”λ£¨μ…˜μ΄μ§€λ§Œ κ°œμ„  μ‚¬ν•­μž…λ‹ˆλ‹€.

이것이 λ‚΄κ°€ μ΄ν•΄ν•œ λŒ€λ‘œ μž‘λ™ν•œλ‹€λ©΄ 이미 ν˜„μž¬ 상황에 λŒ€ν•œ μ—„μ²­λ‚œ κ°œμ„ μ΄λΌκ³  μƒκ°ν•©λ‹ˆλ‹€. λŒ€λΆ€λΆ„μ˜ 경우 μ΄κ²ƒμœΌλ‘œ μΆ©λΆ„ν•©λ‹ˆλ‹€.

+1

+1 이것이 곧 μ™„λ£Œλ˜κΈ°λ₯Ό λ°”λžλ‹ˆλ‹€.

@NerdPad - μ™„λ£Œλ˜μ—ˆμŠ΅λ‹ˆλ‹€.

λΈŒλž˜ν‚·κ³Ό ν•¨κ»˜ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆκΉŒ? 였_였

@C-Weinstein-μž…λ ₯ 및 μ›ν•˜λŠ” 좜λ ₯의 μ˜ˆμ™€ ν•¨κ»˜ μƒˆλ‘œμš΄ 문제λ₯Ό μ—΄ β€‹β€‹μˆ˜ μžˆμŠ΅λ‹ˆκΉŒ?

μž‘λ™ν•˜λŠ” 방법을 μ°Ύκ³  μžˆλŠ” λ‚˜μ™€ 같은 μ‚¬λžŒλ“€μ„ μœ„ν•΄: μž‘λ™ ν•˜λ©° .jsbeautifyrc의 μ˜΅μ…˜μœΌλ‘œ ν™œμ„±ν™”ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

   "brace_style": "collapse-preserve-inline"

λΆˆν–‰νžˆλ„, 그것은 μž‘λ™ν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€ :( ν•˜μ§€λ§Œ μ‹œλ„ν•΄ μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€.

@Ceyaje - μ–΄λ–»κ²Œ μž‘λ™ν•˜μ§€ μ•Šμ•˜λ‚˜μš”? μ–΄λ””μ—μ„œ μž‘λ™ν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆκΉŒ? μž…λ ₯κ³Ό 좜λ ₯은 λ¬΄μ—‡μ΄μ—ˆμŠ΅λ‹ˆκΉŒ?

이전 μž…λ ₯

var q = { x: "a", b: "c" }

그것은 "μ•„λ¦„λ‹΅κ²Œ"

var q = {
    x: "a",
    b: "c"
}

@Ceyaje "brace-style" μ˜΅μ…˜μ„ "collapse-preserve-inline"으둜 μ„€μ •ν•΄μ•Ό ν•©λ‹ˆλ‹€.

@aves84 - κ°μ‚¬ν•©λ‹ˆλ‹€! #995μ—μ„œ 계속 λ…Όμ˜ μ€‘μž…λ‹ˆλ‹€.

@aves84 κ·Έλž¬μ–΄μš”. 계속 λ°œμƒν•œλ‹€κ³  ν•΄μ„œ #995λ₯Ό μ—΄μ—ˆλŠ”λ° λŒ€κ΄„ν˜Έλ₯Ό μ‚¬μš©ν•˜κ³  μžˆλŠ”λ° λ‹€λ₯Έ μ½”λ“œμΈμ§€ λͺ°λžμŠ΅λ‹ˆλ‹€.

@Kutsan - μƒˆν˜Έλ₯Ό μ—΄μ–΄μ£Όμ„Έμš”.

atomμ—μ„œ html 파일둜 expand-preserve-inline μ˜΅μ…˜μ„ 찾을 수 μ—†μŠ΅λ‹ˆλ‹€. html 파일과 js 파일 λͺ¨λ‘μ— μžλ°” 슀크립트λ₯Ό μž‘μ„±ν•©λ‹ˆλ‹€.

μ‚¬μš©ν•˜λ €λŠ” μ„€μ •(μ ‘κΈ°, ν™•μž₯ λ“±) 뒀에 "preserve-inline"을 λ°°μΉ˜ν•©λ‹ˆλ‹€.

"brace_style": "μ ‘κΈ°, 인라인 보쑴"

https://i.gyazo.com/2831254cc47d08c879c7d36a7f1a30d0.png

μœ„μ™€ 같은 일이 λ°œμƒν•˜μ§€λ§Œ λ‚΄ μ€‘κ΄„ν˜Έ μŠ€νƒ€μΌμ€ μΆ•μ†Œ 보쑴 μΈλΌμΈμž…λ‹ˆλ‹€. λ‚˜λŠ” 전체 μŠ€λ ˆλ“œλ₯Ό μ½μ—ˆμŠ΅λ‹ˆλ‹€. λ‚˜λŠ” λ‚΄κ°€ 잘λͺ»ν•˜κ³  μžˆλ‹€κ³  μƒκ°ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 만일의 경우λ₯Ό λŒ€λΉ„ν•˜μ—¬ Atom을 이미 λ‹€μ‹œ μ‹œμž‘ν–ˆμŠ΅λ‹ˆλ‹€.

이에 λŒ€ν•œ μ—…λ°μ΄νŠΈκ°€ μžˆμŠ΅λ‹ˆκΉŒ? Collapse-preserve-inline은 μ—¬μ „νžˆ β€‹β€‹ν™”μ‚΄ν‘œ κΈ°λŠ₯을 μ—¬λŸ¬ μ€„λ‘œ ν™•μž₯ν•©λ‹ˆλ‹€.

@grandslammer - "ν™”μ‚΄ν‘œ"λΌλŠ” 단어가 ν¬ν•¨λœ λ―Έν•΄κ²° 문제λ₯Ό μ‚΄νŽ΄λ³΄μ„Έμš”. 당신이 λ§ν•˜λŠ” 것을 λ‹€λ£¨λŠ” μ΄μŠˆκ°€ 보이지 μ•ŠλŠ”λ‹€λ©΄, μƒˆλ‘œμš΄ 이슈λ₯Ό μ—΄μ–΄μ£Όμ„Έμš”.

μ£„μ†‘ν•©λ‹ˆλ‹€: μ›λž˜ μ£Όμ œλŠ” "ν•œ 쀄 #315μ—μ„œ "짧은 개체"λ₯Ό λ³΄μ‘΄ν•˜κ±°λ‚˜ μΈλΌμΈν•˜λŠ” μ˜΅μ…˜μž…λ‹ˆκΉŒ?
이 토둠은 μ—¬λŸ¬ 가지 λ°©λ²•μœΌλ‘œ ν‘œλ₯˜ν–ˆμŠ΅λ‹ˆλ‹€. λˆ„κ°€ μš”μ²­ν•œ ν˜•μ‹μ„ λ‹¬μ„±ν•˜κΈ° μœ„ν•΄ μ΅œμ‹  λ²„μ „μ˜ js-beautify에 λŒ€ν•œ μ˜¬λ°”λ₯Έ 섀정을 가리킬 수 μžˆμŠ΅λ‹ˆκΉŒ? κ°μ‚¬ν•©λ‹ˆλ‹€

@ainthek "brace_style": "collapse,preserve-inline" μž…λ‹ˆλ‹€.

이 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ vs code μ΅œμ‹  λ²„μ „μ˜ 섀정은 μ–΄λ–»μŠ΅λ‹ˆκΉŒ?

λŒ€ μ½”λ“œ 1.20.1μ—μ„œ "brace_style": "expand,preserve-inline" μŠ€νƒ€μΌμ„ μ‚¬μš©ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

μž…λ ₯:

μƒμˆ˜
 {
 λŒ€ν™”
 } = μš”κ΅¬("μ „μž").원격;

좜λ ₯(이 μ˜μ—­μ„ μ„ νƒν•˜κ³  F1 ---> Beautify Selection을 ν΄λ¦­ν•œ ν›„) : NO CHANGE :(

μ˜ˆμƒ 좜λ ₯: const {dialog} = require("electron").remote;

PS ----> 전체 νŒŒμΌμ„ μ•„λ¦„λ‹΅κ²Œ μ²˜λ¦¬ν•œ ν›„ μ™œκ³‘λœ μž…λ ₯을 μ–»μ—ˆμŠ΅λ‹ˆλ‹€. 아무도 그런 μ™œκ³‘λœ λ°©μ‹μœΌλ‘œ μ½”λ“œλ₯Ό μž‘μ„±ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€ :P

vscode의 경우 μ‚¬μš©μž 섀정에 μ•„λž˜λ₯Ό μΆ”κ°€ν•˜λ©΄ μ €μ—κ²Œ νš¨κ³Όμ μ΄μ—ˆμŠ΅λ‹ˆλ‹€.
"beautify.config": { "brace_style": "μ ‘κΈ°, 인라인 보쑴" }

지원해 μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€.

@sulkhanp - λ™μž‘μ„ μ„€λͺ…ν•˜λŠ” 문제λ₯Ό μ œμΆœν•˜μ„Έμš”.

@vipingoel 의 μ†”λ£¨μ…˜μ΄ μž‘λ™ν•©λ‹ˆλ‹€!
이 μ˜΅μ…˜μ΄ λ‚΄ .jsbeautifyrc 파일이 μ•„λ‹Œ vscode μ‚¬μš©μž κΈ°λ³Έ μ„€μ •μ—μ„œλ§Œ μž‘λ™ν•˜λŠ” μ΄μœ λŠ” λ¬΄μ—‡μž…λ‹ˆκΉŒ?

"brace_style": "ν™•μž₯, 인라인 보쑴"이 μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

행동을 κΈ°λŒ€ν•˜μ‹­μ‹œμ˜€:

  let $w = $(window),  w = $w.width(),  h = $w.height();
  constructor()
  {
    this.setupData(); this.setupMenus(); this.setupUser(); this.setupUI();
  }

ν˜„μž¬ 행동:

    let $w = $(window),
      w = $w.width(),
      h = $w.height();

  constructor()
  {
    this.setupData();
    this.setupMenus();
    this.setupUser();
    this.setupUI();
  }

@SiJinmin 이것듀은 짧은 κ°œμ²΄κ°€ μ•„λ‹ˆλ―€λ‘œ 이 λ¬Έμ œμ™€ 관련이 μ—†μŠ΅λ‹ˆλ‹€.

@vipingoel μž‘λ™ν•©λ‹ˆλ‹€. λ‚˜λŠ” 정말 ν–‰λ³΅ν•˜λ‹€. 감사 ν•΄μš”!!!

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰