如何在 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
我已经尝试过:“自动将更改的文件上传到默认服务器”==“始终|显式保存...” - 这非常神奇。但如果设置不正确 - 那么它可能会严重混乱。
好吧。我就是这样做的。最后!!!我多年来一直在寻找这个(毫不夸张)。我现在对此太恼火了,我深入研究了 @LazyOne 带来的建议(<3 ).
我使用 PhpStorm v. 2020,并且使用的是 Mac。
这是第一个障碍。那里有几个不同的水龙头。 这个对我有用:
brew install hudochenkov/sshpass/sshpass
这是必要的,以避免在执行
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 密钥添加到其中 - 以便可以访问该服务器。但我不能对个别实例这样做。
我制作了一个名为
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 文件。
注意!! 请记住取消选中“在终端中执行”。原因是无论身在何处都能继续工作真是太好了。如果您在终端中执行它,那么光标将在终端中完成。如果未选中,则不会执行此操作。
在这里你可以看到我的配置:
现在转到“运行”>>“运行”并选择您刚刚添加的那个。然后你应该看到这样的窗口:
要再次运行最新的“运行”,您只需按
CMD
+ r
。
砰!
现在服务器的密码以纯文本形式存储在您计算机上的文件中。这不利于安全。因此,如果您正在为核发射编写后端代码,那么您可能不应该这样做。
但请记住将
uploader.sh
文件添加到您的 .gitignore
文件中,以避免将其上传到存储库。
有点晚了,但还是方便 PHP 风暴 2023.2
Windows 10 / 标准德语布局键盘
/var/www/vhosts/domain.com/httpdocs/
/
。此选项将启用热键: CTRL
+SHIFT
+ALT
+X
热键,这会弹出一个选项窗口,您可以在其中选择要上传的服务器(如果有多个服务器/环境或想要上传到不同的路径)。如果正确的选项设置为默认值或者只有 1 个选项,您可以简单地扩展热键组合以在末尾包含 Enter
,因此: CTRL
+SHIFT
+ALT
+X
+ Enter
将上传 ACTIVE WINDOW FILE/S因此,如果您正在文件中积极编码并且其窗口处于活动状态,它将上传 1 个文件。如果您在左侧栏的项目树中选择它们并执行热键,则会一次上传多个文件。