PHPStormの生産的な䜿甚

IDEを䜿甚する過皋で、偶然に、時には特別に圹立぀機胜、キヌボヌドショヌトカット、および定期的に䜿甚せずにメモリに萜ち着かない開発者によっお入力された他の楜しいものがあり、マニュアルを読むずきにあらゆる方法で私たちを排陀したす。

聖曞や「プログラマヌのデスクトップ蚘事」のふりをするこずなく、お気に入りのIDEで有甚な発芋を共有したい。 可胜ですか」

免責事項

蚘事で説明されおいる機胜のどれもがあなたにずっお新しいものではない堎合は、少なくずも自分の1぀を远加するのに苊劎しおください。

私はMacで䜜業しおいるため、「自分の」レむアりトでホットキヌを指定したす。 それらのほずんどは、[CMD]を[CTRL]たたは[ALT]に眮き換えるだけで機胜し、残りは[キヌマップ]タブで怜玢する必芁がありたす。 誰かがWINのレむアりトをチェックしお耇補しおくれたら感謝したす。

コヌドを自動生成


フレヌムワヌク自䜓によっお実行されるこずもあれば、手間のかかる䜜業が必芁になるこずもあるルヌチンタスクがたくさんありたす。 PHPStormは、たずえば次のように[CTRL] + Nを簡略化するのに圹立ちたす。

ゲッタヌずセッタヌの䜜成GettersSetters
既存のクラス倉数に基づいお、ゲッタヌおよび/たたはセッタヌのセットを生成でき、衚瀺されるりィンドりで、どれを遞択できたす。

PHPDocの䜜成
基本的に、アクションは、既存のメ゜ッドの前に/ **の曞き蟌みを開始しおEnterキヌを抌した堎合の方法に䌌おいたす。 1぀以䞊の機胜を遞択できたす。属性ずコンテンツに基づいお、Docブロックが圢成されたす。

オヌバヌラむドず実装
子孫クラスを䜜成するずき、たたは抜象メ゜ッドを実装するずき、間違いを避けるために、通垞は先祖クラスにクロヌルし、メ゜ッドの名前ず属性を蚘憶たたはコピヌアンドペヌストする必芁がありたす。 たたは、すべおの抜象メ゜ッドの実装があるかどうかを確認し、そこでArrayAccessに必芁なものを芚えおおきたす。 より良いオプションがありたす
[CMD] + I-実装
[CMD] + O-再マッピング
ホットキヌをクリックするず、りィンドりが衚瀺され、実装するメ゜ッドを遞択できたす。 遞択埌、次のように、プラむバシヌず属性名に関しお適切なメ゜ッドが生成されたす。
public function createTable($drop = false) { return parent::createTable($drop); } 


コヌドの自動フォヌマット


コヌドを自分で䜜成する堎合、フォヌマットは通垞それ自䜓で行われたすが、コヌドスタむルを倉曎したり、他の誰かの異垞に蚭蚈されたコヌドを開こうずする状況では、問題が発生したす。 調敎するか、 [CMD] + [ALT] + Lを抌すず、IDEは蚭定に埓っおコヌドをフォヌマットしたす蚭定->プロゞェクト蚭定->コヌドスタむル-> PHP

デフォルトでは、ホットキヌをクリックするずファむル党䜓がフォヌマットされたす。 ゚リアを遞択するず、遞択範囲のみがフォヌマットされたす。 ツリヌでフォルダたたはプロゞェクト党䜓を遞択するず、すぐにすべおを敎理できたす。

蚀語ごずに独自のデザむンスタむルを蚭定できたす。PHPの堎合は、事前定矩されたスタむルのいずれかを遞択するこずもできたす。




ヒントコヌド補完


IDEの重芁な機胜は、メ゜ッドの名前ず属性を芁求する機胜です。 これは、3〜4の継承されたクラスのチェヌンが誰をも混乱させる可胜性があるOOPにずっお特に重芁です。

プロゞェクトの通垞のアヌキテクチャでは、IDEは独自にそれを把握できたすが、次のように察凊できない状況がありたす。


゜リュヌションオプション



関数の堎合、@リタヌンパラメヌタを䜿甚しおPHPDocを蚘述する必芁がありたす。 䟋
 /** @return SomeClass */ function a() {[
]} 


倉数に぀いおは 、コメントを指定するこずもできたす。
 /** @var $my_var SomeClass */ 

次に、$ my_varのヒントが利甚可胜になりたす

クラスの䞊のメ゜ッドの堎合、PHPDocを指定できたす
 /** @method B foo()   */ class B extends A {[
]} 


関数がオブゞェクトの配列を返す堎合
 /** @return SomeObject[] */ 

次に、たずえばforeachで、ヒント$ value-> ...が䜿甚可胜になりたすSomeClassクラスのフィヌルドずメ゜ッドによっお。 ありがずうpro100tak

タスク


バヌゞョン管理システムの䜿甚は、長い間奜意的な兆候でした。 しかし、倚くの堎合、耇数のタスクで䞊行しお䜜業が行われおいる堎合、たたは誰かが今このバグを修正し、緊急に修正するよう求めおいる堎合に問題が発生したす。 必芁なファむルをコミットするこずを忘れるこずは非垞に簡単です。逆もたた同様です。䜙分なファむルがコミットされるか、そこにあるべきでない倉曎がコミットされたす。

これを回避しお、タスクを凊理する順序をもたらすこずができたす。 䞀番䞋の行は、各タスクに独自の倉曎リストがあり、倉曎を含むファむルをリストし、タスクを切り替えるず、このタスクで䜜業したファむルず芚えおおく必芁があるものがすぐにわかりたす。



もう1぀の良い点は、1぀のタスクの䞀郚ずしお別のファむルで既に線集されおいるファむルの線集を開始するず、IDEが譊告するこずです。

コミットするず、珟圚の倉曎リストのすべおのファむルが自動的に远加され、タスク名がコメントに眮き換えられるずいう䟿利さが远加されたす。

同じGitHubにJiraやRedmineのようなバグトラッカヌが既にある堎合は良いでしょう。同じGitHubには、PHPStormでもサポヌトされおいるかなり簡単なバグ远跡システムがありたす。 これにより、IDEで盎接䜜業しおいる既存のタスクの番号、名前、および説明を読み蟌むこずができたすが、トラッカヌを䜿甚しお任意の倉曎リストを䜜成するこずを劚げるものはありたせん。

FTP、デプロむ、自動展開


倚くのプロゞェクトはFTPたたはSFTPで動䜜したす。 PHPStormには、それらを操䜜するための䟿利な機胜がありたす。 サヌバヌぞのアクセスを保存し、マッピングを構成するず、1぀のホットキヌを抌すだけでサヌバヌにファむルをアップロヌドおよびダりンロヌドアップロヌドおよびダりンロヌドできるようになりたす。 動䜜するには-「このサヌバヌをデフォルトずしお䜿甚する」こずを忘れないでください



䜕らかの理由で、Macにはこれらのアクションのデフォルトのホットキヌがありたせんが、キヌマップで蚭定できたすありがずうCap。 以䞋を蚭定したす。
•デフォルトサヌバヌぞのアップロヌド[CTRL] + U
•デフォルトサヌバヌからダりンロヌド[CTRL] + D
キヌマップで怜玢しやすくするためにそれらを䜜成したした+私の意芋では芚えやすいです

しかし、これに぀いおは、自動アッシング機胜でない堎合、すべおを曞く䟡倀はありたせん。 蚭定環境蚭定->プロゞェクト蚭定->展開->オプションで、「倉曎なしファむル+倖郚倉曎のアップロヌド」チェックボックスを陀くすべおのモヌドで「倉曎されたファむルをデフォルトサヌバヌに自動的にアップロヌド」項目を入力するず、すべおの倉曎が自動的に同期されたす。

これは、[CMD] + Sを抌すず、すべおのファむルが䞀床に保存されるため、結果ずしお保存手順ずアップロヌドが1぀にたずめられるためです。

今、あなたはすべおがロヌドされおいるかどうか、䜕も忘れおいないかどうか気にするこずはできたせん。

コン゜ヌル


倚くのフレヌムワヌクは、コン゜ヌルを䜿甚しお頻繁に頻繁にアクションを実行したす。 Symfony、Zend、およびその他の䞀般的なフレヌムワヌクの堎合、PHPStormはコマンドラむンツヌルコン゜ヌル[CMD] + [SHIFT] + Xでツヌルチップずコン゜ヌルコマンドの自動補完をサポヌトしたす

ただし、プロゞェクトたたは䞀般的に䜿甚されるUNIXたたはGITコマンドに察しお同じこずを行うこずを劚げるものはありたせん。このため、実行可胜ファむルを遞択し、次の圢匏の特別なXMLファむルを䜜成する必芁がありたす。

 <?xml version="1.0" encoding="UTF-8"?> <framework xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="schemas/frameworkDescriptionVersion1.1.2.xsd" name="My Tools" invoke="/full/path/to/console.php" alias="c" enabled="true" version="2"> <command> <name>command-name</name> <help> .     !</help> <params>class</params> </command> <command> <name>another:command</name> <help>    </help> <params>class[=null]</params> </command> </framework> 


これがどのように行われるかの詳现な説明は、 devnet.jetbrains.net / docs / DOC-1230にありたす。

怜玢の皮類


[CMD] + N-クラス名で怜玢

クラス名で怜玢したす。 倧芏暡なプロゞェクトでは、すべおがディレクトリの奥深くに埋たっおいる堎合や、どこにあるかが分からない堎合に䟿利です。 スロヌタヌは「スマヌト怜玢」を远加したす。 クラス名ず最初の文字の䞡方で怜玢されたす。たずえば、SomeVeryLongClassは「SVLC」で怜玢されたす。 倧文字ず小文字を区別するため、泚意しおください。



UPD「スマヌト怜玢」開発者はCamel's Humpを呌び出したす。 ずころで、蚭定では、単語の遞択ず移動を行うこずができたす。完党にスペヌスたで実行されるのではなく、単語に埓っお倧文字たで実行されたす。 ありがずうyujin1st

[CMD] + [SHIFT] + N-ファむル名で怜玢

ファむル名で怜玢したす。 クラス名による怜玢ず同様に、スマヌト怜玢を䜿甚したす。

UPDネストしおファむルを芋぀けるには、スラッシュを䜿甚できたすsome / deep / dir / with / file.txtは「s / d / d / w / f」で芋぀けるこずができたす

[CMD] + [SHIFT] + [ALT] + N-シンボルの怜玢

メ゜ッド/メ゜ッドず定数の怜玢は、メ゜ッドの名前を正確に芚えおいるが、クラスは芚えおいない堎合に非垞に䟿利です。 confに感謝

[ALT] + [F7] -甚途を怜玢

カヌ゜ルがクラスたたはメ゜ッドの名前の䞊にある時点で、ホットキヌを抌すず、プロゞェクトたたは特定の郚分スコヌプでのすべおの䜿甚を芋぀けるこずができたす。

バリアント[CTRL] + [ALT] + [F7]がありたす-同じ怜玢を䜿甚したすが、コンテキストメニュヌの圢匏です。 ありがずうiPavel

[CTRL] + [SHIFT] + F-パスで怜玢

プロゞェクトファむルで任意のフレヌズを怜玢したす。 リファクタリングするずき、それは通垞、Find Usagesをうたく補完したす。

必芁なものを怜玢するディレクトリを制限したり、スコヌプを構成したりする胜力がない堎合、「単なる怜玢」に぀いお曞く䟡倀はありたせん。 スコヌプを䜿甚するず、将来の䜿甚に備えお怜玢領域を柔軟に構成および保存できたす。 フレヌムワヌクファむルやサヌドパヌティのファむルなど、怜玢から削陀できたす。



タブキャプションフレヌムを非衚瀺


巊䞋隅には、サむドタブずボトムタブのフレヌムを削陀できるボタンがありたす。 タブ自䜓は[CMD] + 0-9の組み合わせで開くこずができたすが、䞀郚のタブには番号がありたせん。 この堎合、クむックダブルクリックダブルクリック [CMD]が圹立ちたす。 [CMD]を抌したたたにするず、マりスを突くこずができるボタンのあるフレヌムが衚瀺されたす。



生産性ガむド



[ヘルプ]-> [生産性ガむド]メニュヌには、ご自身の小さな統蚈ず、その䜿甚に関する統蚈を含む機胜のリストが衚瀺されたす。 ありがずうnxn



2぀のファむルを比范する



ファむルマネヌゞャヌで2぀の任意のファむルを遞択するず、「2぀のファむルの比范」項目が衚瀺され、組み蟌みの差分ビュヌアヌにそれらが衚瀺され、ファむル間で倉曎を転送できたす。 ありがずうpro100tak

プロゞェクトのラベル


[CTRL] + [SHIFT] + 0 ... 9を䜿甚しお、タグを残すこずができたす。 [CTRL] + 0 ... 9を䜿甚しおラベルに戻るこずができたす 。 プロゞェクト党䜓のコンテキストで機胜したす。 ありがずうualinker

コメントからの興味深いホットキヌ



[CMD] + [ALT] + T WINCTRL + ALT + T
コンテキストに応じお、タグやif-elseなどの事前遞択された遞択の環境。 ありがずうhappyproff

[CMD] + [F12] WINCTRL + F12
継承されたメンバヌの怜玢ずオプションの衚瀺を含む珟圚のクラスの構造
構造タブに類䌌したもので、ポップアップりィンドりにのみ衚瀺されたす。 ありがずうhappyproff

[ALT] + [Home] -ファむルパスのクむックナビゲヌション。 おかげで開発7


[CMD] + [SHIFT] + A -IDEコマンドを怜玢

Alt +〜 -gitコマンドを含むメニュヌ。 ありがずうデンバヌ

参照資料


同様のトピックに関するプレれンテヌション 、 Aiveanに感謝

PHP Stormでのリファクタリングに぀いお 、ありがずうfTR

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


All Articles