A swiss army knife with lots of tools, extensions and (scriptable) enhancements for Visual Studio Code.

Overview

vscode-powertools

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

Latest Release Awesome

A swiss army knife with lots of tools, extensions and (scriptable) enhancements for Visual Studio Code.

⚠️ ⚠️ ⚠️ NOTICE: If you have the legacy version of that plugin installed, please backup and uninstall it first, before you install this one. You also need to upgrade to Visual Studio Code 1.57 or later. ⚠️ ⚠️ ⚠️

Table of contents

  1. Install
  2. How to use
  3. Documentation
  4. Contribute
  5. Related projects

Install []

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

ext install egomobile.vscode-powertools

Or search for things like vscode-powertools in your editor.

How to use []

Apps []

Apps are Node.js based scripts, which are running with a web view and can also interact with a Visual Studio Code instance.

demo-apps1.gif

For more information, have a look at the wiki.

Buttons []

Buttons can be used to run tasks, like scripts or shell commands, by user's click.

demo-button.gif

For more information, have a look at the wiki.

Commands []

To enhance your editor, you can register custom commands, which can be used from anywhere in the editor, by using the API, e.g.

demo-commands.gif

For more information, have a look at the wiki.

Events []

The extension makes it possible to run tasks, like scripts, on specific events.

demo-events.gif

For more information, have a look at the wiki.

Jobs []

Jobs can be used to run tasks, like scripts or shell commands, periodically.

demo-jobs.gif

For more information, have a look at the wiki.

Scripts []

Scripts can be used to any kind of custom logic for a workspace.

demo-scripts.gif

For more information, have a look at the wiki.

Startups []

Startups are similar to Autostart in Windows.

For more information, have a look at the wiki.

Tools []

A set of useful sub commands.

demo-tools1.gif

For more information, have a look at the wiki.

Values []

Values (or placeholders) can be used to define dynamic settings, e.g.

demo-values.gif

For more information, have a look at the wiki.

Documentation []

The complete reference of classes, functions and interfaces, can be found here.

A repository with code samples, can be found at vscode-powertools-samples. If you would like to request for one or more examples, you can open an issue here.

Contribute []

If you like the extension, you are welcome to contribute, by opening an issue and/or fork this repository.

To work with the code:

  • install vscode-deploy-reloaded extension
  • 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
  • select command Deploy Reloaded: Deploy ... (by pressing F1) and execute Package ... to copy all web view resources files from /src/res to /out/res ... also do this after you have reset your /out folder
  • 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

Contributors

Peter Jaszkowiak

Related projects []

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.

Comments
  • how does it actually works ?

    how does it actually works ?

    i've followed the example of https://github.com/egomobile/vscode-powertools/wiki/Buttons but nothing works

    Version: 1.74.0-insider
    Commit: 3fb8e8feb1c93a490feb2c2259713d4c8f0e0058
    Date: 2022-11-14T10:15:39.203Z
    Electron: 19.1.3
    Chromium: 102.0.5005.167
    Node.js: 16.14.2
    V8: 10.2.154.15-electron.0
    OS: Darwin arm64 21.6.0
    Sandboxed: Yes
    
    opened by ctf0 5
  • Publish on Open VSX Registry (Add GitPod, VSCodium support)

    Publish on Open VSX Registry (Add GitPod, VSCodium support)

    Is it possible for this extension to be published to Open VSX?

    Open XSV is a vendor-neutral, open-source alternative marketplace for VS Code Extensions. Adding the extension to this registry will allow it to be used in fully open-source forks of VS Code such as VSCodium, gitpod etc.

    Further information for publishing extensions to the registry is available here: https://github.com/eclipse/openvsx/wiki/Publishing-Extensions

    enhancement good first issue 
    opened by michoelchaikin 2
  • How to migrate settings from old installs?

    How to migrate settings from old installs?

    I was using the earlier version (the "old" extension) and still have its settings in my configuration. But they don't affect the new version. Do I just copy & paste those settings or are there changes that I may need to take care of?

    opened by mbaas2 2
  • Where is Power Tools: Tools configuration saved?

    Where is Power Tools: Tools configuration saved?

    I just created a new TCP proxy but I can't find where the configuration is saved.

    I tried to find the config for the newly created proxy under .vscode/settings.json and ~/.config/Code/User/settings.json but no luck.

    opened by rubensa 5
  • Recommendation on best way to enable/disable what extensions are loaded for a specific workspace/window?

    Recommendation on best way to enable/disable what extensions are loaded for a specific workspace/window?

    Hey there, For years now I have been looking for a way to swap between extension profiles (for lack of a better term, simply meaning controlling which extensions are currently active/loaded) based on configurable conditions, as I have tons of them for different languages and usually only need a handful of them active for a given workspace/window, and there are just too many for me to practically enable/disable manually on a day to day basis, sometimes hour by hour, so they all just get left enabled. I was excited when I came across this extension today, as it seemed like it might actually be able to help me to accomplish this.

    My question is more of an ask for a recommended method, if you happen to be familiar, how best to try and tackle this? I see that powertools can trigger scripts upon loading of a workspace, but I think extensions would already be loaded by then, otherwise this extension would not be triggered to run the script in the first place. That said, is it possible for a script to flag what extensions I want to be loaded for a workspace and then auto-restart the actual VSCode window? I would imagine that interrupting it's own execution isn't ideal, but I am not sure if it would even be possible.

    I am going to experiment with some things, but if you happen to have any ideas or suggestions, I would greatly appreciate it. :+1:

    Edit: I am using vscode-insiders on linux, in case that ends up coming into play

    Thanks, -MH

    opened by MostHated 0
  • [Question] about executing powershell

    [Question] about executing powershell

    Hi thank you for this amazing tool!

    i have some questions(WIN 10):

    1.) Applying a setting like this (settings.json):

    {
        "ego.power-tools": {
            "buttons": [
                {
                    "text": "testtask2",
                    "action": {
                        "type": "shell",
                        "command": "powershell.exe -noProfile -File C:\\_xxxx\\vscodefolder\\.vscode\\testpower2.ps1 ${activeFile}",
                        "cwd": "C:\\Windows\System32\\WindowsPowerShell\\V1.0"
                        "silent": false
                    }
                }
            ]
        }
    }
    

    and running it, nothing is shown in the vscode terminal (the powershell is executed but i would like to start this powershell as task ). As opposed to when making a task like this in a task.json and running it(output is shown in the Terminal like expected)

    {
        // See https://go.microsoft.com/fwlink/?LinkId=733558
        // for the documentation about the tasks.json format
        "version": "2.0.0",
        "windows": {
            "options": {
                "shell": {
                    "executable": "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe",
                    "args": [
                        "-NoProfile",
                        "-ExecutionPolicy",
                        "Bypass",
                        "-Command"
                    ]
                }
            }
        },
        "tasks": [
            {
                "label": "testtask1",
                "type": "shell",
                "windows": {
                    "options": {
                        "cwd": "${workspaceFolder}",
                    },
                    "command": "powershell -noProfile -File C:\\_xxxx\\vscodefolder\\.vscode\\testpower1.ps1 "
                },
                "presentation": {
                    "echo": false,
                    "reveal": "silent",
                    "focus": true,
                    "panel": "shared",
                    "showReuseMessage": false,
                    "clear": false,
                 //   "close": true
                },
                "problemMatcher": []
    		}
    	]
    }
    

    2.) Can i start a powershell task via command ? (found nothing in the wiki about that), maybe somewhow via javascript or a workbench action ???

    3.)Can i define more then 1 context menu entry per file ending (e.g. when ending is *.txt "populate" 3 context menu entries to start different powershell tasks, ending *.json "populate" 4 contextmenu entries to start different powershell tasks) Now you have to click "execute PowerCommand" and then you choose from the available commands(one click more)

    4.) I can execute a powershell script on startup, like on 1.) can i run this as powershell task at startup too ?

    5.) for events like "file created" "file.changed" "file.saved" and "file.deleted" i would like to trigger a powershell task (according to the documentation it is not possible) ...? Or would is there a possibility to trigger that from javascript ???

    6.) I want some buttons to be shown only on defined endings. e.g. *.xxx or *.yyy , i tried various strings like

    "ifFile": "xxx$" but that does not seem to work ???

    Would you be so kind and provide examples for these questions?

    Thank you!

    opened by kraabrsg 6
  • Too many buttons

    Too many buttons

    My system: Ubuntu 20, VSC 1.57.1 My settings.json:

        "ego.power-tools": {
            "buttons": [
                {
                    "text": "Gist-Settings",
                    "tooltip": "Upload Settings to Gist",
                    "action": {
                        "type": "command",
                        "command": "extension.updateSettings"
                    }
                },
                {
                    "text": "Test1",
                    "tooltip": "Upload Settings to Gist",
                    "action": {
                        "type": "command",
                        "command": "extension.updateSettings"
                    }
                }
            ]
        }
    

    grafik

    Otherwise, good tool!

    opened by KoljaL 1
Owner
e.GO Mobile
e.GO was founded by Prof. Dr. Günther Schuh in Aachen. The goal is to develop attractive and particularly durable electric vehicles and produce them in series.
e.GO Mobile
Vite-plugin-web-extension - A vite plugin for generating cross browser platform, ES module based web extensions.

vite-plugin-web-extension A vite plugin for generating cross browser platform, ES module based web extensions. Features Manifest V2 & V3 Support Compl

Ruben Medina 81 Dec 31, 2022
Get visual feedback that HMR completed

vite-plugin-notifier Provides visual feedback that HMR has completed. Only runs in dev mode. Example Setup To install the package: npm i --save-dev vi

Joshua Nussbaum 33 Dec 29, 2022
Open-source list of data visualization tools for software developers 📊📈

awesome.cube.dev — charts, data grids, maps, etc. Choose the best tool for your needs by type, framework, language, or license. Get started in an inst

Cube.js 72 Jan 1, 2023
We open the tools we use in our projects to all developers.

huntersofbook This repo was created with the aim of developing the vue ecosystem as well as giving back to the open-source world what we learned from

huntersofbook 76 Dec 27, 2022
Based on vitawind, kowind brings ESLint plugin and some other plugins to it that help you to format your code quickly and efficiently.

?? KOWIND v3 ?? Vite helper based on vitawind ?? Easy To Install ⚡️ Automatically open Tailwind JIT Mode ⚙ One-Command Setting ?? Automatically config

Kayo Oliveira 13 Nov 26, 2022
Morse code is a method used in telecommunication to encode text characters as standardized sequences of two different signal durations, called dots and dashes, or dits and dahs.

@elonehoo/point-line Install # npm npm i @elonehoo/point-line # yarn yarn add @elonehoo/point-line #pnpm pnpm i @elonehoo/point-line Usage import {dec

Elone Hoo 5 Aug 3, 2022
Prefetch and sync state to client with one line of code, out-of-the-box

vue3-SSR-starter Prefetch and sync state to client with one line of code, out-of-the-box Features vue3 SSR vue-router we don't need vuex anymore one l

周子贤 36 Aug 28, 2022
Next version of massCode [WIP]. A free and open source code snippets manager for developers

massCode next Built with Electron, Vue 3 & Ace Editor. Inspired by applications like SnippetsLab and Quiver. ☝️ massCode is currently in development,

null 4.3k Jan 5, 2023
Configure multi-pages applications and code splitting

vite-plugin-mp Configure multi-pages applications and code splitting Usage npm install vite-plugin-mp -D // vite.config.js import { defineConfig } fro

null 15 Dec 2, 2022
⚡️ Minimal GraphQL Client + Code Generation for Nuxt

nuxt-graphql-client ⚡️ Minimal GraphQL Client + Code Generation for Nuxt ⚡️ Minimal GraphQL Client + Code Generation for Nuxt Features Zero Configurat

Dizzy 245 Dec 27, 2022
jump to local IDE source code while click the element of browser automatically.

?? Introduction A vite plugin which provides the ability that to jump to the local IDE when you click the element of browser automatically. It support

webfansplz 413 Dec 30, 2022
⚡️ Minimal GraphQL Client + Code Generation for Nuxt3

nuxt-graphql-client ⚡️ Minimal GraphQL Client + Code Generation for Nuxt ⚡️ Minimal GraphQL Client + Code Generation for Nuxt Documentation Features Z

Conrawl Rogers 245 Dec 27, 2022
🚀 BloxSafe backend code.

BloxSafe ?? Dashboard to manage your Roblox scripts. Live preview at https://bs.jubot.site/. This repository only includes the backend of BloxSafe, fo

BloxSafe 13 Dec 14, 2022
Code snippets manager for developers. PWA.

Snippets Ninja About Snippets.Ninja is a progressive web application for code snippet management. Offline first. Open Source. App uses IndexedDB for l

Magalyas Dmitry 71 Dec 19, 2022
(unofficial) Nuxt VS Code Extension

(unofficial) nuxt-vscode This uses nuxi but makes it interactive and easy to use with a nuxt 3 project. Nuxi commands for vscode. This extension is no

Christian Preston 15 Dec 25, 2022
Mimic tree-shaking behaviour when importing code from an entry file in development mode.

vite-plugin-entry-shaking Mimic tree-shaking behaviour when importing code from an entry file in development mode. Warning This plugin is experimental

n028 11 Dec 19, 2022
Mobile app development framework and SDK using HTML5 and JavaScript. Create beautiful and performant cross-platform mobile apps. Based on Web Components, and provides bindings for Angular 1, 2, React and Vue.js.

Onsen UI - Cross-Platform Hybrid App and PWA Framework Onsen UI is an open source framework that makes it easy to create native-feeling Progressive We

null 8.7k Jan 4, 2023
:necktie: :briefcase: Build fast :rocket: and easy multiple beautiful resumes and create your best CV ever! Made with Vue and LESS.

best-resume-ever ?? ?? Build fast ?? and easy multiple beautiful resumes and create your best CV ever! Made with Vue and LESS. Cool Creative Green Pur

Sara Steiert 15.8k Jan 9, 2023