✨ Utility: Ports
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 30/100
調査の方向性
まず Utility Area を見つけ、#1798 で導入されたポートフォワーディング機能を確認します。記載されたテーブル、コンテキストメニューのアクション、フィルタリング、フォワーディング状態、エラーを中心に Ports ユーティリティを定義し、ゼロ状態には ContentUnavailableView を使用します。ポートのフォワーディングまたは停止時にユーティリティが更新され、提示された受け入れ基準をサポートすれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Description:
We should add a Ports utility to the Utility Area in CodeEdit that allows users to manage port forwarding within their development environment. This utility will make it easy for users to forward ports, monitor active ports, and configure various port-related settings from within the editor. The functionality will be visually displayed in a table where users can see port numbers, forwarded addresses, and port visibility (private or public). The user will also be able to interact with individual ports through a context menu.
Expected Behavior
- Ports Management Interface:
- A dedicated utility within the Utility Area that lists forwarded ports in a table format.
- The table should include columns for:
- Port number
- Forwarded address
- Port visibility (Private or Public)
- Origin (how the port was forwarded)
- Status (running or stopped)
- Context Menu for Each Port:
- Right-clicking (or Control-clicking) a port should bring up a context menu with the following actions:
- Open in Browser: Opens the forwarded port in the default web browser.
- Preview in Editor: If applicable, open the forwarded address in the editor’s built-in preview.
- Set Port Label: Allows the user to assign a label or name to the port for easier identification.
- Copy Local Address: Copies the local IP/hostname and port to the clipboard.
- Port Visibility: Toggle between Private (accessible only to the local machine) and Public (accessible externally).
- Change Port Protocol: Allow users to change the protocol used for the port (e.g., HTTP, HTTPS).
- Stop Forwarding Port: Stops forwarding the selected port.
- Forward a Port: Manually forward a new port by specifying the port number and address.
- Right-clicking (or Control-clicking) a port should bring up a context menu with the following actions:
- Port Visibility and Protocol:
- Ports can be toggled between Private (only accessible locally) and Public (accessible to other devices).
- Users should be able to modify the protocol for a forwarded port (e.g., switching between HTTP and HTTPS).
- Filter/Search Ports:
- A filter or search input should be provided at the bottom of the table to quickly find ports by number or address.
- Keyboard Shortcuts:
- Consider adding keyboard shortcuts for key actions, such as stopping a port or toggling visibility.
- Error Handling:
- If a port fails to forward or an error occurs during interaction, display a clear error message (e.g., “Port forwarding failed”).
- Gracefully handle cases where a forwarded port is no longer available or conflicts arise.
Acceptance Criteria
- A new Ports Management Utility is available in the Utility Area where users can see and manage their forwarded ports.
- Users can forward new ports, stop forwarding, and toggle visibility between private and public with ease.
- Right-clicking a port shows a context menu with actions like Open in Browser, Preview in Editor, and Change Port Protocol.
- Ports can be filtered or searched for using a filter input in the interface.
- If a forwarded port encounters an error, the system displays a meaningful error message.
- The interface updates dynamically as ports are forwarded or stopped.
Screenshots
[!NOTE]
Please use theContentUnavailableViewfor the zero-state.
Original Issue
I have just built the latest CodeEdit build and used the new feature introduced in #1798, and I noticed that there was no menu to manage open ports. For example, if I ran a web server on http://localhost:3000, an editor like VSCode would show that there is an open port in it's status bar:
What if CodeEdit had open ports in the navigator?
- 主要言語
- Swift
- スター
- 23k
- フォーク
- 1.2k
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
CodeEditApp/CodeEdit のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
CodeEditApp/CodeEdit#2190 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 15/100
CodeEditApp/CodeEdit#2195 · リアクション 9 件 ·
-
enhancement
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
CodeEditApp/CodeEdit#2185 ·
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
CodeEditApp/CodeEdit#2181 ·
-
creashes on startingオープンbug
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
CodeEditApp/CodeEdit#2180 ·
CodeEditApp/CodeEdit の issue をすべて見る
似ている issue
-
Dictated bullet lists keep the recogniser's commas at the end of every line ("- Milk," "- Eggs,")オープンarea:dictation bug good first issue P2
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
uttrflow/uttrflow-swift#1958 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 82/100
521xueweihan/HelloGitHub#3788 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
callstackincubator/appduct#129 ·
メンテナーはふだん 1 日以内に返信
-
clawsweeper:not-repro-on-main impact:ux-friction issue-rating: 🦪 silver shellfish P2
難易度 2/5 1〜3時間 初心者へのやさしさ 64/100
steipete/CodexBar#4040 · コメント 1 件 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 92/100
mozilla-mobile/firefox-ios#35827 ·
メンテナーはふだん 1 日以内に返信