atom-community / atom-community/ide-python
Automatic code formatting duplicates lines and blocks of code
- Vorherrschende Sprache
- JavaScript
- Sterne
- 238
- Forks
- 40
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
There seems to be a bug in automatic code formatting. The bug is triggered by opening the same code file into multiple tabs in separate panes. Having two tabs (of the same file) will cause the bug to occur once, three tabs will cause it to repeat twice, and so on.
I have been using the `ide-python` package only for a couple days, so I don't know about the specifics. This bug is present in both versions `1.9.4` and `1.9.5` at least. I turned off all checkboxes in the module's settings and restarted Atom, but this bug will still persist. I am using the "format on save" option.
Also, the file status is "modified" again after I **save** the file and automatic formatting is applied, so the file has to be manually saved twice. I don't think it should be like this.
### Example 1
**Original code**
```python
def foo():
pass
def bar():
pass
```
**Result after automating formatting**
```python
def foo():
pass
def bar():
pass
pass
```
Here the keyword `pass` is duplicated inside function `bar`.
### Example 2
**Original code**
```python
def foo():
pass
def bar():
pass
```
**Result after automating formatting**
```python
def foo():
pass
def bar():
pass
def bar():
pass
```
Here the whole function block for `bar` is duplicated. Formatting is also messed up.
Beitragsleitfaden
Rechercherichtung
Beginne damit, das Problem in Atom mit ide-python 1.9.4 oder 1.9.5, aktivierter Formatierung beim Speichern und derselben Python-Datei, die in mehreren Bereichen geöffnet ist, zu reproduzieren. Verfolge den Pfad der automatischen Formatierung und des Speicherns, um festzustellen, warum jeder zusätzliche Tab den Inhalt dupliziert; abgeschlossen ist die Untersuchung, wenn die Formatierung beim Speichern keine Zeilen oder Blöcke mehr dupliziert und die Datei nach einem Speichervorgang nicht als geändert markiert bleibt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- javascript, python
- Bereich
- tooling
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100