- Notifications
You must be signed in to change notification settings - Fork39
Recoded version of Visual Studio Code extension 'vs-deploy', which provides commands to deploy files to one or more destinations.
License
mkloubert/vscode-deploy-reloaded
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Recoded version ofVisual Studio Code extensionvs-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 |
Demos [↑]
Deploying to SFTP [↑]
Deploy git commit [↑]
Sync when open [↑]
Auto remove on remote [↑]
Download files [↑]
Check before deploy [↑]
Compare files [↑]
List remote files [↑]
Tools [↑]
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:
NPM helpers [↑]
Provides some helpers for handlingnpm:
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 ofvs-deploy, with a clean API and lots of more helpful tools and features, likemulti workspace support.
If you are already usingvs-deploy, it is recommended todisable the old extension, before you usevscode-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 likevscode-deploy-reloaded
in your editor.
How to use [↑]
Detailed information can be found at thewiki.
Otherwise...
Settings [↑]
Open (or create) yoursettings.json
in your.vscode
subfolder of your workspace.
Add adeploy.reloaded
section:
{"deploy.reloaded": { }}
Packages [↑]
A package is a description of files of your workspace that should be deployed.
Add the subsectionpackages
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 thewiki, to get more information about packages.
Targets [↑]
A target describes where a file or package should be transfered to.
Add the subsectiontargets
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":"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":"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 thewiki, to get more information about targets.
How to execute [↑]
PressF1
and enter one of the following commands:
Name | Description |
---|---|
Deploy Reloaded: API ... | HandlesAPI 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 ... | HandlesTCP 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 ... | Handleswitch targets. |
Deploy Reloaded: Tools ... | A set of helpful tools. |
You can also use the following, predefined, shortcuts:
Command | Shortcut (CTRL isCMD 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 fromrelease 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 adonation via PayPal tome.
To contribute, you canopen an issue and/or fork this repository.
To work with the code:
- clonethis 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 apull request
If you like to create a translation, for example, you can take a look atthis directory.
The API documentation can be foundhere.
Contributors [↑]
Related projects [↑]
node-enumerable [↑]
node-enumerable is aLINQ implementation for JavaScript, which runs inNode.js and browsers.
node-simple-socket [↑]
node-simple-socket is a simple socket class, which supports automaticRSA encryption and compression for two connected endpoints and runs inNode.js.
vscode-helpers [↑]
vscode-helpers is a NPM module, which you can use in your ownVSCode extension and contains a lot of helpful classes and functions.
About
Recoded version of Visual Studio Code extension 'vs-deploy', which provides commands to deploy files to one or more destinations.