それはもっと複雑です。これはエディターとは関係ありません。VS Code は優れた選択肢です。
Discourse は、フロントエンドで EmberJS を使用し、ルート、モデル、コントローラー、テンプレートを使用する MVC シングルページアプリです。
テンプレートのみを変更しても、通常は十分ではありません。
EmberJS について読むことをお勧めします。
しかし、例えば、機能がない理由の一部は、コントローラーが異なるためです。
これらは、アプリの JavaScript 部分のこの部分のすべてのコントローラーです。
ここでのわずかな複雑さは、コンポーネントがコントローラーだけでなく、アクションにも応答する場合があることです。
さらに、これらの異なるルートのそれぞれに提示されるモデルについて心配する必要があるかもしれません。
プリフィックス preferences を持つプリファレンス ルートはここにあります。
https://github.com/discourse/discourse/tree/main/app/assets/javascripts/discourse/app/routes
さらに複雑になります。Ember が認識するデータは、ほぼ常にバックエンドによって配信され、バックエンドの Rails ルート、コントローラー(および多くの場合モデル)、およびシリアライザーの影響を受けるためです。 https://guides.rubyonrails.org/ を参照してください。