✨ Placeholder Support
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- swift
- Ambito
- desktop-dev, tooling
Direzione di ricerca
Non è indicato alcun file o test. Inizia tracciando gli attuali punti di integrazione per la modifica del testo, l’evidenziazione della sintassi e LSP, quindi determina dove devono collocarsi il riconoscimento, il rendering, la modifica e la navigazione con Tab/Shift+Tab dei segnaposto. Il lavoro è completo quando i segnaposto sono visivamente distinti, modificabili, navigabili e annidabili, e sono riflessi nello stato dell’editor senza compromettere l’evidenziazione esistente o il comportamento di LSP.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Description
Implement support for placeholders in CodeEdit, similar to Xcode’s <#placeholder#> feature. This would allow developers to insert and cycle through editable placeholders in their code, improving productivity and code clarity during development.
Use Case
This feature would be particularly useful for defining temporary or template-like code constructs, such as:
let <#name#> = <#value#>
Placeholders would:
- Be highlighted visually.
- Be navigable (e.g., via Tab key).
- Allow inline editing to replace the placeholder text.
Expected Behavior
- When a placeholder is inserted (e.g.,
<#placeholder#>), it should: - Appear visually distinct (e.g., highlighted with a subtle background color or outline).
- Be editable directly in the code editor.
- Allow navigation between placeholders using keyboard shortcuts like Tab and Shift+Tab.
- Placeholders should support nested constructs (e.g.,
let <#name#> = <#type#>(<#arguments#>)).
Technical Notes
- Integrate placeholder handling with the current text editing features.
- Consider compatibility with existing syntax highlighting and LSP integration.
Steps to Implement
- Define a syntax for placeholders (e.g.,
<#placeholder#>). - Update the text editor to recognize and render placeholders.
- Add keyboard navigation support for placeholders.
- Ensure placeholder edits are reflected in the editor state.
Additional Context
This feature would align CodeEdit with Xcode’s behavior, making it a more familiar and seamless experience for developers who work on macOS. It also complements other code editing enhancements, such as autocompletion and LSP support.
Screenshots
- Lingua principale
- Swift
- Stelle
- 720
- Fork
- 162
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di CodeEditApp/CodeEditSourceEditor
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
CodeEditApp/CodeEditSourceEditor#377 · 1 commento ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
CodeEditApp/CodeEditSourceEditor#376 · 1 commento ·
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 68/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
CodeEditApp/CodeEditSourceEditor#378 · 1 commento ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 32/100
Tutte le issue di CodeEditApp/CodeEditSourceEditor
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
manaflow-ai/cmux#13763 ·
-
type: feature request
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
googleapis/google-cloud-swift#1036 · 1 commento ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 78/100
wultra/mtoken-sdk-ios#253 ·
-
The correction-threshold rationale says 17 restraint cases collide; the current corpus has 16 Apertaarea:dictation documentation P2
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
uttrflow/uttrflow-swift#1180 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100