70 lines
5.0 KiB
XML
70 lines
5.0 KiB
XML
<idea-plugin>
|
||
<id>com.example.ssh.remote.plugin</id>
|
||
<name>SSH Remote Sync</name>
|
||
<vendor>Your Name</vendor>
|
||
<description><![CDATA[
|
||
<h2>SSH Remote Sync</h2>
|
||
<p>Работайте с кодом на удалённых серверах так же удобно, как с локальным проектом. Плагин автоматически синхронизирует файлы при сохранении, поддерживает список виртуальных машин и переключение между ними.</p>
|
||
|
||
<h3>Основные возможности</h3>
|
||
<ul>
|
||
<li><b>Менеджер серверов</b> – добавляйте несколько ВМ с адресами, пользователями и паролями. Пароли надёжно хранятся в системном хранилище IDE.</li>
|
||
<li><b>Открытие удалённого проекта</b> – плагин скачивает проект с сервера в локальную папку и открывает его в IDE как обычный проект.</li>
|
||
<li><b>Автосинхронизация при сохранении</b> – каждое нажатие Ctrl+S мгновенно отправляет изменённый файл на сервер.</li>
|
||
<li><b>Обновление с сервера</b> – кнопка Refresh загружает все изменения с сервера, даже если они были сделаны кем-то другим.</li>
|
||
<li><b>Выполнение команд</b> – можно запустить любую команду на привязанном сервере прямо из IDE.</li>
|
||
<li><b>Переключение между серверами</b> – быстрое переключение между проектами разных ВМ без ручного поиска файлов.</li>
|
||
</ul>
|
||
|
||
<h3>Как начать</h3>
|
||
<ol>
|
||
<li>Откройте <b>File → Settings → SSH Remote Project</b> и добавьте сервер (хост, порт, логин, пароль, путь к проекту).</li>
|
||
<li>Выберите <b>Tools → SSH Remote Manager → Switch Remote Server</b> и укажите нужный сервер. Проект откроется в отдельном окне.</li>
|
||
<li>Редактируйте файлы – при сохранении они автоматически уйдут на сервер.</li>
|
||
<li>Чтобы подтянуть изменения с сервера, используйте <b>Tools → SSH Remote Manager → Refresh from Server</b>.</li>
|
||
</ol>
|
||
|
||
<p><i>Плагин работает в Community Edition и совместим с IntelliJ IDEA 2024.1.7 и новее.</i></p>
|
||
]]>
|
||
</description>
|
||
<depends>com.intellij.modules.platform</depends>
|
||
<depends>org.jetbrains.plugins.terminal</depends>
|
||
|
||
<extensions defaultExtensionNs="com.intellij">
|
||
<projectConfigurable instance="com.example.plugin.SshServerConfigurable"
|
||
displayName="SSH Remote Project"/>
|
||
<applicationService serviceImplementation="com.example.plugin.SshServerManager"/>
|
||
<applicationService serviceImplementation="com.example.plugin.ProjectServerMapping"/>
|
||
<projectService serviceImplementation="com.example.plugin.SftpSessionManager"/>
|
||
<postStartupActivity implementation="com.example.plugin.SshSyncStartupActivity"/>
|
||
</extensions>
|
||
|
||
<actions>
|
||
<group id="SshRemote.MainGroup"
|
||
text="SSH Remote Manager"
|
||
description="SSH Remote Project actions"
|
||
popup="true">
|
||
<action id="SshRemote.ConfigureServers"
|
||
class="com.example.plugin.ConnectToRemoteAction"
|
||
text="Configure SSH Servers"
|
||
description="Add or remove remote servers"/>
|
||
<action id="SshRemote.SwitchServer"
|
||
class="com.example.plugin.SwitchServerAction"
|
||
text="Switch Remote Server"
|
||
description="Switch to a different remote server"/>
|
||
<action id="SshRemote.RefreshFromServer"
|
||
class="com.example.plugin.RefreshFromServerAction"
|
||
text="Refresh from Server"
|
||
description="Synchronize local project with the associated remote server"/>
|
||
<action id="SshRemote.RemoteCommand"
|
||
class="com.example.plugin.RemoteCommandAction"
|
||
text="Run Remote Command"
|
||
description="Execute command on the associated server"/>
|
||
<action id="SshRemote.OpenTerminal"
|
||
class="com.example.plugin.OpenRemoteTerminalAction"
|
||
text="Open Remote Terminal"
|
||
description="Open integrated terminal connected to the remote server"/>
|
||
<add-to-group group-id="ToolsMenu" anchor="last"/>
|
||
</group>
|
||
</actions>
|
||
</idea-plugin> |