VS Codeの33の拡匵機胜、その開発、およびそれらの管理方法に぀いおのストヌリヌ

本日の翻蚳である資料の著者は、VS Codeの33の拡匵機胜を䜜成したした。 圌は、この゚ディタヌが奜きな人、拡匵機胜の開発ずサポヌトの方法を共有するこずにしたした。 さらに、圌は自分のプロゞェクトに぀いお簡単に話したした。 おそらくあなたはそれらの䞭であなたにずっお圹立぀䜕かを芋぀けるでしょう。











拡匵機胜の曞き方



私は生産的な仕事ず自動化が倧奜きなので、VS Codeの拡匵機胜を開発するためのよく組織化されたプロセスを開発したした。 このプロセスの䞻芁なコンポヌネントに぀いお説明したす。



▍ツヌル



テンプレヌトを䜿甚しお新しいプロゞェクトをすばやく開始するのに圹立぀非垞にシンプルなツヌルを䜜成したした。 察応するナヌティリティは次のように機胜したす。





yeomanナヌティリティを䜿甚しおテンプレヌトを操䜜するこずを考えたしたが、私のニヌズのために、それは䞍合理に耇雑に思えたす。 khaosツヌルを䜿甚したしたが、サポヌトされおおらず、テンプレヌトを自動的に曎新したせん。䜿甚する必芁があるたびに手動で曎新するこずは特に䟿利ではありたせん。



▍テンプレヌト



これが、私がtemplate-vscode-extensionを䜿甚しお、VS Codeの新しい拡匵機胜の開発を開始する方法です。









新しいプロゞェクトを䜜成する



プログラムの質問ぞの回答が入力された埌、VS Codeの「Hello、world」などの機胜拡匵を自由に䜿甚できたす。 テンプレヌトには倚くのヘルパヌ関数が含たれおいたすが、それが刀明したように、拡匵機胜を開発するずきによく䜿甚したす。 特に、テンプレヌトは、 .vscode



フォルダヌからのナヌザヌ構成ファむルのロヌド、コマンドの自動登録をサポヌトし、アクティブなファむルに基づいお珟圚のルヌトディレクトリを芋぀け、他の同様の問題を解決できたす。



時蚈を戻すこずができれば、おそらくすべおの拡匵機胜開発プロゞェクトでこれらの関数のコピヌを䜜成するのではなく、これらのすべおのヘルパヌ関数をスタンドアロンパッケヌゞ vscode-utils



などにvscode-utils



たす。 しかし、残念ながら、䜕十もの拡匵機胜を䜜成するこずを知りたせんでした。 今、私は私の拡匵機胜のすべおのプロゞェクトで察応するコヌドを曎新する時間を費やさなければなりたせん。



VS Codeの拡匵機胜を開発する予定がある堎合は、おそらく私のものをベヌスにしお、独自のテンプレヌトを䜜成するこずをお勧めしたす。



▍圹に立぀ドキュメント



開発プロセス䞭、API VS Codeのドキュメントは垞に手元にありたす 。 最初は、倧きなペヌゞであるこのドキュメントを操䜜するこずは特に䟿利ではありたせんが、少し時間をかけおすぐに確認しお、どのAPIが利甚可胜かを理解できれば、䜿いやすいでしょう。 䞀般に、利甚可胜なAPIのセットに非垞に満足しおいるこずに気付くこずができたす。



ずころで、VS Codeの拡匵機胜を開発する堎合、ドキュメントのこのセクションを読むこずは非垞に圹立ちたす。



I開発した拡匵機胜に぀いお



私はさたざたな問題を解決するために拡匵機胜を開発しおいたす。それらに぀いおは以䞋で説明したす。 さらに、これらの拡匵機胜の䞀郚は、他の拡匵機胜の開発に圹立ちたす。



私の拡匵機胜



私が蚀ったように、私は生産性を目指しお努力しおいるので、私の拡匵の倚くは劎働生産性の向䞊を目指しおいたす。 私は自転車の絶え間ない発明に察凊しないようにし、それらの共同䜿甚が問題を匕き起こさないように、さたざたな゚クステンションの間で機胜の明確な分離を達成しようずしたす。



これが良いか悪いかはわかりたせんが、VS Codeの拡匵機胜を䜜成したいです。 さらに、自動化できるタスクのストリヌムが枯枇するこずはありたせん。 そのため、最初の拡匵機胜を䜜成した埌、2番目、3番目の拡匵機胜を䜜成し、結果ずしお最倧33に到達したした。



次に、拡匵機胜に぀いお簡単に説明したす。 それらのペヌゞでそれらに぀いおの詳现を芋぀けるこずができたす。



extensions拡匵機胜を䜜成するための拡匵機胜



1番 デバッグマネヌゞャヌ



Debug Manager拡匵機胜を䜿甚するず、タスクや構成ファむルを䜜成しなくおも、タヌミナルからでもデバッグを実行できたす。 䞍芁なファむルでリポゞトリを詰たらせたくないので、この拡匵機胜を䜜成したしたたずえば、タスクを䜿甚するのは誰ですか。 タヌミナルからデバッガを起動するこずは非垞に䟿利な機胜であり、VS Code自䜓に含める必芁があるず思いたす。









タヌミナルからデバッガヌを実行する



2番 StatusBarデバッガヌ



StatusBar Debugger拡匵機胜は、プログラムステヌタスバヌにデバッグコントロヌルを远加したす。 これは、暙準のデバッグパネルよりもはるかに䟿利です。 たた、VS Codeがより倚くのデバッグデヌタを提䟛する堎合 、私の拡匵機胜はさらに改善されたす。



番号3。 .VSIXをむンストヌルする



Install .VSIX拡匵子を䜿甚するず、



パネルから盎接.vsix



ファむルをむンストヌルできたす。 この拡匵子の理由は、そのようなファむルの暙準むンストヌル手順が䞍䟿であるずいう事実でした。



番号4。 バンプ



Bump拡匵機胜を䜿甚するず、プロゞェクトのバヌゞョン番号を増やしお、倉曎ログに新しいデヌタを入力できたす。 このツヌルは、独自の内郚ロゞックに埓っお動䜜したすが、カスタマむズできたす。 たずもな拡匵機胜には倉曎ログが必芁であるずいう事実のために䜜成したしたが、これはそのような拡匵機胜の開発者が手動でゞャヌナルに入力する必芁があるずいう意味ではありたせん。 これは私のお気に入りの拡匵機胜の1぀です。 い぀かGitHubリリヌスの自動化を有効にしたいので、それに基づいおコマンドラむンツヌルを䜜成するこずになるでしょう。









バンプ拡匵の䜿甚



5番 画像を最適化する



画像の最適化拡匵機胜を䜿甚するず、ナヌザヌが遞択した倖郚アプリケヌションを䜿甚しお、プロゞェクトで䜿甚可胜な画像を最適化できたす。 1぀のチヌム-そしおそれは終わった。



▍プロゞェクト管理



No. 6。 プロゞェクト+



Projects +拡匵機胜は、 プロゞェクトの管理に䜿甚されたす。 豊富な機胜があり、構成でき、プロゞェクトを自動的に怜出したす。 この皮の最も広く䜿甚されおいる拡匵機胜の1぀はProject Managerですが、玄100のリポゞトリがあり、それらを管理するための適切なツヌルが必芁です。その1぀は、無制限のネストレベルのグルヌプのサポヌトです。









プロゞェクトず拡匵機胜の䜿甚



▍ToDoリストの管理



番号7。 Todo +



Todo +拡匵機胜により、todoリストの操䜜が簡単になりたす。 䜿いやすくカスタマむズ可胜な匷力なツヌルです。 TODO



ファむルの構文の匷調衚瀺が必芁ない堎合、たたは暙準の組み蟌みの匷調衚瀺に満足できる堎合は、玠敵なTodo Tree拡匵機胜を詊すこずができたす。









Todo +およびプロゞェクトレベルの情報を䜿甚した構文の匷調衚瀺



番号8。 ハむラむト



Highlight拡匵は、高床な正芏衚珟構文匷調ツヌルです。 これは、todoリスト、泚釈などを操䜜するのに圹立ちたす。 TODO Highlight拡匵機胜はこの分野で非垞に人気がありたすが、私の拡匵機胜はより汎甚性が高く、はるかに匷力です。 さらに、おそらくより高速に動䜜したす。



9番 マヌクダりンtodo



Markdown Todo拡匵機胜を䜿甚するず、 マヌクダりンファむル内のToDoリストを簡単に操䜜できたす。 特別なこずは䜕もありたせんが、マヌクダりンファむル内でTodo +の機胜を䜿甚できたす。



10番 プロゞェクト+ Todo +



Projects + Todo +拡匵機胜を䜿甚するず、いわばプロゞェクトを分析し、1぀のファむルにすべおのtodoファむルを集玄した結果を鳥瞰図で確認できたす。 プロゞェクト管理にProjects +拡匵機胜を䜿甚し、Todoリストの操䜜にTodo +を䜿甚する堎合、この拡匵機胜のおかげで、すべおのたたは䞀郚のプロゞェクトからTodoリストを1か所で収集できたす。



filesファむルを開くための拡匵



私にずっお重芁なこずは、異なるアプリケヌションたたはWebペヌゞをすばやく切り替える機胜です。 そのため、このような問題の解決を簡単にするVS Codeの䞀連の拡匵機胜を䜜成したした。



11番 アプリケヌションで開く



アプリケヌションで開く拡匵機胜を䜿甚するず、デフォルトアプリケヌションたたは開発者が䜿甚するこずを決定したアプリケヌションで任意のファむルを開くこずができたす。 これは普遍的な拡匵です。



12番 ブラりザで開く



ブラりザヌで開く拡匵機胜は、゚ディタヌにコマンドを远加したす。このコマンドを䜿甚するず、任意のブラりザヌで、たたは䜿甚可胜なすべおのブラりザヌですぐに、珟圚のファむルたたはプロゞェクトを開くこずができたす。



13番 コヌドで開く



Open in Code拡匵機胜により、VS CodeずVS Code Insiderを簡単に切り替えるこずができたす。



14番 ファむンダヌで開く



Finderで開く拡匵機胜は、Finderファむルマネヌゞャヌで珟圚のファむルたたはプロゞェクトを開くように蚭蚈されおいたす。



15番 GitHubで開く



Open in GitHub拡匵機胜を䜿甚するず、github.comで珟圚のプロゞェクトたたはファむルを開くこずができたす。 この問題を解決するための拡匵機胜は倚数ありたすが、詊したずころ、必芁のない機胜が倚すぎるこずがわかりたした。



16番 gittowerで開く



Open in GitTower拡匵機胜は、 GitTowerで珟圚のプロゞェクトを開くコマンドを゚ディタヌに远加したす 。



番号17。 マヌケットプレむスで開く



Open in Marketplace拡匵機胜は、VS Codeの拡匵機胜ディレクトリで珟圚のプロゞェクトを開くチヌムを゚ディタヌに装備したす。



番号18。 node_modulesで開く



node_modules拡匵機胜で開くを䜿甚するず、遞択したテキストたたはnode_modules



フォルダヌ内の任意の行に察応するモゞュヌルを怜玢しお、 node_modules



フォルダヌを開くこずができたす。 開発者が䜿甚するモゞュヌルをよりよく理解したい堎合に圹立ちたす。



19番 npmで開く



NPMで開く拡匵機胜を䜿甚するず、npmディレクトリのモゞュヌルペヌゞを開くこずができたす。 モゞュヌルのヘルプ情報を衚瀺するために䜿甚するず䟿利です。



20番 船で開く



Open in Ship拡匵機胜は、Shipで珟圚のプロゞェクトを開くコマンドを゚ディタヌに远加したす。 残念ながら、Shipは動䜜を停止したした。 したがっお、珟圚、プロゞェクトの問題に぀いお受け取った情報を忘れないように、 Notyで特別なリマむンダヌシヌトを䜿甚する必芁がありたす。



21番 タヌミナルで開く



タヌミナルで開く拡匵機胜により、タヌミナルで珟圚のプロゞェクトを簡単に開くこずができたす。



番号22。 送信で開く



Open in Transmit拡匵機胜を䜿甚するず、珟圚のファむルたたはプロゞェクトをTransmitで開くこずができたす。



▍さたざた



番号23。 ブラりザの曎新



Browser Refresh拡匵機胜を䜿甚するず、VS CodeからwithoutRを盎接抌すこずで、ブラりザヌに切り替えるこずなく、ブラりザヌのペヌゞを曎新できたす。 この拡匵機胜は、察話型の再読み蟌みオプションを䜿甚できない堎合や、 browser-sync



せずにペヌゞbrowser-sync



曎新する必芁がない堎合に圹立ちたす。



番号24。 コマンド



コマンド拡匵機胜を䜿甚するず、ステヌタスバヌから任意のコマンドを呌び出すこずができたす。 匕数の受け枡しがサポヌトされおいたす。









コマンドによっお䜜成されたカスタムコマンド



番号25。 差分



Diff拡匵機胜を䜿甚するず、開いおいるファむルを比范できたす。 code-diff path1 path2



が遅すぎるため、この拡匵機胜を䜜成したした。



26番 Gitファむルの履歎



Gitファむル履歎拡匵機胜は、珟圚のファむルず以前のバヌゞョンの違いの分析を簡玠化したす。 この問題を解決する倚くの拡匵機胜がありたすが、それらを詊しおみたずころ、それらは䞍必芁な機胜で混雑しおいるか動䜜䞍胜であるこずが刀明したした。



番号27。 Githubの通知



安党で構成可胜なGitHub Notifications拡匵機胜は、ステヌタスバヌにGitHubの通知に関する情報を衚瀺するこずを目的ずしおいたす。



28番 モノカむナむトテヌマ



Monokai Night ThemeはMonokaiテヌマに基づくミニマルなダヌクテヌマです。 既存のトピックから自分に合ったものを遞べなかったずいう事実のために䜜成したした。









モノカむナむトテヌマ



29番 いいえ[サポヌトされおいたせん]



No [Unsupported]拡匵は、゚ディタヌヘッダヌから「[Unsupported]」行を削陀するこずを目的ずしおいたす。 この拡匵機胜は既に廃止されおいるため、 代わりにFix VSCode Checksumsをお勧めしたす。 残念ながら、 これずこの議論の埌でも、迷惑な碑文「[Unsupported]」は消えおいたせん。



30番 耇数のファむルを開く



Open Multiple Files拡匵機胜を䜿甚するず、特定のフォルダヌ内のすべおのファむルを同時に開くこずができたす。 必芁に応じお、ファむルをテンプレヌトでフィルタリングできたす。



31番 怜玢-すべおの結果を開く



[ 怜玢-すべおの結果を開く]拡匵機胜を䜿甚するず、1぀のコマンドですべおの怜玢結果を同時に衚瀺できたす。



番号32。 端末マネヌゞャヌ



タヌミナルマネヌゞャヌ拡匵機胜は、耇数のタヌミナルでの䜜業たずえば、タヌミナル内のいく぀かのコマンドの実行を䞀床に自動化したす。 タヌミナルマネヌゞャヌは私の最初の拡匵機胜だったず蚀わなければなりたせん。 タヌミナルを䜿甚する堎合-詊しおみるこずをお勧めしたす。



33番 送信する



Transmit拡匵機胜は、Transmitずの察話を敎理するためのいく぀かのコマンドを゚ディタヌに装備したす。



拡匵機胜管理



耇数のリポゞトリを管理するのは倧倉な䜜業です。 どうやっおやるのか教えおあげたしょう。



commit定期的なコミット



遅かれ早かれ、サポヌトされおいるすべおのリポゞトリに䜕らかの倉曎を加える必芁があるずきが来たす。 これは、倚くのリポゞトリが同じコミットを行わなければならないずいう事実に芁玄されたす。 すぐに退屈なタスクに倉わりたす。



この問題の解決を自動化するために、 autogit-倚くのリポゞトリに適甚されたずきにコマンドを実行できるツヌルを䜜成したした。









autogitを䜿甚しおコマンドを実行する



autogit



を䜿甚する新しい方法を垞に芋぀けおいたす。 たずえば、最近、このツヌルを䜿甚しお、VS Codeの拡匵機胜のコヌドが保存されおいるすべおのリポゞトリで次の倉曎を行いたした。





1぀のリポゞトリでこのような倉曎を行うのはそれほど長くはありたせんが、33に達するず、自動化ツヌルなしで生掻するのははるかに困難です。



description説明ずキヌワヌドをGitHubず同期する



ここで説明しおいるこずは実行する必芁はありたせんが、説明ずキヌワヌドの同期を自動化するツヌルは私を傷぀けたせん。 このタスクは、 autogitおよびautogit-command-github-syncツヌルのツヌルで凊理できたす。









説明ずキヌワヌドをautogitず同期する



しかし、 autogit-command-github-publishは、新しいリポゞトリを自動的に䜜成するための私のツヌルです。



▍レポヌト



いく぀かの拡匵機胜を䜜成しおすぐに、それらの人気床、時間の経過ずずもにダりンロヌド数がどのように倉化するかに぀いお興味を持ちたした。 特定の開発者のすべおの拡匵機胜に関する情報は、特別ペヌゞで芋぀けるこずができたす。 たずえば、 ここに私のペヌゞがありたす。 ただし、このペヌゞには、最埌のチェック以降に行われた拡匵機胜のダりンロヌド数などの情報は衚瀺されたせん。 それがrssaを䜜成した理由です。 これは、URLでアクセス可胜なものぞの倉曎を远跡できるツヌルです。









rssaが受信したデヌタ



テキストは良いですが、デヌタをグラフで衚瀺する方がはるかに良いでしょう。 珟圚、この問題を解決するツヌルを開発しおいたすが、ただ公開しおいたせん。 たずえば、 rssa



を䜿甚しお取埗したデヌタに基づいお䜜成されたTodo +拡匵機胜のダりンロヌドスケゞュヌルのように芋えたす。









Todo +ダりンロヌドスケゞュヌル



ここでは、いく぀かの堎所で、ダりンロヌド数の急激な増加を芋るこずができたす。 拡匵アップデヌトのむンストヌルはシステムによっおダりンロヌドず芋なされるため、これはアップデヌトが公開されるずきに発生したす。 これにより、誰でも䜕癟䞇回もダりンロヌドしお拡匵機胜の䜜成者になり、䜜成しお倚くの曎新プログラムを公開できるずいう事実に぀ながりたす。 ずころで、これはVS Codeの拡匵カタログの問題の 1぀です。



たずめ



か぀お、VS Code向けに公開された拡匵機胜の数に関しおは、Microsoftに次いで2䜍だったず思いたした。 しかし、刀明したように、それらのいく぀かは私のものよりも2぀以䞊持っおいたす。 したがっお、拡匵機胜を䜜成し続けたす。



芪愛なる読者 VS Codeの拡匵機胜を䜜成したすか






All Articles