年末、ターミナルでの vim の使用を 10 年ぶりに VS Code に切り替え、シームレスではないにしても、移行は役に立ちました。 その 統合デバッガー、設定を同期する Web エディター 、はるかかなたの星 ペアプログラミングスキルとGitHub Copilotでオファー効率を高めます。他の場所で一緒に。 そして、それは正確なマイクロソフトのものです! ほとんどの比較的少数のエディターに適用される Tailwind のクラスから CSS へのプレビューを、3rd イベントの拡張機能が処理することを想像するのは大変なことです。
しかし、私は美しいものに関してブログの投稿を書きません.
場合にはあなたは、私が しなかった VS Code について、私が所有しているものを要求しました。フォーマッティングと linting を提供する Ruby 拡張機能の吃音を指摘しました (“diagnostics"、VS Code 用語で)。 ほとんどの Ruby 拡張機能は、この点 (保存のたびに CLI へのシェルアウト全体で) が非常に遅く、特に Bundler または からの gem の読み込みに関して) 構成が混乱します。 PATH
—そして全体として、多くの幻想的なエディターの統合が欠けています (セットバーの商品を提供したり、Issues ogle に入力したりすることに注意してください.
そして、私の最も伝統的な フォーマッタとRuby のリンター は、Ruby のスキルが標準以下であるため、VS Code を他の人に暗示するのは大変でした
その後、過去、ウィル・ラインウェーバーが急襲し、 Accepted にプルーフ・オブ・アイデア言語サーバーを適用し、すべての部分を変更しました.
In case you’私の面倒を見て、人々が「言語サーバー」について噴出したので、残りの年はうなずいていたが、すべてのアメリカ人がかつて何を話していたのか見当がつかなかった t、これは一流の概要です。 彼らはもはやあなたが持っているかもしれないほど洗練されていません.
Accepted Ruby VS Code Extension の機能
Dash は、 から受け入れられた Ruby 拡張機能をセットアップします。 Visual Studio Market、そしてあなたはそれが行うすべてを目の当たりにするでしょう: VS Code に standardrb
で開く実行ファイル LSPサーバーモード VS Code の実装 Formatting API、保存時にコンピュータ化されたレイアウトを有効にします [問題] タブに解析障害、リンター警告、およびフォーマッターを表示しますエラー 現代のファイルのhaかどうかを示すカスタムセットバー商品を追加します合併症
他の何かが調整されるたびに、自動的に再起動します。 Accept Ruby の設定に影響を与えます あなたが受理されたことを報告しないミッションで作業していることを検出した場合、または現代のファイルがあなたによって渡された場合、それ自体を無効にします .traditional.yml 設定ファイル
最も簡単なall:まるで閃光のよう! フラッシュのように切なく。 「どうやってそれはすでにうろついているのですか?」 遅いフォーマッタが必要ない理由
あなたがたまたまこの拡張機能を使ってくれても構いません。 私はあなたが使用する主題がないように注意を集めます、それはフラッシュのようです. フォーマッタの動作が遅く、保存のたびに実行される場合は、オフにします。 すべてのコミットまたは何かよりも早くそれを進めてください。
この拡張機能は、ワークスペースごとに 1 回起動される LSP サーバーのスレッド上のフラッシュのようなもので、すべてのファイルをRuboCop ランナーのメモリ内インスタンス。 リントとフォーマットのアクションの両方が、ゴージャスな詳細であっても、全体としていつの間にかフラッシュのように見える可能性があります。 このスキルを、CLI にシェルアウトして、ファイルが保存されるたびにまったく変わった Ruby ルートと継続的に何百もの同じ gem 依存関係を生成する拡張機能と比較すると、これは になる可能性があります。 何桁も
遅くなります。
ここでの動機は非常によく知られていますが、簡単です。別の何かが、編集者のメモを書き留める能力を低下させます。 file to disk は、ダウンストリームの機器が調整を読み取るのを一時停止します。 (愛して、あなたの Rails 構築サーバーを説明してください!)
私は残りの部分で故障し、 がかかり始めたときにこの拡張機能を提供することにしました複数秒 を使用して、Ruby の詳細を以前に使用していた拡張機能と共に保存します。 タイミングもひどいものでした.重要な供給期限が差し迫っていたので正確で、私の生産性は停止しました. 私はすべての Ruby 拡張機能をオフにしてしまいました。 オートフォーマッタの良いところを
使わないで。 素晴らしい色合いの愛の調整ガイドラインはありませんが、手で入力するのは面倒です。 後の行で書いたものに起因する前の行をバックスペースして再フォーマットする必要はありません。 Accepted を数年間使用した後、私は通常、クラス全体を作成し、既にフォーマットされているクラスを一緒に作成します。
私のワークフローが遅い自動フォーマッタで処理すると見なしたものは次のとおりです: )バグを修復するファイルを配置する インパートタブ 私のブラウザへ
インパートタブ を私のエディタに 比較的少ない解決策を試して、ファイルをもう一度 Impart-tab を私のブラウザに
オンラインページをリロードしてください
- ギャップ ステップ 1 からの私の修正 オンラインページ VS Code がファイルをディスクに書き込む前に、ステップ 3 でオンライン ページをロードしたことをゆっくりと思い出してください。 ステップ 5 ~ 12 が完全に時間の無駄だったという本当の事実を把握してください ステップ 6 で行った被験者の調整を元に戻し、元に戻します
これらはすべて実行の調査にも当てはまります。 私は本当のことを言うと、自分の Impart-R は、そのオープン構成に身をかがめます現代的なテストを実行します。 音声自体がファイルの保存をトリガーしますが、これらの調整がまだディスクに書き込まれていない場合でも、テストを実行することは問題なく開始される可能性があります。 正当化させてください: テスト駆動型の構築は、半分の時間でテスト風を作成すると面白くなくなります.3000ドルのコンピューターの糸ではとにかく失敗し、2KBのファイルを2秒未満で書き留めるのが遅すぎます.
諸君、ここに住むシステムはめったにない.
もしあなたがその信念を失ったらコンピューターは、あなたが組み立てるように指示したことを実行しています。 アプリで予期しないスワップが発生するたびに、自分とコンピューターの間で瞬時に矢継ぎ早に対話することはなくなりました。 変化として、私はまた自分自身と議論していました。 本当のことを言うと、私のコードは事実に基づいていたのかもしれませんが、オンラインページをあまりにもフラッシュのようにロードした糸では機能しませんでした? ほどなくして、注意を怠って故意に減速するのが最も簡単ではないことに気付きました。私は無意味な習慣を確立し、特定の調整を「キャッチ」するためにすべてのテストを 2 回行うようにしました。 私は 2D で自分自身を推測し始め、それらが機能することを保存して検証する前に複数の調整を行いました。 )「フラッシュアンプルのような」から「フラッシュアンプルのようなものではなくなった」というギャップを意図的に越えていない場合、または所有しているがその意味合いが気に入らなくなった場合、この次のフェーズはばかげているように聞こえるかもしれません。 .
これらの拡張機能が私の作業を遅くし始めたので、私はこのアプリを作るのが楽しくなくなりました。 毎週、私は興奮して飛び起き、毎朝それに取り組んでいました。 私は自分がより多くの休憩を取っていることに気づきました。 締め切りに間に合うようにデザインするためにどれだけ有名になるかについて、私は野心的ではなくなりました。 それらを機能させた後、非常に優れた機能を備えた側面を磨き上げたいという願望で、小切手が手渡されるとすぐに git push
だから当然、締め切りを迎えて最初にしたことは以前は、すべてのピースを突き詰めて、この承認済み Ruby 拡張機能を作成することでした。 私は、Ruby を書いているときに、フィードバック ループが遅くなるという形を再び習得したいとは思いません。 他の方もまとめていただけるとありがたいです
拡張機能の設定
これを正確に読むために拡張機能の構成戦略については、申し訳ありません。 本当のことを言うなら README
.𝚆𝚊𝚝𝚌𝚑 𝙽𝙾𝚆 📺