Android Studio 2024 провела рефакторинг кода и сломала его при копировании файлаAndroid

Форум для тех, кто программирует под Android
Anonymous
Android Studio 2024 провела рефакторинг кода и сломала его при копировании файла

Сообщение Anonymous »

При использовании Android Studio 2024.2.1 и при копировании файла Kotlin из одного проекта (окна) в другой студия выполняет рефакторинг файла.
Например студия пытается заменить мои сравнения foo != null на foo равный null и сломала код. Иногда возникают странные замены, например, super.onNewIntent(intent) в активности заменяет ComponentActivity.onNewIntent(intent).
Это ненормально, и я не уверен, с какой версии это началось, но в более старых версиях этой проблемы не было. Я пытался найти ответ в Google и спросить ChatGPT, но ничего не нашел. Где отключить эту настройку?
UPD. Как воспроизвести?
  • Откройте два экземпляра Android Studio (окна) с разными проектами.
  • Создайте TestActivity в первом проекте:

    Код: Выделить всё

    private var appIntent: Intent? = null
    
    override fun onNewIntent(intent: Intent) {
    super.onNewIntent(intent)
    if(appIntent != null){
    start(intent)
    }
    }
    private fun start(intent: Intent){}
    
  • В окне Android Studio выберите файл TestActivity.kt и скопируйте ctrl+c.

    Вставьте файл (ctrl+v) в папку другого проекта в другом окне Android Studio.
  • В результате я получаю неработающий код:

    Код: Выделить всё

     override fun onNewIntent(intent: Intent) {
    ComponentActivity.onNewIntent(intent)
    if(appIntent equals null){
    start(intent)
    }
    }
    


Подробнее здесь: https://stackoverflow.com/questions/791 ... ing-a-file

Вернуться в «Android»