Giter VIP home page Giter VIP logo

quicktask's Introduction

Quick Task for VS Code

Version Installs Rating

Install Quick Task via vs market

All in one task manager and runner for Gulp, NPM, VS Code tasks and shell scripts

Quick Task will automatically trawl your project directory for task files from npm, gulp, scripts files and VS Code tasks, and allow you to execute each task with the click of a mouse!

As shown below, all tasks will show up after clicking the task button on the status bar and you can execute any item simply by clicking on it.

Highlights

  • Auto rescan after task files changed/added/deleted.
  • Support VS Code task.
  • Allow you to close terminal window automatically after execution. (experimental)

Preview

Hint: Task button is usually here:

Preview

Support Tasks

  • NPM Tasks.
  • Gulp Tasks.
  • VS Code Tasks.
  • Shell Scripts.
  • Python Scripts.
  • Ruby Scripts.
  • Perl Scripts.
  • VBS Scripts.
  • AutoHotkey Scripts.
  • batch file and Powershell Scripts.

My Other Extensions

Release Notes

[3.5.8] - 2023-05-24

Fixed

  • Respect hide property of task.json.

[3.5.4] - 2019-01-13

Fixed

  • Quote path of script tasks.

[3.5.3] - 2018-09-28

Fixed

  • Subdirectory gulp tasks.

[3.5.2] - 2018-09-26

Feature

  • Tentative support towards 'gulpfile.ts'.

[3.5.1] - 2018-08-31

Fixed

  • Fixed problems when VSCode tasks file doesn't exist.

[3.5.0] - 2018-08-17

Fixed

  • Load VSCode tasks when '.vscode' folder is hidden.

[3.4.4] - 2018-07-28

Improve

  • New command 'Rerun last task'.

[3.4.3] - 2018-05-31

Update

  • Update dependency

[3.4.2] - 2018-04-26

Improve

  • Use JSON5 to parse VSCode tasks.

[3.4.1] - 2018-03-11

Fixed

  • Fix incorrect path for user defined tasks.

[3.4.0] - 2018-03-10

Improve

  • Refact code.

[3.3.3] - 2018-01-10

Fixed

  • Fix path error for user defined tasks.

[3.3.2] - 2017-12-15

Fixed

  • Fix rescan doesn't work.

[3.3.1] - 2017-11-27

Improve

  • Combined information of workspace and path.

[3.3.0] - 2017-11-20

Improve

  • Group tasks by workspace.

[3.2.0] - 2017-11-15

Fixed

  • Indicate path for VSCode tasks.

  • React to workspace remove events.

[3.1.3] - 2017-11-13

Fixed

  • Sometimes gulp file cannot be found.

  • Capitalized path on windows.

[3.1.2] - 2017-11-10

Fixed

  • Absolute path.

[3.1.1] - 2017-11-10

Fixed

  • Incorrect relative path.

[3.1.0] - 2017-11-09

Fixed

  • Support Multi Root Workspace.

[3.0.3] - 2017-10-31

Added

  • Better message displaying when start a new task.

[3.0.2] - 2017-10-11

Added

  • Reload when not found.

[3.0.1] - 2017-10-06

Improve

  • Fix typo.

[3.0.0] - 2017-08-10

Added

  • Support gulpfile.babel.js.

Fixed

  • Incorrect "cd" command.

[2.9.1] - 2017-08-07

Improve

  • Description for subdirectory tasks.

[2.9.0] - 2017-08-05

Improve

  • Support Npm and Gulp task in subdirectories.

[2.8.1] - 2017-07-10

Update

  • Update async lib to 2.5.0

[2.7.0] - 2017-05-20

Improve

  • Show task started message within the status icon.

[2.6.1] - 2017-05-01

Improve

  • Update Async lib.
  • ".vscode-test" excluded.

[2.6.0] - 2017-04-16

Improve

  • Better performance.

[2.5.1] - 2017-04-08

Fixed

  • Read VSCode task list.
  • Watch Task file change.

[2.5.0] - 2017-04-04

Fixed

  • Close the terminal window automatically after execution correctly.

[2.4.2] - 2017-03-26

Added

  • Support VS code default task.

[2.4.1] - 2017-03-22

Fixed

  • Generate default task correctly.

[2.4.0] - 2017-03-18

Added

  • Option to use yarn instead of npm.

[2.3.1] - 2017-03-18

Fixed

  • Script files can now execute correctly.

[2.3.0] - 2017-03-17

Added

  • Ability to scan for VSCode tasks (those in tasks.json).

Fixed

  • Batch file config item.

[2.2.2] - 2017-03-13

Fixed

  • Tiny fixes.

[2.2.0] - 2017-03-07

Added

  • "defaultTask" option to add your own default tasks.

[2.1.3] - 2017-03-02

Changed

  • Separate rescan process of npm and gulp.

[2.1.2] - 2017-02-28

Changed

  • ".vbs" and ".ahk" included.

Fixed

  • Other duplicated items.

[2.1.1] - 2017-02-24

Changed

  • Show error message when task loading failed.
  • ".Cmd" included.

Fixed

  • Duplicated items.

[2.1.0] - 2017-02-22

Changed

  • Instant reaction towards task changes.

[2.0.1] - 2017-02-21

Changed

  • Better performance during rescan.

Fixed

  • Execute batch files and shell scripts correctly.

[2.0.0] - 2017-02-18

Added

  • Option to watch for task changes.

[1.2.0] - 2017-02-18

Added

  • Option to close terminal after execution finished. (experimental)

[1.1.0] - 2017-02-16

Added

  • Option to control show terminal or not.

Fixed

  • Task scanning loop.

[1.0.0] - 2017-02-16

  • First release.

Acknowledgment

Inspired by Task Master, this extension started by forking it at first.

Icons made by Vectors Market from www.flaticon.com is licensed by CC 3.0 BY

quicktask's People

Contributors

codetroopers avatar enteleform avatar flying-sheep avatar gongt avatar lkytal avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

quicktask's Issues

Please add typescript gulp files

Gulp has built-in support for typescript.

If you have ts-node installed eg: npm i -D ts-node then you can include a gulpfile.ts file and simply run the gulp command.

gulp will automatically register with ts-node to transpile in memory and execute the resulting javascript. I think it does it like so gulp --require ts-node/register

I use typescript for my gulp files as it gives me great intellisense and library discovery. Also, everything in my project is typescript so the uniformity is nice. I allready had ts-node since mocha requires it to use typescript.

I really like your extension and use for my vs tasks and npm scripts.

Please allow .ts files for gulp file globs to allow typescript.

Automatically install NPM packages

Is there a reason to not install NPM packages automatically?

QuickTask should execute npm install if the folder /node_modules does not exist and the file package.json is available.

But instead, trying to execute gulp watch, it outputs Local gulp not found. Try running: npm install gulp. This is still the wrong command to indicate to the user, because it will only install Gulp and the tasks won't work after that. The right message should be Try running: npm install.

QuickTask could also check for updates in the package.json to make sure all the dependencies are local installed before running a task. And install it if not found.

Auto-detect tasks using VS Code Tasks 2.0

It would be great if your extension supported the auto-detected tasks in VS Code Tasks 2.0.

For example, in a project with a gruntfile containing one default watch task, the auto-detected tasks appear as follows:
image

while clicking the status bar icon shows:
image

Maybe this support could be extended by registering new task providers or perhaps something new can be proposed for the VS Code API.

path quoting issue

It appears that target paths are not properly quoted before being passed as an argument to their executing program. I ran into this issue while attempting to execute a Python script, although it may affect other task types as well.

Here is Quick Task's terminal output when attempting to execute a Python script from the quicktask.showTasks menu:

C:\Some Path With Spaces> python C:\Some Path With Spaces\__main__.py
python: can't open file 'C:\Some': [Errno 2] No such file or directory

Task is running with wrong path in 3.5.2, when gulpfile.js in subdirectory

Hi,

I have the following structure of my project:

/project/
  /_dev/
    ...
    node_modules
    gulpfile.js

In quickTask 3.5.1 all was fine. But in 3.5.2 terminal is opening project root directory and trying to run a task, and I'm getting the following error:

[10:32:26] Local gulp not found in "path_to/project"
[10:32:26] Try running: npm install gulp

Expected result: terminal must open /project/_dev/ directory instead of /project/ and then run a task.

Found something which causes untrackable errors!

Hi! I've just have had a couple of days where I experienced an error which I could not find from the error messages. OMG i'm so happy I found it :p and it has to do with this plugin 👍

Currently when I fire a task from quickTask dropdown menu, it runs the following: cd /d "c:\xampp\htdocs\wizer\packages\website". To be honest it works so fine, however when running my webpack config it causes all sorts of weird errors such as:

  • Module did not self-register
  • Module parse failed: Unexpected token (105:3) You may need an appropriate loader to handle this file type.
There are multiple modules with names that only differ in casing.
This can lead to unexpected behavior when compiling on a filesystem with other case-semantic.
Use equal casing. Compare these module identifiers:
* C:\xampp\htdocs\wizer\packages\dashboard\node_modules\process\browser.js

The issue is a classic in programming, namely a letter that is normally UPPERCASE being used in lowercase. Which is not obvious...

So when I manually do the cd packages/website it goes to C:\xampp\htdocs\wizer\packages\website, notice that C is in capital letter. When running the same command as I would via quickTask it runs fine, no errors anywhere.

Solve this by making sure that the letter of the volume is capitalized. This took me a total of 3 days to figure out what was going wrong. I tried removing all node_modules, updating most libraries, etc. I hope this helps anybody else who is on windows and trying to figure out what the heck is wrong.

Does not find any tasks from NPM or gulp

Hi I'm having trouble using this plugin, it does not show any tasks from NPM or gulp. Could it be because it has more then one gulpfile and package.json files located in a sub folder?

Add lerna tasks

I would like to run nested tasks of the lerna monorepository:

my-lerna-repo/
  package.json
  packages/
    package-1/
      package.json
    package-2/
      package.json

Possible solutions:

  • get paths from lerna.json and yarn workspaces from package.json

  • usage lerna utils for get paths (such as lerna-get-packages), but soon will be released lerna 3 and utils changed

Default task sample ?

Hi,

Please give an example of how to set multiple tasks in

// You can add default tasks that will show up in task list.
"quicktask.defaultTasks": [],

It would be great too if we could add keybinding for any custom task the user create.

Thanks

Path of task is removed?

Hi, I have a monolithic repo (using lerna) which uses same task names such as sever or build in sub repos. After the latest update the path names which allow me to differentiate between which is which is gone. So for all monolithic project structures this is now not usable 😢

error

Preferred solution
npm run server wizer/packages/app
npm run server wizer/packages/dashboard
npm run server wizer/packages/website

[Feature request] Switch to new task

When starting a new task, it would be useful to automatically (or by a new setting) switch to the new tab in the terminal window.

Right now, the new terminal tab is opened in the background, and the very first thing I always do is click it. Would be nice if that happened automatically.

Rust Tasks

I have the following in my .vscode/tasks.json, but QuickTasks even after a scan is saying no tasks detected

The are all connected with the RUST language CARGO package manager.

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558 
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "type": "cargo",
            "subcommand": "build",
            "problemMatcher": [
                "$rustc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        },
        {
            "type": "cargo",
            "subcommand": "test",
            "problemMatcher": [
                "$rustc"
            ],
            "group": {
                "kind": "test",
                "isDefault": true
            }
        },
        {
            "type": "cargo",
            "subcommand": "run",
            "problemMatcher": [
                "$rustc"
            ]
        }
    ]
}

Gulp 4 Support

Hey there,

This extension does not seem to support Gulp 4? Is there something I need to make it work with Gulp 4, or is it not supported.

Use gulp CLI to get tasks

gulp 4 supports multiple styles of defining task, and even if you include parsing those, regexes just aren’t up to the task. what if someone did e.g. import tasks from 'gulp'; tasks.task(...)?

just depend on gulp-cli and use the output of gulp --tasks or gulp --tasks-json. (Sadly there’s no JS API to get the tasks. gulp-cli is structured in a way that you can only run it, not access it programmatically)

VS code tasks don't show up if .vscode is excluded from project view.

If I want to hide the .vscode folder since it really shoudn't be shown in the explorer view, it causes the extension to not find the tasks.json file and those tasks do not show up in the view. Is there any way for the extension to still find the tasks with the folder or file hidden from the explorer view?

[Feature Request] Respect `hide` setting

The tasks.json has this setting:

"hide": true|false,

When true, a task is not shown in the "task run" list, so it is only used as a dependency of other tasks.

It would be nice if the extension respected that setting - so if it's true, then the task would not appear in the quick pick list.

Tasks from tasks.json are not detected anymore

Since the latest update to 1.11.*, the tasks from the file ./.vscode/tasks.json seem to not be detected anymore. The gulp and npm tasks from my project are appearing.

It was working prior to 1.11

Thanks for this extension, it's reaaally useful

The directory name is invalid error when launching task defined in package.json

Hi, I just updated to the latest version of vscode (and probably this extension) but now when I try to launch a task it gives me the following error: The directory name is invalid.

I noticed that the info changed when launching quicktask. Now it includes the filename (in this case package.json) in the drop down list. When launching it tries to cd directory/package.json which obviously does not work :)

I hope we can quickly work this out as it is a major pain launching these individual tasks

Looking at the source code, I guess something goes wrong in retrieving the targetTask.relativePath in extension.ts

if (targetTask.relativePath != null && targetTask.relativePath != "") {
	terminal.sendText('cd ' + targetTask.relativePath);
}

Allow specifying node path, gulp path and so on

My gulp is installed in node_modules.bin\gulp and not globally visible via 'gulp' command.
Please search gulp in node_modules.

In addition node.exe can be also be no in PATH.
This should be supported as well.

[Feature Request] Filter tasks by name

I have lots of tasks from many sources: shell, tasks.json, gulp, npm, etc.

Would be useful to have a "filter" option, so I could only show (or hide) tasks with a certain name. Maybe using a regex.

Changelog is not up to date

The file CHANGELOG.md is not up to date since the version 2.6. So the change log tab is not helpfull in VSCode
image

Run task silently

This is a really nice extension! Thanks.

In the case when I would only like to run a simple PS script, I don't care much about the command line output. Can we run a task in the background?

batch file not detected

Is there a specific filename required to detect bat files?
It does not detect my assemble.bat file as can be seen here:
image

Feature Requests: Simpler status bar progress

First I must say I like your fork better than Task Manager extension. That said, I feel like you should give some credit because this is an obvious fork. That said, here are some suggestions:

Instead of adding full sentences to the status bar when you trigger a task, reuse the status bar button for displaying a concise status. You can use progress spinners instead of verbose sentences. Instead of gulp test task started you can do 🔄 gulp test with an animation or something similar (see images).

quickTask (long, text-based, causes lots of movement and UI dissorientation):
hz5nvfoorq

Quokka (concise, animated, icon-based):
m8dft1xkhe

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.