lkytal / quicktask Goto Github PK
View Code? Open in Web Editor NEWTask runner and manager extension for VSCode
Home Page: https://lkytal.github.io/quickTask/
License: GNU Affero General Public License v3.0
Task runner and manager extension for VSCode
Home Page: https://lkytal.github.io/quickTask/
License: GNU Affero General Public License v3.0
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.
Hi! Thanks for adding the folder the tasks are found, works great! I've found however that my tasks specified in gulpfile.babel.js
are not picked up. :)
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
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.
read tasks form Makefile
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?
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 😢
Preferred solution
npm run server wizer/packages/app
npm run server wizer/packages/dashboard
npm run server wizer/packages/website
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
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:
while clicking the status bar icon shows:
Maybe this support could be extended by registering new task providers or perhaps something new can be proposed for the VS Code API.
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):
Tasks defined in workspace ([name].code-workspace
file) are not visible by the extension
Read tasks from Justfile https://github.com/casey/just
It is almost the same as Makefile but better.
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)
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?
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.
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?
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
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
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"
]
}
]
}
The shell scripts show correctly like tasks, but when you click, open the terminal but execute nothing.
Before was executing without any problem.
Thanks!
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.
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.
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);
}
Typically generated tasks.json files contain comments, however the regular expression used to find the comments also removes urls with double-slashes. A new regular expression is required to prevent matching on URLs.
Steps:
"quicktask.enableNpm": false
Result:
The NPM tasks are still shown.
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.
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.
I have some user level tasks, it would be nice to run them from this extension
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.
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.
workspace
This maybe something that is limited due to vscode also not pickup up these tasks when in this configuration but it would be nice if this extension could do it in a similar way it picks up when searching for bash/python/powershell/etc.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.