vs-deploy

授权协议 View license
开发语言 TypeScript
所属分类 服务器软件、 文件服务器(FTP)
软件类型 开源软件
地区 不详
投 递 者 景正文
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

vs-deploy

Visual Studio Code (VS Code) extension that provides commands to deploy files of a workspace to a destination.

The extension supports the following destination types:

Type Supports download / pull?
Amazon AWS S3 buckets X
Apps / executables / scripts (bash, batch, e.g.)
Azure blob storages X
DropBox X
External Node.js based scripts X
FTP X
HTTP(s)
Local or shared network folders inside a LAN X
Mail (SMTP)
Remote machines like other VS Code instances
REST APIs like vs-rest-api X
SFTP X
Slack
SQL
ZIP files X

There is also build-in support for the following compilers and processors:

... and these languages:

If you would like to add another translation, please read that issue first.

Table of contents

  1. Demos
  2. Recoded version
  3. Install
  4. How to use

Recoded version []

I have started a new and recoded version of that extension, called vscode-deploy-reloaded, which is still in a preview, but good beta state.

Demos []

Deploying to SFTP []

Demo SFTP

Deploy on change []

Demo Deploy on change

Download / pull from SFTP []

Demo pull from SFTP

Compare files []

Demo compare files

Check for newer files []

Demo check for newer files

Sync when open []

Demo sync when open

Deploy to ZIP file []

Demo ZIP

Deploy to remote Visual Studio Code instance []

Demo Remote

Install []

Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter:

ext install vs-deploy

Or search for things like vs-deploy in your editor:

Screenshot VSCode Extension search

How to use []

Detailed information can be found at the wiki.

Otherwise...

Settings []

Open (or create) your settings.json in your .vscode subfolder of your workspace.

Add a deploy section:

{
    "deploy": {
    }
}

Packages []

A package is a description of files of your workspace that should be deployed.

Add the subsection packages and add one or more entry:

{
    "deploy": {
        "packages": [
            {
                "name": "Version 2.3.4",
                "description": "Package version 2.3.4",
                "files": [
                    "**/*.php",
                    "/*.json"
                ],
                "exclude": [
                    "tests/**"
                ],
                "deployOnSave": true
            }
        ]
    }
}

Look at the wiki to get more information about packages.

Targets []

A target describes where a file or package should be transfered to.

Add the subsection targets and add one or more entry:

{
    "deploy": {
        "targets": [
            {
                "type": "sftp",
                "name": "My SFTP folder",
                "description": "A SFTP folder",
                "dir": "/my_package_files",
                "host": "localhost", "port": 22,
                "user": "tester", "password": "password",

                "checkBeforeDeploy": true,

                "mappings": [
                    {
                        "source": "dir/of/files/that/should/be/mapped",
                        "target": "dir/on/target"
                    }
                ]
            },
            {
                "type": "ftp",
                "name": "My FTP folder",
                "description": "A FTP folder",
                "dir": "/my_package_files",
                "host": "localhost", "port": 21,
                "user": "anonymous", "password": "",

                "deployed": [
                    {
                        "type": "sql",
                        "engine": "mysql",

                        "queries": [
                            "TRUNCATE TABLE `debug`",
                            "TRUNCATE TABLE `logs`"
                        ]
                    },
                    {
                        "target": "https://github.com/mkloubert"
                    }
                ]
            },
            {
                "type": "local",
                "name": "My local folder",
                "description": "A local folder",
                "dir": "E:/test/my_package_files"
            },
            {
                "type": "local",
                "name": "My network folder",
                "description": "A SMB shared network folder",
                "dir": "\\\\MyServer\\my_package_files"
            },
            {
                "type": "zip",
                "name": "My ZIP file",
                "description": "Create a ZIP file in a target directory",
                "target": "E:/test"
            },
            {
                "type": "mail",
                "name": "My mail server",
                "description": "An email deployer",
                "host": "smtp.example.com", "port": 465,
                "secure": true, "requireTLS": true,
                "user": "mkloubert@example.com", "password": "P@assword123!",
                "from": "mkloubert@example.com",
                "to": "tm@example.com, ys@example.com"
            },
            {
                "type": "script",
                "name": "My script",
                "description": "A deploy script",
                "script": "E:/test/deploy.js",
                "options": {
                    "TM": 5979,
                    "MK": "23979"
                }
            },
            {
                "type": "http",
                "name": "My HTTP service",
                "description": "A HTTP service on a HTTP server, e.g.",
                "url": "https://host.example.com/webdav/?file=${VSDeploy-File}",
                "user": "mkloubert", "password": "P@ssword123!"
            },
            {
                "type": "remote",
                "name": "My remote target",
                "description": "Some remote VS Code instances to deploy to",
                "hosts": ["localhost", "192.168.0.101", "192.168.0.101:5979"]
            },
            {
                "type": "app",
                "name": "My App",
                "description": "An app to call",
                "app": "E:/test/deploy.cmd",
                "arguments": ["a", "b", "c"]
            },
            {
                "type": "batch",
                "name": "My Batch",
                "description": "A batch operation",
                "targets": ["My mail server", "My ZIP file"]
            },
            {
                "type": "azureblob",
                "name": "My Azure blob storage",
                "description": "An container in an Azure blob storage",
                "container": "my-container",
                "account": "my-storage-account",
                "accessKey": "<ACCESS-KEY-FROM-AZURE-PORTAL>"
            },
            {
                "type": "s3bucket",
                "name": "My Amazon Bucket",
                "description": "An Amazon AWS S3 bucket",
                "bucket": "my-bucket"
            },
            {
                "type": "dropbox",
                "name": "My DropBox folder",
                "description": "Deploy to my DropBox folder",

                "token": "<ACCESS-TOKEN>"
            },
            {
                "type": "api",
                "name": "My REST API",
                "description": "Deploys to a vs-rest-api",

                "host": "vscode.example.com",
                "user": "rgrimes", "password": "lori"
            }
        ]
    }
}

Look at the wiki to get more information about targets.

How to execute []

Press F1 to open the list of commands and enter one of the following commands:

Demo How to execute

Name Description Shortcut (CTRL is CMD on Mac)
Deploy: Change switch Changes the options of a switch. This command does not have a default key binding. If you want to setup a shortcut for extension.deploy.changeSwitch, you can update keybindings.json as described here.
Deploy: Compare files Compares a local file with a remote one. CTRL+ALT+P, C
Deploy: Deploy current file / folder Deploys the current opened file. CTRL+ALT+F
Deploy: Deploy workspace Deploys a specific package. CTRL+ALT+W
Deploy: Open example / template Opens a template from one or more offical and/or custom repository. This command does not have a default key binding. If you want to setup a shortcut for extension.deploy.openTemplate, you can update keybindings.json as described here.
Deploy: Pull current file / folder Pulls the current opened file. CTRL+ALT+P, F
Deploy: Pull workspace Pulls a specific package. CTRL+ALT+P, W
Deploy: Select workspace Changes the current workspace, s. Multi-root Workspaces. This command does not have a default key binding. If you want to setup a shortcut for extension.deploy.selectWorkspace, you can update keybindings.json as described here.
Deploy: Start/stop listening for files Start/stop listening for files from a remote machine. CTRL+ALT+L
  • ios-deploy也是一个终端安装和调试iPhone应用的是第三方开源库,使用时需要开发者证书和Xcode7以上版本。 1. 安装ios-deploy 我们用npm来安装ios-deploy,如果Mac上没有,先安装node: brew install node 安装node干甚?因为现在版本比较新的node都自带npm哇。 接下来愉快地安装ios-deploy: npm install -g

 相关资料
  • 问题内容: 我是JTA的新手,它是基础事务管理器。谁能解释这些优点/缺点?随时添加我未在标题中列出的其他人。 而且,主要的应用程序服务器(WebSphere,JBoss,Glassfish)是否没有自己的符合JTA的事务管理器?在那些环境中,您是否仍将使用这些第三方实现? 问题答案: 我是JTA的新手,它是基础事务管理器。谁能解释这些优点/缺点?随时添加我未在标题中列出的其他人。 我知道的独立事务

  • 问题内容: 最近开始从我的安全位置(R)分支到Python,并且对中的单元格定位/选择感到有些困惑。我已经阅读了文档,但仍在努力了解各种本地化/选择选项的实际含义。 我为什么应该使用或超过最一般的选择? 我的理解是,,,和可以提供一些保证正确性是不能提供的,但我也看到了在那里往往是一刀切最快的解决方案。 请说明使用除?以外的任何东西背后的现实世界中的最佳实践推理。 问题答案: loc: 仅适用于索

  • 我对Android中的Asynctask、Thread、Service和Loader之间的区别有点困惑。 我知道它是怎么工作的。但我仍然不明白我应该在什么时候使用。 我使用Android已经3年了,通常仍然使用来完成所有后台任务(有时还有Thread)。但是很多人说“AsyncTask已经过时了”,不建议使用它们。他们还建议使用robospice或Volley。 那么,AsyncTask真的那么糟

  • 问题内容: 出于好奇,我想知道在使用[ ] vs [ ] vs [ ] vs [ ](仅1个值)语法时,是否存在速度/效率差异? 相对 相对 相对 问题答案: 我将添加到 还存在 和 subquery 。 但是性能取决于给定SQL引擎的优化器。 在oracle中,IN和EXISTS之间有很多区别,但在SQL Server中不一定。 您还需要考虑的另一件事是所用色谱柱的选择性。一些情况表明,IN更好

  • 问题内容: 这是我的需求: Enqueue_in(10.hours,…)(DJ语法很完美。) 同时增加工人。(Resque或beantalkd对此很有用,但DJ不好) 必须每秒处理100个作业的推送和弹出。(我需要进行测试以确保,但我认为DJ无法处理这么多工作) Resque和beantalkd不执行enqueue_in。 有一个插件(resque_scheduler)可以做到,但是我不确定它是否

  • 问题内容: 我试图在JLabel上连续显示日期和时间。因此,在我看过的上一个教程中,发言人说:“您必须在必要时使用此线程,因为它会占用程序的内存”。 因此,我搜索了其他替代方法,然后找到了Timer和TimerTask,这是在程序的长期运行中最有效的方法? 问题答案: 计时器用于在一定间隔后,延迟或两者结合后运行任务(即TimerTask)。在您的情况下,您可以使用以下方式: 请注意,为了更新Sw