在 PhpStorm 中使用一个快捷方式上传多个文件

问题描述 投票:0回答:2

如何在 PhpStorm 中使用单个快捷方式上传选定的文件?

理想情况下,它使用 PhpStorm 部署机制,-但欢迎所有答案。例如制作一个 bash 文件,scp 就是文件(然后使用 PhpStorm 执行)。

我正在寻找一种方法,我可以简单地按以下内容:

CMD
+
OPT
+
CTRL
+
J
- 然后它会上传所有这些标记的文件。

我的项目具有如下所示的结构。我已用 (x) 标记了我希望能够上传的文件:

project
|- subfolder
   |- subsubfolder
      |- assets
      |  |- css (x)
      |  |- js (x)
      |  |- admin (x)
      |  |- img
      |
      |- foo.php
      |- bar.php
      |- style.css (x)
      |- bundle.js (x)
      |- other.php
      |- other-1.php

尝试1

我已经尝试过:“自动将更改的文件上传到默认服务器”==“始终|显式保存...” - 这非常神奇。但如果设置不正确 - 那么它可能会严重混乱。

bash phpstorm
2个回答
1
投票

好吧。我就是这样做的。最后!!!我多年来一直在寻找这个(毫不夸张)。我现在对此太恼火了,我深入研究了 @LazyOne 带来的建议(<3 ).

我使用 PhpStorm v. 2020,并且使用的是 Mac。


第 1 步 - 安装 SSHPASS

这是第一个障碍。那里有几个不同的水龙头。 这个对我有用:

brew install hudochenkov/sshpass/sshpass

这是必要的,以避免在执行

scp
命令时提示输入密码。


第 2 步 - 让 SCP 从终端开始工作

从 PhpStorm 内部调试很烦人。所以我建议从终端开始,让 SCP 命令发挥作用。它与很多事情相关,因此每个主机之间可能会有所不同。

请注意,SCP 正在使用 SSH 复制文件,应启用 SSH 才能正常工作。

这是一个对我有用的命令:

sshpass -p 'mypassword' scp style.css app.js SERVER_USER@SERVER_IP:public_html/wp-content/themes/my_theme_name/

这会将两个文件复制到给定的目的地。

为什么我不使用 SSH 密钥?

我所在的服务器上有一个主用户,我可以将我的 ssh 密钥添加到其中 - 以便可以访问该服务器。但我不能对个别实例这样做。


第 3 步 - 制作 shell 脚本

我制作了一个名为

uploader.sh
的脚本并添加了以下内容:

#!/bin/bash

sshpass -p 'mypassword' scp myfile.css anotherfile.js athirdfile.php SERVER_USER@SERVER_IP:public_html/wp-content/themes/my_theme_name/

然后我进入“运行”>>“编辑配置”并添加一个新的 Shell 文件。

注意!! 请记住取消选中“在终端中执行”。原因是无论身在何处都能继续工作真是太好了。如果您在终端中执行它,那么光标将在终端中完成。如果未选中,则不会执行此操作。

在这里你可以看到我的配置:


第 4 步 - 运行并测试

现在转到“运行”>>“运行”并选择您刚刚添加的那个。然后你应该看到这样的窗口:

要再次运行最新的“运行”,您只需按

CMD
+
r

砰!


第 5 步 - 将 uploader.sh 添加到 .gitignore

现在服务器的密码以纯文本形式存储在您计算机上的文件中。这不利于安全。因此,如果您正在为核发射编写后端代码,那么您可能不应该这样做。

但请记住将

uploader.sh
文件添加到您的
.gitignore
文件中,以避免将其上传到存储库。

有用的资源


0
投票

有点晚了,但还是方便 PHP 风暴 2023.2

Windows 10 / 标准德语布局键盘

  1. 工具 -> 部署 -> 配置...(这将打开“部署”窗口)
  2. 添加一个S/FTP帐户,然后在配置后,“测试连接”它,它应该抛出一条已成功连接的消息。
  3. 将根路径设置为相对于服务器根路径:示例:
    /var/www/vhosts/domain.com/httpdocs/
  4. 转到“部署”窗口顶部的“映射”选项卡。本地路径应指向您的项目路径(绝对路径)。对于 DeploymentWeb 路径使用:
    /
    。此选项将启用热键:
    CTRL
    +
    SHIFT
    +
    ALT
    +
    X
    热键,这会弹出一个选项窗口,您可以在其中选择要上传的服务器(如果有多个服务器/环境或想要上传到不同的路径)。如果正确的选项设置为默认值或者只有 1 个选项,您可以简单地扩展热键组合以在末尾包含
    Enter
    ,因此:
    CTRL
    +
    SHIFT
    +
    ALT
    +
    X
    +
    Enter
    将上传 ACTIVE WINDOW FILE/S

因此,如果您正在文件中积极编码并且其窗口处于活动状态,它将上传 1 个文件。如果您在左侧栏的项目树中选择它们并执行热键,则会一次上传多个文件。

© www.soinside.com 2019 - 2024. All rights reserved.