В Sublime Text команды могут быть определены для работы на уровне Application
(ApplicationCommand
), уровне Window
(WindowCommand
) или View
уровень (TextCommand
).
Как правило, только TextCommand
s изменяют буфер или настройки, которые влияют только на текущий буфер, WindowCommand
s - текущее расположение окон или другие связанные настройки, ApplicationCommand
s - глобальные настройки и т. Д.
По моему опыту, выполнение WindowCommand
на View
объекте ничего не делает. Пример: * +1022 *
view.run_command('set_layout', {"cells": [[0, 0, 1, 1], [1, 0, 2, 1]], "cols": [0.0, 0.5, 1.0], "rows": [0.0, 1.0]})
Но выполнение TextCommand
на Window
объекте неявно предназначается для текущего активного окна этого окна. При выполнении из консоли ST это повлияет на область ввода текста консоли ST.
window.run_command('insert', { 'characters': 'testing123' })
Таким образом, ответ таков: разница может зависеть от типа команды и от того, является ли View
, для которого вы хотите выполнить команду, активным или нет.
С точки зрения удаленных import
, эффект не действует, так как эти импорты не использовались в плагине.