Atom.io - При нажатии на файл в дереве, почему он больше не переключается на него? - PullRequest
1 голос
/ 02 марта 2020

В итоге я обновил Windows и мне пришлось заново загрузить Atom , однако все мои настройки были перенесены с настройками syn c. Все было хорошо, за исключением того, что что-то не так с обработкой моих файлов, когда я нажимал на них в древовидном представлении.

То, что происходило раньше, было, если я нажимал на файл, он открывался прямо к нему в моем Панель главного окна. Однако теперь, когда я нажимаю на файл, он открывает его в новой вкладке, но не переключается на него. Я должен сделать это вручную.

Я искал везде, но не могу найти решение. Почему он обрабатывает мои файлы таким образом и как я могу вернуть его на go обратно, как это было?

РЕДАКТИРОВАТЬ: МОЕ РЕШЕНИЕ

Заканчивает мой проблема заключалась в пакете пользовательского интерфейса отладки Atom, который вызывал такое поведение. Как только я отключил его, все вернулось к норме.

1 Ответ

1 голос
/ 02 марта 2020

Один щелчок по файлу в древовидном представлении откроет «ожидающую вкладку», на что указывает использование курсива на вкладке. Вкладки, ожидающие рассмотрения, предназначены для предварительного просмотра и будут закрыты, если вы не внесете изменения или не сохраните файл. Если вы хотите отредактировать файл, вам нужно дважды щелкнуть по нему . Я не помню, чтобы более старые версии Atom вели себя по-разному, но я могу ошибаться.

Поскольку Atom может похвастаться тем, что он является «взломанным текстовым редактором», вы можете изменить его поведение по умолчанию с помощью пакетов или Сценарий инициализации (по умолчанию это ~/.atom/init.coffee).

Следующий фрагмент кода CoffeeScript создаст прослушиватель событий для этого поведения:

treeView = document.querySelector('.tree-view')

treeView.addEventListener 'click', ->
  editor = atom.workspace.getActiveTextEditor()
  view = atom.views.getView(editor)

  return view.focus()

Если вы предпочитаете использовать обычный JavaScript, переименуйте или удалите ~/.atom/init.coffee и создайте init.js в том же месте. JavaScript эквивалент вышеупомянутого выглядит следующим образом:

const treeView = document.querySelector('.tree-view');

treeView.addEventListener('click', () => {
  const editor = atom.workspace.getActiveTextEditor();
  const view = atom.views.getView(editor);

  view.focus();
});
...