• Stars
    star
    155
  • Rank 240,864 (Top 5 %)
  • Language
    TypeScript
  • License
    GNU Lesser Genera...
  • Created almost 7 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Recoded version of Visual Studio Code extension 'vs-deploy', which provides commands to deploy files to one or more destinations.

vscode-deploy-reloaded

Share via Facebook Share via Twitter Share via Google+ Share via Pinterest Share via Reddit Share via LinkedIn Share via Wordpress Share via Email

Latest Release Installs Rating

Recoded version of Visual Studio Code extension vs-deploy, which provides commands to deploy files to one or more destinations.

The extension supports the following destinations:

Type
Amazon AWS S3 buckets
Apps or shell/batch scripts
Azure blob storages
Compiler
DropBox
External Node.js based scripts
FTP(S)
Local or shared network folders inside a LAN
Mail (SMTP)
SFTP
Slack
ZIP files

Table of contents

  1. Demos
  2. Preview
  3. Install
  4. How to use
  5. Install offline
  6. Support and contribute
  7. Related projects

Demos [↑]

Deploying to SFTP [↑]

Demo Deploying to SFTP

Deploy git commit [↑]

Demo Deploy git commit

Sync when open [↑]

Demo Sync when open

Auto remove on remote [↑]

Demo Auto remove on remote

Download files [↑]

Demo Download files

Check before deploy [↑]

Demo Check before deploy

Compare files [↑]

Demo Compare files

List remote files [↑]

Demo List remote files

Tools [↑]

Quick code execution [↑]

Demo Quick code execution

Send files to other editors [↑]

The following demo shows, how you can send a file to another VS Code instance over a secure and encrypted TCP connection:

Demo Send files to other editors

NPM helpers [↑]

Provides some helpers for handling npm:

Demo NPM helpers

Preview [↑]

Keep in mind, that this is a preview extension, which is in a good beta state.

The goal is to create a refactored version of vs-deploy, with a clean API and lots of more helpful tools and features, like multi workspace support.

If you are already using vs-deploy, it is recommended to disable the old extension, before you use vscode-deploy-reloaded.

Install [↑]

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

ext install vscode-deploy-reloaded

Or search for things like vscode-deploy-reloaded in your editor.

Demo Install extension

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.reloaded section:

{
    "deploy.reloaded": {
    }
}

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.reloaded": {
        "packages": [
            {
                "name": "Version 2.3.4",
                "description": "Package version 2.3.4",
                "files": [
                    "**/*.php",
                    "/*.json"
                ],
                "exclude": [
                    "tests/**"
                ]
            }
        ]
    }
}

Have a 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.reloaded": {
        "targets": [
            {
                "type": "sftp",
                "name": "My SFTP folder",
                "description": "A SFTP folder",

                "dir": "/my_package_files",
                "host": "localhost", "port": 22,
                "user": "tester", "password": "password",

                "mappings": {
                    "/dir/of/files/that/should/be/mapped/**/*": "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": "[email protected]", "password": "P@assword123!",
                "from": "[email protected]",
                "to": "[email protected], [email protected]"
            },
            {
                "type": "script",
                "name": "My script",
                "description": "A deploy script",

                "script": "E:/test/deploy.js",
                "options": {
                    "TM": 5979,
                    "MK": "23979"
                }
            },
            {
                "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>"
            }
        ]
    }
}

Have a look at the wiki, to get more information about targets.

How to execute [↑]

Press F1 and enter one of the following commands:

Name Description
Deploy Reloaded: API ... Handles API hosts.
Deploy Reloaded: Compare ... Opens a set of commands, to compare local and remote files.
Deploy Reloaded: Delete ... Commands for deleting files.
Deploy Reloaded: Deploy ... List of commands for deploying files.
Deploy Reloaded: List directory ... Lists a (remote) directory.
Deploy Reloaded: Log files ... Opens a log file of that extension.
Deploy Reloaded: Proxies ... Handles TCP proxies.
Deploy Reloaded: Pull ... Pull or download files from remote.
Deploy Reloaded: Select deploy operation ... Lets the user select an operation for the active document.
Deploy Reloaded: Show notification(s) ... (Re-)Shows one or more notifications from the extension's author(s).
Deploy Reloaded: Switches ... Handle switch targets.
Deploy Reloaded: Tools ... A set of helpful tools.

You can also use the following, predefined, shortcuts:

Command Shortcut (CTRL is CMD on Mac) Description
extension.deploy.reloaded.deleteFile CTRL + ALT + D, F Deletes the current file on remote.
extension.deploy.reloaded.deletePackage CTRL + ALT + D, W Deletes files of a package on remote.
extension.deploy.reloaded.deployFile CTRL + ALT + F Deploys the current file.
extension.deploy.reloaded.deployWorkspace CTRL + ALT + W Deploys files of a package.
extension.deploy.reloaded.listDirectory CTRL + ALT + L, D Lists a directory on remote.
extension.deploy.reloaded.pullFile CTRL + ALT + P, F Pulls / downloads the current file.
extension.deploy.reloaded.pullWorkspace CTRL + ALT + P, W Pulls / downloads files of a package from remote.
extension.deploy.reloaded.quickExecution CTRL + SHIFT + Q Quick JavaScript code execution.
extension.deploy.reloaded.receiveFile CTRL + ALT + S, R Waits for a file from a remote editor.
extension.deploy.reloaded.receiveFile.closeServer CTRL + ALT + S, C Cancels the receiving of a file from a remote editor.
extension.deploy.reloaded.sendFile CTRL + ALT + S, S Sends the current file to a remote editor.

Install offline [↑]

If you have problems with a newer version of that extension (or have no connection to the Visual Studio Marketplace server), you can try to install a .vsix file from release section (s. Assets):

  • open the extension sidebar (CTRL + SHIFT + X)
  • click on the ellipsis in the right upper corner (More)
  • choose Install from VSIX...

Support and contribute [↑]

If you like the extension, you can support the project by sending a donation via PayPal to me.

To contribute, you can open an issue and/or fork this repository.

To work with the code:

  • clone this repository
  • create and change to a new branch, like git checkout -b my_new_feature
  • run npm install from your project folder
  • open that project folder in Visual Studio Code
  • now you can edit and debug there
  • commit your changes to your new branch and sync it with your forked GitHub repo
  • make a pull request

If you like to create a translation, for example, you can take a look at this directory.

The API documentation can be found here.

Contributors [↑]

Related projects [↑]

node-enumerable [↑]

node-enumerable is a LINQ implementation for JavaScript, which runs in Node.js and browsers.

node-simple-socket [↑]

node-simple-socket is a simple socket class, which supports automatic RSA encryption and compression for two connected endpoints and runs in Node.js.

vscode-helpers [↑]

vscode-helpers is a NPM module, which you can use in your own VSCode extension and contains a lot of helpful classes and functions.

More Repositories

1

vscode-kanban

Kanban board for Visual Studio Code.
JavaScript
278
star
2

vscode-remote-workspace

Multi protocol support for handling remote files like local ones in Visual Studio Code.
TypeScript
201
star
3

vs-deploy

Visual Studio Code extension that provides commands to deploy files of a workspace to a destination.
TypeScript
131
star
4

nativescript-toolbox

A NativeScript module that is a composition of useful tools and helpers.
JavaScript
54
star
5

vscode-helpers

Helper functions and classes for Visual Studio Code extensions.
TypeScript
54
star
6

nativescript-social-login

NativeScript plugin for social (token based) log-ins.
TypeScript
42
star
7

phpLINQ

LINQ concept for PHP
PHP
39
star
8

vs-media-player

Visual Studio Code extension to control media players like Spotify or VLC directly from the editor.
TypeScript
28
star
9

nativescript-chatview

NativeScript UI module for implementing WhatsApp like chat applications.
TypeScript
26
star
10

vscode-http-client

Simple way to do HTTP requests in Visual Studio Code.
TypeScript
26
star
11

vs-rest-api

Visual Studio Code extension that provides a REST API to control your editor.
TypeScript
23
star
12

nativescript-bitmap-factory

A NativeScript module for creating and manipulating bitmap images.
JavaScript
22
star
13

vs-script-commands

Add additional commands that uses (JavaScript) scripts for execution.
TypeScript
16
star
14

gitea.net

.NET Library for the Gitea API.
C#
16
star
15

nativescript-apiclient

NativeScript module for simply calling HTTP based APIs.
TypeScript
16
star
16

node-enumerable

ES2017 ready LINQ features written in TypeScript.
TypeScript
13
star
17

vscode-git-notify

Visual Studio Code extension, which receives and shows git events from webhooks.
TypeScript
10
star
18

node-workflows

Simple and fast implementation of action-driven workflows for Node.js written in TypeScript.
TypeScript
10
star
19

nativescript-tasks

NativeScript module for simply invoking and handling background tasks via web workers.
JavaScript
10
star
20

nativescript-paypal

PayPal plugin for NativeScript
JavaScript
8
star
21

nativescript-enumerable

A NativeScript module providing LINQ style extensions for handling arrays and lists.
TypeScript
7
star
22

node-simple-socket

Wrapper for Node.js sockets that makes it easy to send data compressed and crypted (RSA / AES).
TypeScript
7
star
23

vs-remote-debugger

Visual Studio Code extension for easy and generic code debugging.
TypeScript
5
star
24

dwad-net

C# library for handling Doom WAD files.
C#
4
star
25

nativescript-batch

NativeScript module for implementing batch operations.
TypeScript
4
star
26

nativescript-taskpie

NativeScript module that draws Microsoft Planner like progess charts.
TypeScript
4
star
27

Collections.NET

A set of collection classes written in C#.
C#
3
star
28

nativescript-applist

NativeScript module to handle the list of installed apps on a device.
TypeScript
2
star
29

ts-toolbox

Set of useful functions, classes, modules and helpers for Node.js written in TypeScript.
TypeScript
2
star
30

js-promises

Helpers for promises, which work in Node and the browser.
TypeScript
2
star
31

vs-chat

A XMPP (Jabber) chat system for Visual Studio Code.
TypeScript
2
star
32

nativescript-routed-values

NativeScript module for implementing routed value graphs.
TypeScript
2
star
33

Extensions.NET

Set of useful extensions methods written in C#.
C#
2
star
34

php-remote-debugger

Server-side PHP library for interacting with 'vs-remote-debugger' Visual Studio Code extension.
PHP
2
star
35

vs-cron

[DEPRECATED] Visual Studio Code (VS Code) extension that runs tasks periodically.
TypeScript
2
star
36

vscode-proxy

Runs TCP proxies with additional trace support in Visual Studio Code.
TypeScript
2
star
37

node-remote-debugger

Server-side Node.js library for interacting with 'vs-remote-debugger' Visual Studio Code extension.
TypeScript
2
star
38

node-entity-baker

Generates simple and powerful entity classes for ORM systems, like Doctrine and/or Entity Framework.
TypeScript
2
star
39

vscode-easy-coffeescript

Visual Studio Code extension which compiles CoffeeScript files on save.
TypeScript
2
star
40

mkloubert

A repository about me.
1
star
41

SimpleGallery

An image gallery script in one single PHP file.
PHP
1
star
42

MJKBlog

Source code of articles of blog.marcel-kloubert.de
C#
1
star
43

CLRToolbox

Class libraries for CLR environments
C#
1
star
44

nativescript-xmlobjects

A NativeScript module that provides handling XML data as objects similar to LINQ to XML.
TypeScript
1
star
45

js-strings

String helpers.
TypeScript
1
star
46

vs-swiss-army-knife

A meta package for Visual Studio Code with useful and popular extensions.
1
star
47

TinyCloud

ASP.NET cloud environment with a RESTful JSON API.
C#
1
star
48

vscode-wiki-fs

Visual Studio Extension to provide a wiki as workspace folder.
TypeScript
1
star
49

simple-whiteboard

Simple whiteboard (web) application written in PHP.
TypeScript
1
star
50

delivery-boy-old

Node.js library that shares media files secure and crypted.
TypeScript
1
star
51

ScriptTHOR

Executes scripts by using external engines / compilers. The support for other languages can be easily realized by writing own plug-ins.
C#
1
star
52

phpLiveDoc

Website that displays live PHP documentation of classes and functions with the help of reflection and WITHOUT the need of building output documents.
PHP
1
star