Atom-beautify javascript設定項目

前置き(読み飛ばして問題ありません)

ある日私は、バカみたいに、全ての処理にjqueryAjaxのテンプレを、全てのAPI呼び出しに記述していた。

言い訳ではないが、私が着手するよりより前に、すでにjsファイルはその記述はあふれていた。

使い回す処理も、共通化される事無く、コピペして記述されていて、私は泣きそうだったが、期日に怯え、心が死んでいた。

そんなある日。

他社も見てるリポジトリで何やってくれてんだと、堪え難く思ったであるらしい上司は、せめてajax処理の部分だけでも、共通化するよう私に言い渡した。

さて、上司にプルリクを送る前にコードをフォーマットしなくては・・・

私が、右クリック > Beautify edit content を選択すると、コードは予期しない形に整形された。

Atom-beautifyのjavascriptの設定でできないこと

・ functionの引数にオブジェクトがある場合は、改行はなしにしてほしかったが、そういう設定は無いようだった。

Atom-beautifyのjavascriptの設定でできること

不明のものも多かったのですが、分かるものだけでも例をあげて記載しました。

デフォルト設定

var kobachi.api = {
    ajax: function(url, method, {
        data: data
    }) {
        $.ajax({
            type: method,
            url: apiUrl + url,
            data: data,
            dataType: 'json',
            headers: {
                'X-Requested-With': 'XMLHttpRequest'
            },
            xhrFields: {
                withCredentials: true
            }
        }).done(function(response) {
            return response;
        }).error(function(response) {
            return response;
        });
    }
}

Break chaind methods

チェーンメソッド(done、error)の頭で改行

var kobachi.api = {
    ajax: function(url, method, {
        data: data
    }) {
        $.ajax({
                type: method,
                url: apiUrl + url,
                data: data,
                dataType: 'json',
                headers: {
                    'X-Requested-With': 'XMLHttpRequest'
                },
                xhrFields: {
                    withCredentials: true
                }
            })
            .done(function(response) {
                return response;
            })
            .error(function(response) {
                return response;
            });
    }
}

End With Comma

配列、オブジェクトの文字列、destructuredなオブジェクトに完了のカンマを挿入するべきか?

わからん・・。

End with Newline

つけてもつけなくても変わらない・・・どこ

Eval code

jsでeval()「JSON文字列」を「JavaScriptのオブジェクト」に変えてくれる非推奨のあいつです。

わからないw

Indent char

『半角スペース』 → 『bangher』に変更

var kobachi.api = {
bangherbangherbangherbangherajax: function(url, method, {
bangherbangherbangherbangherbangherbangherbangherbangherdata: data
bangherbangherbangherbangher}) {
bangherbangherbangherbangherbangherbangherbangherbangher$.ajax({
bangherbangherbangherbangherbangherbangherbangherbangherbangherbangherbangherbanghertype: method,
bangherbangherbangherbangherbangherbangherbangherbangherbangherbangherbangherbangherurl: apiUrl + url,
bangherbangherbangherbangherbangherbangherbangherbangherbangherbangherbangherbangherdata: data,
bangherbangherbangherbangherbangherbangherbangherbangherbangherbangherbangherbangherdataType: 'json',
bangherbangherbangherbangherbangherbangherbangherbangherbangherbangherbangherbangherheaders: {
bangherbangherbangherbangherbangherbangherbangherbangherbangherbangherbangherbangherbangherbangherbangherbangher'X-Requested-With': 'XMLHttpRequest'
bangherbangherbangherbangherbangherbangherbangherbangherbangherbangherbangherbangher},
bangherbangherbangherbangherbangherbangherbangherbangherbangherbangherbangherbangherxhrFields: {
bangherbangherbangherbangherbangherbangherbangherbangherbangherbangherbangherbangherbangherbangherbangherbangherwithCredentials: true
bangherbangherbangherbangherbangherbangherbangherbangherbangherbangherbangherbangher}
bangherbangherbangherbangherbangherbangherbangherbangher}).done(function(response) {
bangherbangherbangherbangherbangherbangherbangherbangherbangherbangherbangherbangherreturn response;
bangherbangherbangherbangherbangherbangherbangherbangher}).error(function(response) {
bangherbangherbangherbangherbangherbangherbangherbangherbangherbangherbangherbangherreturn response;
bangherbangherbangherbangherbangherbangherbangherbangher});
bangherbangherbangherbangher}
}

すごいことに

Indet level

0→10に
何も変わらない・・

Indet size

「Indent char」で設定したのを何個入れるか設定できる。
インデントを半角4個から 半角2個にしたいときは『4』から『2』に変更する。

var kobachi.api = {
  ajax: function(url, method, {
    data: data
  }) {
    $.ajax({
      type: method,
      url: apiUrl + url,
      data: data,
      dataType: 'json',
      headers: {
        'X-Requested-With': 'XMLHttpRequest'
      },
      xhrFields: {
        withCredentials: true
      }
    }).done(function(response) {
      return response;
    }).error(function(response) {
      return response;
    });
  }
}

Indet with tabs

インデントをタブにします。
仮にIndent charとIndent sizeが指定してあっても無視します。

Jslint happy

不明

Keep array indentation

通常下記のように整形される配列が整形されなくなります。
見やすいように半角スペースで調整していることもあるからね。

// これが・・・
var array = [
		1,
	2,
	3
];
var array = [
	01,
	02,
	03];

// ・・・こうなるはずが、ならなくなる
var array = [
  1,
  2,
  3
];
var array = [
  01,
  02,
  03
];

Keep function indentation

チェックを付けてもちゃんと整形してくれます。
わかりません!

// これが・・・
	function test(){
	
}

function test2(){

		}
// こうなる
	function test() {

	}

	function test2() {

	}

Max preserve newline

改行だけの行をどこまで許可するかです

// デフォルト
var hoge = "";












var test = "test";

// 5の場合
var hoge = "";




var test = "test";

// 2の場合
var hoge = "";

var test = "test";

Preserve newline

改行のみの行が全て消え失せます。

var hoge = "";
var test = "test";

Space after anon function

anonymous、作者不明・・・無名関数か!!
不明関数の無形関数の親の後にスペース加えてくれます。

// これが・・・
var test = function() {

}

// ・・・こうなる
var test = function () {

}

これ上司に怒られたとこの気がする。チェックしておこう

Space before conditional

Space in paren

パーレンとはこの『()』である

// これが・・・
var test = function (a, b, c, d, e) {

}
// ・・・こうなる!!
var test = function ( a, b, c, d, e ) {

}

Unescape strings

出力可能な文字列をxNN notationでエンコードしてデコードする。

英語わからん

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク