adobe/bracketsの拡張機能開発のドキュメント 「How to Hack on Brackets」「Bracketでハックする方法」の翻訳です。
このページは、主に中心的なBracketコードを変更することについて書かれています。 あなたが、新しい機能を追加している場合、その代わりに、拡張機能を記述する(原文リンク)ことについて考えてみてください。
あなたが、pull リクエストを送信することに興味を持っている場合、最も重要なことは、コードを投稿するためのガイドライン(原文リンク)をチェックすることです。
クイックスタート
Quick Start
要件
Requirements
- 最新のBracketsインストーラをビルド(原文リンク)します。(あるいは、あなたが、その代わりに、あなた自身の固有の小さな塊を構築したい場合、下記(原文リンク)を参照してください。)
- Gitコマンドライン・ツール-GitHub(原文リンク)、あるいは、ここ(原文リンク)にあるダウンロードの設定の説明に従ってください。
- NodeJSが、インストールされます。(https://nodejs.org/en/download/current/)
あなたの開発環境を設定する
Setting up your dev environment
- 最新のBracketsビルドをインストールします。(これは、あなたに、あなたが、手順6で使用する固有のシェル・バイナリを与えます)
- bracketsリポジトリ(原文リンク)をフォークします。
- リポジトリのあなたのフォークのクローンをつくります。:git clone https://github.com/
/brackets.git - サブモジュールをフェッチします:cd brackets、そして、git submodule update --init
- npmの依存関係をインストールします。:npm install
- 「upstream」リモートを追加します。:git remote add upstream https://github.com/adobe/brackets.git
- setup_for_hackingスクリプトを実行します。:
Mac | tools/setup_for_hacking.sh "/Applications/Brackets.app" |
---|---|
Windows | tools\setup_for_hacking.bat "C:\Program Files (x86)\Brackets" (MUST be run in a Command Prompt started with "Run as Administrator") |
Linux | sudo tools/setup_for_hacking.sh "/opt/brackets" |
次に、あなたが、Bracketsアプリケーションを起動するとき、インストーラで配布された元のソース・コードよりはむしろ、それは、ソース・コードのあなたのGitコピーを読み込むでしょう。 正規のインストールされたビルドを使用するために、それは、インストールされた拡張機能の同じ環境設定と設定を共有するでしょう。
変更することは簡単です。:
- ソース・コードを編集して、あなたの変更を保存します。(あなたは、Bracketsで、これを行うことができます)
- Bracketを再読み込みするために、Debug > Reload With Extensionsを選択します。そして、変更を取り上げます。ビルド手順は、必要でありません。
さらに詳細な手順については、下記の「Getting a Copy of the Code」(原文リンク)を参照してください。
インストーラを実行すること無しで、ネイティブ・コード上でのハッキング、あるいは、あなた自身で、アプリケーション・バイナリを構築するのために、下記の「Hacking on brackets-shell」(原文リンク)を参照してください。
Bracketsコードを学ぶ
Learning the Brackets code
- APIドキュメント:http://brackets.io/docs/current(また、JSDocコメントとして、コードの行の中で)
- Bracketsをデバッグするために、開発ツールを使用します(原文リンク)
- 中心的なAPIとアーキテクチャの概要(原文リンク)
- 一般的なAPIを使用する方法(原文リンク)
pull リクエストを送信する
Submitting a pull request
- あなたのローカルコピーのソースが最新であることを確認してください。:git fetch upstream && git merge upstream/master
- サブモジュールが最新であることを確認してください。:git submodule sync and git submodule update --init
- feature/bugfixブランチを作成してください。:git checkout -b
- Bracketsをハックします!
- あなたの変更を確定します。:git commit -am "Your commit message here"
- 単体テストを実行します。
- リポジトリのあなたのフォークに、変更をプッシュします。:git push origin
- pull リクエストのチェックリスト(原文リンク)を確認してください。 そして、投稿者ライセンス契約(CLA)(原文リンク)にサインしてください。 (また、コードに投稿するための総合的なガイドライン(原文リンク)を参照してください)
- GitHub上で、説明的なタイトル、そして、あなたが修正した、いずれかの関連したバグへのリンクが含まれるpull リクエストを送信します。
はじめに
Getting Started
Bracketsは、まず、HTML/JS/CSSが組み込まれていますが、それは現在、bracketsシェル(原文リンク)と呼ばれるデスクトップ・アプリケーションの薄いネイティブ・アプリケーション・シェルの内側で、実行されているCEF(原文リンク)に基づいています。 それは、それをローカルファイルにアクセスさせます。(まだ、それは、ブラウザで実行されません。しかし、私たちは、すぐにブラウザ・バージョン上で動作することを望んでいます)
HTML/JS/CSSファイルは、bracketsシェルと一緒にインストールされますが、あなたは、これらのファイルの開発コピーを別々に設定することができます。そして、その次に、bracketsで、既定でインストールされたコピーのシェルの代わりに、それらを読み込みます。詳細に付いては、「コードのあなたのCopyを実行する(原文リンク)」を参照してください。
BracketsアーキテクチャとAPIでの作業の詳細については、Bracket開発操作手順のヒント(原文リンク)を参照してください。
私は、何をハックする必要がありますか?
What should I hack on?
もちろん、あなたが望むものは何でも!いくつかのアイデアのために、投稿ガイド(原文リンク)を確認してください。
あなたが、小さなバグの修正以外の何かを行うことを計画している場合は、brackets開発のGoogleのグループでディスカッションを開始してください。 あるいは、freenode上の#brackets IRCチャネルで、フィードバックを取得してください。 あなたが、すでに取り組んでいることについて、いくつかの従来の考え方、あるいは、それが、まだ、行われていない何らかの理由があるかもしれません。 私たちは、あなたに多くの作業を望みません。そして、その次に、ほんの一部を書き換える必要があります。
プロセスとは何ですか?
What's the process?
まず、Brackets投稿ライセンス契約(CLA)(原文リンク)に署名します。 これはあなたの保護だけでなく、Bracketsプロジェクトのためのものです。
続いて、bracketsやbracketsシェルのあなた独自のフォークから、pull リクエストとして、変更を送信するだけです。 中心的な開発チームは、2.5週間、全力疾走で作業します。(怪しい長さですが、それは、私たちのための作業です) 私たちは、現在の全力競走で、すばやく小さなpull リクエストを確認しようとします。 より大規模な提案では、さらに時間がかかるかもしれませんが、前もって、それらについて説明すると、工程がスムーズに進行します!
あなたが、pull リクエストを送信する前に、それが、マスターに結合されていることを確認してください。 そして、pull リクエストのチェックリスト(原文リンク)に説明してあるように、完全に、検証してください。
詳細に付いては、pull リクエストは、どのようにチェックされるか(原文リンク)を、お読みください。
コードのコピーを手に入れる
Getting a Copy of the Code
備考
ソースのコピーを取得するために、GitHubの「ZIP」を使用しないでください。自動生成のzipファイルは、重要な依存関係を省略してしまいます。
新たにGitするために、これらすべてのGitスタッフが怖いと思う場合、GitHubのGitチュートリアル(原文リンク)やPro Git本(原文リンク)を確認してください。
最初の段階は、GitHub上でリポジトリをフォークすることです。このように、あなたは、ローカル・リポジトリーで変更し始めることができます。 Bracketsの大部分を構成するHTML/JS/CSSコードのため、あなたは、bracketsリポジトリ(原文リンク)をフォークするだけです。 (同様に、あなたが、ネイティブ・コード上で動作させたい場合、下記の「Hacking on brackets-shell(原文リンク)」を参照してください) リポジトリをフォークするために、単純に、ページの一番上にある「Fork」ボタンをクリックします。
次に、あなたのローカルマシンに、リポジトリーを引き出します。
git clone https://github.com//brackets.git
cd brackets
git submodule update --init
最終行をスキップしないでください!Bracketsは、サードパーティ製の依存関係のためのサブモジュールを使用しています。 (CodeMirror(原文リンク)のように)、それで、それは、あなたが、それらを設定するために、このコマンドを実行するまで動作しません。
コードのコピーを実行する
Running Your Copy of the Code
あなたが、HTML/JS/CSSファイルだけをハッキングしている場合、あなたは、HTML/JS/CSS codeのローカルコピーを実行する、Bracketsシェルをインストールすることができます。 (既定でインストールされたコピーの代わりに)tools/setup_for_hackingスクリプトを実行することによって、方法は、次のとおりです。:
- 最新のBracketsの全力疾走ビルド(原文リンク)をダウンロードして、インストールします。
- bracketsリポジトリをフォーク、そして、クローンを作成するために、上記の「Getting a Copy of the Code(原文リンク)」に従ってください。
Macの上で:
- ターミナルのウィンドウを開きます。
- あなたのbracketsリポジトリのルートに、ディレクトリを移動します。
- tools/setup_for_hacking.shを実行します。あなたのインストールされたBrackets.appにフルパス名を渡します。例えば、 tools/setup_for_hacking.sh "/Applications/Brackets.app"
Windowsでは、
- 「管理者として実行」を使用して、コマンドのプロンプトを開きます。
- あなたのbracketsリポジトリのルートに、ディレクトリを移動します。
- tools\setup_for_hacking.batを実行します。Brackets.exeが、インストールされるディレクトリの全てのパスを渡します。例えば、 tools\setup_for_hacking.bat "C:\Program Files (x86)\Brackets"
- Bracketsのインストールされたコピーを起動します。Help > Aboutを選択します。そして、バージョン番号には「sprint xx 実験ビルド」の代わりに「sprint xx 開発ビルド」と書かれていることを確認します。これは、インストールされたビルドの代わりにGitリポジトリから、あなたが実行しているBracketsを示しています。
あなたのbracketsリポジトリからtools/restore_installed_build.sh (Mac)、あるいは、tools\restore_installed_build.bat (Windows)を実行することで、あなたは、いつでもBracketsソースのインストールされたバージョンを実行するために、戻ることができます。
一旦、あなたが設定すると、Bracketsは、それが開始するたびに、コードに最新の変更を取り出します。 ビルド手順は、必要でありません。(Gruntスクリプトは、最終版のリリース・ビルド(原文リンク)を作成するためだけに使用されます)
メイン・リポジトリーから更新を取得する
Getting Updates from the Main Repository
あなたのpull リクエストが最新のBracketsビルドと一致することを確認するために、メインBracketsリポジトリーを最新の状態を維持することが、重要です。 まず、あなたは、まず、GitHub上で、メインBracketsリポジトリーを追跡するために、Bracketsのローカル・クローンを結合する必要があります。 bracketsディレクトリから、このコマンドを実行します。:
cd brackets
git remote add upstream https://github.com/adobe/brackets.git
あなたのリポジトリは、現在2つの「remotes」を持つことになります。: 一次側がオリジナルの公式のbracketsリポジトリを参照している間、原点は、GitHub上のあなたのフォークを参照します。
あなたが、マスター以外の分岐を取得することを避けたい場合、あなたは、addの後、--track master引数を追加することができます。 しかしながら、それは、あなたが、異なる分岐を引き出す必要がある場合、あなたが、明示的に、それをフェッチする必要があることを示すでしょう。
最新の変更を取得する
Getting the latest changes
Bracketsマスターの分岐に関する最新の変更を取得する、2段階の工程です。まず、上流のGitを取り込みます。
git fetch upstream
これは、何らかの新しい確定をあなたのリポジトリに導入しますが、実際に、あなたの分岐を更新しません。次に、あなたの現在のローカル分岐を更新します。:
git merge upstream/master
これは、メインBracketsリポジトリーから変更を、ローカルで確認したあなたが現在持っている分岐に結合します。 (複数のローカル分岐を更新するには、あなたは、Gitを、それぞれ順番に確認する、そして、margeコマンドを繰り返す必要があるでしょう)。
また、あなたは、「Fetching submodule」と呼ばれるGitの出力を取り出す場合、 あるいは、Gitの状態が、サードパーティ製のライブラリで予想外の差分を表示する場合、 この点で、サブモジュールを更新するGitを実行する必要があるかもしれません。
まれに、全体の新しいサブモジュールは、Bracketsに追加されます。それが生じるとき、あなたは、git submodule update --initを実行する必要があります。
私は、どんな変更が得られますか?
What changes did I get?
高レベルの概要のために、(APIの重要な変更が呼び出されます)、各々の全力競走の後、リリースノートを確認します。
bracketsシェル更新
Brackets-shell Updates
また、あなたが、bracketsシェル・リポジトリーをフォークする場合、上記のbracketsシェル・リポジトリのための手順を繰り返します。 続いて、一旦、あなたが、更新を引き出す場合、シェルを作り直します。
あなたが、bracketsシェル・リポジトリをフォークしない場合、(すなわち、あなたは、上で、『setup_for_hacking』手順を使用しています)、 あなたは、それぞれの全力疾走のBracketsのインストールされたビルドを更新する必要があります。 そして、『setup_for_hacking』スクリプトを再実行します。これは、あなたが、最新のアプリケーション・バイナリを使用していることを保証します。
コードを投稿する
Contributing Code
開発のための役に立つツール
Useful Tools for Development
あなたが、Bracketsを編集するためにBracketsを使用する場合、あなたは、アプリケーション・メニュー内からDebug > Reload Bracketsを選択することによって、アプリケーションそれ自身を、すばやく再読み込みすることができます。 また、あなたは、開発ツールを使用して、Bracketsをデバッグ(原文リンク)することができますが、 開発ツールが開いている間、作業プロパティの再読み込みを維持するために、必ず、そのリンクで指示されるキャッシュを無効にしてください。
あなたは、私達の単体テスト・スイートを実行する(原文リンク)ために、Debug > Run Testsを使用することができます。
あなたのコードの変更を保存する
Saving Your Code Change
あなたが修正したい問題やあなたが実装したい機能を見つけた場合、最終的に、あなたは、上流のBracketsへ戻って、pull リクエストを送信したいでしょう。 ここに、あなたの変更を系統化する方法があります。このように、それらは、pull リクエストに変更する準備ができています。
まず、あなたが、動作させたい変更するためのマスターの新しい分岐を作成します。 これは、メインのBracketsリポジトリーと一緒に、あなたのマスター分岐の状態を保つことができます。 そして、あなたの変更が、動作しない、あるいは、何かを分割する場合、あなたは、常に、再び、あなたのマスターから開始できます。
git checkout master
git branch mynewfeature
git checkout mynewfeature
それは、mynewfeatureと呼ばれる新しい分岐を作成します。そして、あなたの作業分岐として、それを設定します。あなたが作成するどんな変更も、現在、その分岐に結合されます。 あなたが、その作業をする間、あなたは、まだ、「Getting Updates from the Main Repository」手順の後、Bracketsのマスターと同期して、分岐を維持する必要があります。
次に、先へ進み、いくつかのコードを変更します。あなたの修正を行います。そして、Bracketsのあなたのコピーの中で、それを作業することを確認してください。 いつものように、あなたのコードが、期待されるBracketsの投稿と一致することを保証するために、 投稿するコードためのガイドライン(原文リンク)に従ってください。
次に、それは、あなたの変更をあなたのローカルGitリポジトリに確定するための時間です。
確定するために、変更されたファイルを格納するために、git add
最後の手順は、pull リクエストを送信する前に、あなたのGitHubアカウントに、これらの変更をプッシュすることです。 これまでのところ、変更は、Bracketsリポジトリーのあなたのローカルコピーに格納されるだけです。 BracketsリポジトリのあなたのGitHubフォークが「origin」と呼ばれていることを覚えておいてください。 ...それで、プッシュするために、あなたの変更が使用されます。:
git push origin mynewfeature
そのコマンドは、あなたのGitHub格納されたリポジトリ上の分岐との一致を作成します。 そして、あなたの分岐のコピーをその中に確定します。次に、あなたのコミットは、GitHubサーバに格納され、そして、ローカルではありません。
これは、pull リクエストのチェックリスト(原文リンク)を見直すのによいときです。 あなたのコードが、いずれの単体テストやその他も分割せず、JSLintを渡すことを確認してください。
pull リクエストを送信する
Submitting a Pull Request
次に、あなたは、pull リクエストを送信することができます。BracketsのあなたのフォークのためのGitHubページに移動します。 そして、左上の付近のドロップダウンから、あなたの分岐を選択します。(それには、既定でマスターと書かれています)。 次に、あなたは、その分岐のためのコードを探します。
上部右側のpull リクエスト・ボタンをクリックします。そして、あなたは、pull リクエストの説明をページに導入するでしょう。 あなたが作業していた分岐から、adobe/brackets リポジトリに送信していることを確認してください。
あなたが、あなたが意図する変更だけを送信していることを確認するために、「Commits」と「Files Changed」タブを確認します。 あなたのpull リクエストが、何をするかについて詳細な説明を記述します。そして、関連するすべてのバグへのリンクを含めます。 (「#1234」は、linkを経由して自動的に変更されますが、そのような文字列にすると、 GitHubが、あまりに早くバグを自動的に閉じるため、「fixes #1234」と記述することを避けます)。 続いて、「Send pull request」をクリックします。
あなたのpull リクエストの送信、おめでとうございます。 あなたは、Bracketsが、より良くなることを助けています!何が次に生じるかについて、pull リクエスト・レビュー工程(原文リンク)を読みます。
bracketsシェルのハッキング
Hacking on brackets-shell
Bracketsへのほとんどのあなたの変更のために、あなたは、bracketsリポジトリでHTML/JS/CSSコードだけを編集する必要があります。 あなたは、bracketsシェルのためのソースを必要としないでしょう。 なぜなら、あなたは、あなたの変更したHTML/JS/CSSコードを実行するBracketsインストーラから、構築済みのバイナリを使用することができます。(上の説明(原文リンク)を参照してください)
しかしながら、以下の場合は、bracketsシェルのための開発環境を設定するといいかもしれません。