diff --git a/src/plugins/qmljseditor/qmljseditorplugin.cpp b/src/plugins/qmljseditor/qmljseditorplugin.cpp index 9a427a1b08f..3faeda45126 100644 --- a/src/plugins/qmljseditor/qmljseditorplugin.cpp +++ b/src/plugins/qmljseditor/qmljseditorplugin.cpp @@ -258,10 +258,16 @@ void QmlJSEditorPlugin::reformatFile() return; const QString &newText = QmlJS::reformat(document); - QTextCursor tc(m_currentDocument->document()); - tc.movePosition(QTextCursor::Start); - tc.movePosition(QTextCursor::End, QTextCursor::KeepAnchor); - tc.insertText(newText); + QmlJSEditorWidget *widget = EditorManager::currentEditor() + ? qobject_cast(EditorManager::currentEditor()->widget()) + : nullptr; + if (widget) { + const int position = widget->position(); + m_currentDocument->document()->setPlainText(newText); + widget->setCursorPosition(position); + } else { + m_currentDocument->document()->setPlainText(newText); + } } }