Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

拡張機能に対応する #16

Open
8 tasks
Densyakun opened this issue Nov 12, 2022 · 0 comments
Open
8 tasks

拡張機能に対応する #16

Densyakun opened this issue Nov 12, 2022 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@Densyakun
Copy link
Owner

Densyakun commented Nov 12, 2022

  • 読み込む拡張機能はJSONファイルに記述する
  • 拡張機能(アドオン、Addon)はサーバーが持つ
  • 拡張機能のクライアントサイドはReact関数コンポーネントをindex.tsxなどで読み込む

開発するターゲットに合わせたエディター拡張機能に対応する

  • ファイル、ノード、コンポーネント、アプリ(ディレクトリ)単位で開発するエディターを拡張機能として使う
  • 現在のコードエディターはファイル単位で開発するエディターの一例である
  • 開発するターゲットが、単純なNodeスクリプトなどの場合には、ファイル単位で開発するエディターを開発する
  • 開発するターゲットが、Next.jsアプリなどの場合には、アプリ単位で開発するエディターを開発する
  • ファイルエクスプローラーの追加 #15 で追加したファイルエクスプローラーからファイル、ディレクトリを選択してエディターを開く

npmを使ってインターネットから拡張機能をインストールする

  • /addons/npm iコマンドで拡張機能をインストール
    • 非グローバルインストール
    • /addons/package.jsonでインストールされた拡張機能を管理する
  • //動的に拡張機能を読み込むため、Nodeモジュールをホットリロードに対応する必要がある
  • //error-handled-node-hmrchokidarのようなライブラリを使うか、require、動的インポートなどを使って実装する
  • モジュールのキャッシュを削除する機能を追加する

TODO

  • ローカルファイルから、require関数または動的インポートを使って、拡張機能を動的に読み込む
  • /pages/index.tsx で保持するContextsを、拡張機能から動的に追加できるようにする
  • DirItemMenuItemを、拡張機能から動的に追加できるようにする
  • 現在のコードエディターをプリインストールされた拡張機能の一つとする
  • 拡張機能に「拡張機能を削除する」などの権限の設定を追加する
  • ローカルから読み込む拡張機能を管理するGUIを実装する
  • インターネットから拡張機能をインストールする機能を追加する
  • インターネットからインストールした拡張機能を有効/無効に設定する機能を追加する
@Densyakun Densyakun added the enhancement New feature or request label Nov 12, 2022
@Densyakun Densyakun self-assigned this Nov 12, 2022
@Densyakun Densyakun changed the title 拡張機能の対応 拡張機能に対応する Dec 18, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Todo
Development

No branches or pull requests

1 participant