键盘缩写,用于在PhpStorm中上传两个文件

时间:2019-07-01 09:42:13

标签: intellij-idea phpstorm

在PhpStorm中,我有一个style.css-和一个app.js文件,我正在不断地将它们上传到服务器。它们是由Webpack编译的,所以我通常不在那些文件中工作(但从中编译它们的文件)。这意味着“工具” >>“部署” >>“上传到...”不能解决我的问题。

而且-这是两个不同的文件,这意味着每当我要确保查看最新更改时,都必须在项目树中找到这两个文件并手动上载。繁琐,耗时且需要大量鼠标操作。 !

我还考虑过简单地更改为这些文件(使用 CMD + p )然后上传它们。但是文件是生成的,这意味着PhpStorm需要花费几秒钟的时间来呈现内容(这对于我可以对文件进行任何操作之前是必需的)-这样并不快。

我尝试记录一个宏,上传两个文件,如下所示:

PhpStorm Macro

如果我进入菜单并触发了宏,那么它将起作用。到目前为止一切顺利。

但是,如果我分配一个快捷键并在文件中触发该快捷方式,那么它将向我显示:

phpstorm macro playing up

如果我按“ 1”(要上传到列表中的数字1),则它将上传我当前所在的文件(!?),而不是宏中的两个文件。

我尝试了几种不同的快捷方式(以排除某种键盘快捷键冲突):

  • CMD + 选项 + CTRL + 0
  • CMD + Shift 0
  • CMD + ;

...相同的结果。

有人知道我怎么可以从任何地方触发此宏吗?

或者我可以通过一种快捷方式组合来上传一堆预先选择的文件?

<3

2 个答案:

答案 0 :(得分:0)

可以使用外部程序scp(安全复制协议)来完成它:

步骤:
1.创建作用域(用于已编译文件app.jsstyle.css
2.使用scp在该范围

上创建自定义 File Watcher
  1. 范围开头:
    为您的已编译文件目录创建一个名称为scp files的本地范围(我假设您的webpack会编译到dist目录中): enter image description here 然后,要将dist目录添加到Scope中,选择该文件夹并单击Include Recursively。应用并移至文件监视程序 enter image description here

  2. 文件监视程序创建自定义模板: enter image description here

    • 选择名称
    • 选择文件类型Any
    • 选择范围scp files(先前创建)
    • 选择程序scp
    • 选择参数$FileName$ REMOTE_USER@REMOTE_HOST:/REMOTE_DIR_PATH/$FileName$
    • 选择{strong>工作目录为$FileDir$ enter image description here

就是这样,基本上,我们所做的就是每次在该范围内的文件更改时,都使用scp将该文件复制到远程服务器的相应路径。

Voila。应用所有内容并重新编译您的项目,您将看到所有内容都已上传到服务器。

(我假设您已经设置了ssh客户端;生成了公用/专用密钥;在远程服务器中添加了公用密钥;并且知道ssh凭据可以连接到远程服务器)

答案 1 :(得分:0)

这是我自己想出来的。我发布了答案 here

这两个问题有点相似但不完全相同。

我发现这种方式也不是最好的,因为它以纯文本形式存储服务器密码。所以我将问题悬而未决,以防有人能想出更好的方法来实现这一目标。