Giter Site home page Giter Site logo

mkloubert / vscode-kanban Goto Github PK

View Code? Open in Web Editor NEW
281.0 18.0 54.0 7.95 MB

Kanban board for Visual Studio Code.

Home Page: https://marketplace.visualstudio.com/items?itemName=mkloubert.vscode-kanban

License: GNU Lesser General Public License v3.0

TypeScript 2.75% CSS 0.45% JavaScript 96.80%
kanban-board vscode-extension project-management webview toggl time-tracker

vscode-kanban's Introduction

vscode-kanban

⚠️ This version of the extension is deprecated and will be refactored: Read this for more information.



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

Latest Release Installs Rating

Kanban board for Visual Studio Code.

Demo 1

Table of contents

  1. Install
  2. How to use
  3. Customization
  4. Logs
  5. Support and contribute
  6. Related projects

Install []

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

ext install vscode-kanban

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

How to use []

How to execute []

Press F1 and enter one of the following commands:

Name Description command
Kanban: Open Board ... Opens a kanban board of a workspace (folder). extension.kanban.openBoard

Settings []

Open (or create) your settings.json in your .vscode subfolder of your workspace or edit the global settings (File >> Preferences >> Settings).

Add a kanban section:

{
    "kanban": {
        "openOnStartup": true
    }
}
Name Description
canExecute Indicates if an execute button should be shown on every card, which invokes an onExecute() function inside the underlying .vscode/vscode-kanban.js script file (s. Handle events). Default: (false)
cleanupExports Remove existing export files, before regenerate them. Default: (true)
columns Custom column settings.
exportOnSave Export cards to external Markdown files on save or not. Default: (false)
exportPath The custom path where export files, like cards, should be stored. Relative paths will be mapped to the .vscode subfolder of the underlying workspace. Default: .vscode subfolder of the underlying workspace.
globals Custom data, which can be used inside the extension, like event scripts.
maxExportNameLength The maximum size of the name of an export file. Default: 48
noScmUser Do not detect username via source control manager like Git. Default: (false)
noSystemUser Do not detect username of operating system. Default: (false)
noTimeTrackingIfIdle Do not show 'track time' button, if a card is stored in 'Todo' or 'Done'. Default: (false)
openOnStartup Opens a board, after a workspace (folder) has been loaded. Default: (false)
simpleIDs Use integer values as IDs for cards instead. Default: (true)
trackTime Settings for time tracking feature. Default: (false)

Markdown support []

Card descriptions can be formatted with Markdown, which is parsed by Showndown library.

The extension uses the following settings:

{
    "completeHTMLDocument": false,
    "encodeEmails": true,
    "ghCodeBlocks": true,
    "ghCompatibleHeaderId": true,
    "headerLevelStart": 3,
    "openLinksInNewWindow": true,
    "simpleLineBreaks": true,
    "simplifiedAutoLink": true,
    "strikethrough": true,
    "tables": true,
    "tasklists": true
}

Code blocks are parsed by highlight.js and all provided languages are included and supported.

Diagrams and charts []

Demo 7

Card descriptions can also include diagrams and charts, using a language parsed and rendered by mermaid.

Those diagram / chart descriptions has to be put into a Markdown code block, which uses mermaid as language:

Example graph:

```mermaid
graph TD;
    A-->B;
    A-->C;
    B-->D;
    C-->D;
```

Filter []

Demo 8

Cards can be filtered by using a powerful language, provided by filtrex library.

Constants []

Name Description Example
assigned_to The value that indicates where the current card is assigned to. assigned_to == "Marcel" or assigned_to == "Tanja"
cat Short version of category. cat == "My Category"
category Stores the unparsed category value of the current card. category == "My Category"
description The description of the current card. description == "My description"
details The details of the current card. details == "My details"
id The ID of the card. id == "20180628102654_516121916_3f99e5abbe05420e1e5114d235ded3a2"
is_bug Is (true) if card type is Bug / issue. not is_bug
is_emerg Short version of is_emergency. is_emerg or is_bug
is_emergency Is (true) if card type is Emergency. is_emergency or is_bug
is_issue Alias of is_bug. is_bug or is_issue
is_note Is (true) if card type is Note / task. not is_note
is_task Alias of is_note. not is_task
prio Short version of priority. prio > 10
priority Stores the priority value. priority > 10
no (false) no == false
now The current local time as UNIX timestamp. now > 305413740
tag The tag value. tag == "by MK"
time The (creation) time of the card as UNIX timestamp (UTC). time > 305413740
title The title of the card. title == "My card title"
type The type of the card (lower case). type == "bug" or type == "emergency"
utc The current UTC time as UNIX timestamp. utc > 305413740
yes (true) yes == true

Functions []

Name Description Example
all(val, ...args) Handles a value as string and checks if all string arguments can be found inside it (case insensitive). all(assigned_to, "kloubert", "Marcel")
any(val, ...args) Handles a value as string and checks if any string argument can be found inside it (case insensitive). any(assigned_to, "Tanja", "Marcel")
concat(...args) Handles arguments as strings and concats them to one string. concat(5, "9.1", 979) == "59.1979"
contains(val, searchFor: string) Handles a value as a string and searches for a sub string (case insensitive). contains(assigned_to, "Marcel")
debug(val, result? = true) Logs a value. debug( concat(title, ": ", id) )
float(val) Converts a value to a float number. float("5.979") == 5.979
int(val) Short version of integer(). int("5.979") == 5
integer(val) Converts a value to an integer number. integer("5.979") == 5
is_after(date, alsoSame?: bool = false) (true), if a card has been created after a specific time. is_after("1979-09-05")
is_assigned_to(val) (true), if a card is assigned to someone (case insensitive). is_assigned_to("Marcel Kloubert")
is_before(date, alsoSame?: bool = false) (true), if a card has been created before a specific time. is_before("2019-09-05")
is_cat(name: string) Short version of is_category(). is_cat("My category")
is_category(name: string) (true), if a card belongs to a specific category (case insensitive). is_category("My category")
is_empty(val) Converts a value to a string and checks if value is empty or contains whitespace only. is_empty(assigned_to)
is_nan(val, asInt?: bool = false) Checks if a value is NOT a number. is_nan(prio)
is_nil(val) Checks if a value is (null) or (undefined). is_nil(category)
is_older(days: number, alsoSameDay?: bool = false) (true), if a card is older than a specific number of days. is_older(30)
is_younger(days: number, alsoSameDay?: bool = false) (true), if a card is younger than a specific number of days. is_younger(30)
norm(val) Short version of normalize(). norm(" Marcel Kloubert ") == "marcel kloubert"
normalize(val) Converts a value to a string and converts the characters to lower case by removing leading and ending whitespaces. normalize(" Marcel Kloubert ") == "marcel kloubert"
number(val) Alias of float(). number("5.979") == 5.979
regex(val, pattern: string, flags?: string) (true) if a value matches a regular expression. s. RegExp regex(assigned_to, "^(marcel|tanja)", "i")
str(val) Converts a value to a string. str(59.79) == "59.79"
str_invoke(val, methods: string, ...args) Handles a value as string and invokes methods for it. s. String str_invoke(assigned_to, "trim,toLowerCase") == "marcel" or str_invoke(assigned_to, "indexOf", "Marcel") > -1
unix(val, isUTC?: bool = true) Returns the UNIX timestamp of a date/time value. time > unix("1979-09-05 23:09:00")

For more functions, s. Expressions.

If a filter expression is invalid or its execution fails, a log entry will be written.

Handle events []

For handling events, you can create a Node.js JavaScript file, called vscode-kanban.js, inside your .vscode subfolder of your workspace and start with the following skeleton (s. EventScriptModule interface):

// all 'args' parameters are based on
// 'EventScriptFunctionArguments' interface
// 
// s. https://mkloubert.github.io/vscode-kanban/interfaces/_workspaces_.eventscriptfunctionarguments.html

// use any Node.js 7 API, s. https://nodejs.org/
const fs = require('fs');
// use VSCode API, s. https://code.visualstudio.com/docs/extensionAPI/vscode-api
const vscode = require('vscode');

// [OPTIONAL]
// 
// Is raised after a CARD has been CREATED.
exports.onCardCreated = async (args) => {
    // args.data => s. https://mkloubert.github.io/vscode-kanban/interfaces/_boards_.cardcreatedeventdata.html

    // access a module of that extension
    // s. https://github.com/mkloubert/vscode-kanban/blob/master/package.json
    const FSExtra = args.require('fs-extra');

    // write own data to
    // 'tag' property of a card (args.tag)
    // 
    // also works in:
    // - onCardMoved()
    // - onCardUpdated()
    await args.setTag( 'Any JSON serializable data.' );    
};

// [OPTIONAL]
// 
// Is raised after a CARD has been DELETED.
exports.onCardDeleted = async (args) => {
    // args.data => s. https://mkloubert.github.io/vscode-kanban/interfaces/_boards_.carddeletedeventdata.html
};

// [OPTIONAL]
// 
// Is raised after a CARD has been MOVED.
exports.onCardMoved = async (args) => {
    // args.data => s. https://mkloubert.github.io/vscode-kanban/interfaces/_boards_.cardmovedeventdata.html
};

// [OPTIONAL]
// 
// Is raised after a CARD has been UPDATED.
exports.onCardUpdated = async (args) => {
    // args.data => s. https://mkloubert.github.io/vscode-kanban/interfaces/_boards_.cardupdatedeventdata.html
};

// [OPTIONAL]
// 
// Is raised after a column has been cleared.
exports.onColumnCleared = async (args) => {
    // args.data => s. https://mkloubert.github.io/vscode-kanban/interfaces/_boards_.columnclearedeventdata.html
};

// [OPTIONAL]
// 
// Is raised when an user clicks on a card's 'Execute' button.
// This requires global extension / workspace setting 'canExecute' to be set to (true).
exports.onExecute = async (args) => {
    // args => https://mkloubert.github.io/vscode-kanban/interfaces/_workspaces_.eventscriptfunctionarguments.html
    // args.data => s. https://mkloubert.github.io/vscode-kanban/interfaces/_boards_.executecardeventarguments.html
};

// [OPTIONAL]
// 
// Is raised when an user clicks on a card's 'Track Time' button.
// This requires global extension / workspace setting 'canTrackTime' to be set to (true).
exports.onTrackTime = async (args) => {
    // args => https://mkloubert.github.io/vscode-kanban/interfaces/_workspaces_.eventscriptfunctionarguments.html
    // args.data => s. https://mkloubert.github.io/vscode-kanban/interfaces/_boards_.tracktimeeventarguments.html
};


// [OPTIONAL]
// 
// Generic fallback function, if a function is not defined for an event.
exports.onEvent = async (args) => {
    // args.name => name of the event
    // args.data => object with event data  
};

Time tracking []

Simple time tracking []

Demo 3

Set the value of trackTime inside your .vscode/settings.json to (true):

{
    "kanban": {
        "trackTime": true
    }
}

This will run a simple workflow, which writes all required data to the tag property of the underlying card (s. .vscode/vscode-kanban.json).

Toggl []

Demo 4

To use the build-in Toggl integration, you have to setup your personal API token, which can you find in your profile settings:

{
    "kanban": {
        "trackTime": {
            "type": "toggl",
            "token": "<YOUR-API-TOKEN>"
        }
    }
}

If you do not want (or if you not able) to save the token in the settings, you can define the path to a text file, which contains it.

For example, create a text file inside your home directory, like toggl.txt, and write the token there. After that, you must define the path of the text file in the settings (.vscode/settings.json):

{
    "kanban": {
        "trackTime": {
            "type": "toggl",
            "token": "toggl.txt"
        }
    }
}

You also can define an absolute path, like D:/toggl/api-token.txt or /home/mkloubert/toggl-api-token.txt.

For the case, your board belongs to a specific Toggl project and you know its ID, you can define it explicitly:

{
    "kanban": {
        "trackTime": {
            "type": "toggl",
            "token": "<API-TOKEN>",

            "project": 123
        }
    }
}

Custom time tracking []

For handling 'track time' events, you can create or edit a Node.js JavaScript file, called vscode-kanban.js, inside your .vscode subfolder of your workspace and add the following function:

exports.onTrackTime = async (args) => {
    // args => https://mkloubert.github.io/vscode-kanban/interfaces/_workspaces_.eventscriptfunctionarguments.html
    // args.data => s. https://mkloubert.github.io/vscode-kanban/interfaces/_boards_.tracktimeeventarguments.html

    // use any Node.js 7 API, s. https://nodejs.org/
    const fs = require('fs');

    // use VSCode API, s. https://code.visualstudio.com/docs/extensionAPI/vscode-api
    const vscode = require('vscode');

    // access a module of that extension
    // s. https://github.com/mkloubert/vscode-kanban/blob/master/package.json
    const moment = args.require('moment');

    // options from the settings, s. below
    const OPTS = args.options;


    // start implement your workflow here
};

You also have to update the extension settings:

{
    "kanban": {
        "trackTime": {
            "type": "script",
            "options": {
                "MK": 239.79,
                "TM": "5979"
            }
        }
    }
}

Customization []

Columns []

An example of setting up custom column names:

{
    "kanban": {
        "columns": {
            "done": "Finished",
            "inProgress": "Work",
            "testing": "Currently Testing",
            "todo": "Ideas and TODOs"
        }
    }
}

CSS []

If you want to style your board, you can create a file, called vscode-kanban.css, inside your .vscode sub folder of the underlying workspace or your home directory.

Have a look at the files board.css and style.css to get an idea of the CSS classes, that are used.

Logs []

Log files are stored inside the .vscode-kanban/.logs subfolder of the user's home directory, separated by day.

Support and contribute []

If you like the extension, you can support me at https://marcel.coffee

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

The complete API documentation can be found here.

Contributors []

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.

vscode-kanban's People

Contributors

mkloubert avatar pmiossec avatar rainbyte avatar styxxy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vscode-kanban's Issues

Parse the document for Todos

Hi

It would be nice if this addon parses the edited documents for tags like TODO, BUG etc and creates boards based on those as well.

thanks

Make file format more VCS and merge friendly

The current format is this one:

{
  "done": [],
  "in-progress": [
    {
      "assignedTo": {
        "name": "XXX"
      },
      "creation_time": "2018-10-09T10:36:57.861Z",
      "id": "1",
      "references": [],
      "title": "task1"
    }
  ],
  "testing": [],
  "todo": [
    {
      "assignedTo": {
        "name": "XXX"
      },
      "creation_time": "2018-10-09T10:37:05.733Z",
      "id": "2",
      "references": [],
      "title": "task2"
    },
    {
      "assignedTo": {
        "name": "YYY"
      },
      "creation_time": "2018-10-09T10:38:20.165Z",
      "id": "3",
      "references": [],
      "title": "task3"
    }
  ]
}

I think that a different format where the arrays corresponding to the kaban columns contains only the card ids could improve a lot readability of diffs when using a VCS (like git) but most important will make the file mergeable if you use the kanban board with multiple users and that you have conflicts to solve.

The current file format is very hard to merge so this extension could nearly be used only by 1 user :(

For example if someone change a value of a card and the other just change the column of the card...

Something that look like:

{
  "todo": ["3"],
  "in-progress": ["2"],
  "testing": [],
  "done": ["1"],
  "tasks": [
    {
      "assignedTo": {
        "name": "XXX"
      },
      "creation_time": "2018-10-09T10:36:57.861Z",
      "id": "1",
      "references": [],
      "title": "task1"
    },
    {
      "assignedTo": {
        "name": "XXX"
      },
      "creation_time": "2018-10-09T10:37:05.733Z",
      "id": "2",
      "references": [],
      "title": "task2"
    },
    {
      "assignedTo": {
        "name": "XXX"
      },
      "creation_time": "2018-10-09T10:38:20.165Z",
      "id": "3",
      "references": [],
      "title": "task3"
    }
  ]
}

And that format could also help:

  • if you want to add reorder of tasks in the columns
  • if you want to keep a task once "done" and "cleared" (without deleting all its content). Now all the card data are deleted :( That could be a setting if we want to delete the card data or just remove the id from the "done" array.

PS: thanks for this good extension!

Add a button to add mermaid template

Could you add a button that, when clicked, add the template to add mermaid graph?
That will improve discoverability because the link to the doc don't give it...

This one:

```mermaid
```

Adopt VS Code's 'asWebviewUri' API

Hi, I maintain VS Code's Webview API

Issue

Our telemetry suggests that your extension uses webviews and may be loading resources in these webviews using hardcoded vscode-resource: URIs. These URIs have some important limitations and don't work properly when VS Code is run in a browser. We are also making changes in the desktop version of VS Code that may cause these URIs to not work properly in future versions of VS Code.

While we are making our best effort to continue support existing webview extensions that use vscode-resource: URIs on desktop versions of VS Code, we will not able to fully support all uses cases.

Fix

To ensure that your extension continues to work in as many environments as possible—including on web and remotely—please:

These APIs shipped around 2 years ago so they should be available in all modern versions of VS Code. You can find additional information about the issue here: microsoft/vscode#97962

Let me know if you have any questions about this change

Cloud Saving board

I would love to save Kanban boards to either github or Onedrive in the form of a JSON file or XML file which can be loaded in-case of a crash within vscode.

How are colors on cards determined?

I'm trying to figure out what makes cards show up as one color or another. There doesn't appear to be any documentation or explanation on how this is determined, or if you can configure it.

For instance, I would have thought that naming it in the same category would result in the same card color, but that doesn't appear to be the case.

Open in new window

Is there a way to open the board in a new window? Particularly for Mac.

"cmd + k, o" opens the current file in a new window however this doesn't seem to work as it seems to need the workspace to open however vscode seems to only allow one window with a particular workspace open at a time.

Unable to install on Version 1.22.1 (1.22.1)

I've installed and reloaded, added the following into my code base, different tries into my settings.

Why won't this just install like every other app?

Normally Microsoft products are not known for reliability but on my iMac, I'm impressed with how well it works but your extension is the first that won't just poof load.

Help.

{ "folders": [ { "path": "." } ], "settings": { "kanban": { "openOnStartup": true } } }

[Feature Request] Reorder cards via drag-drop

Reordering cards using drag-and-drop would be good so we can prioritize cards. In typical kanban/scrum style, the more important cards could then be dragged to the top.

(If this is ever implemented, it could be extended to dragging between columns too.)

Integration with GitHub and GitLab

Hello Marcel,

your extensions for VSCode is a big step for many other developers!

I think it's also a good idea to have a connection to GitHub or GitLab. The Kanban board of issues may help also other developer to work directly from the VSCode IDE.

Keep on your good work!

Best regards
Tobias K.

[Feature Request] Better documentation and config for column renaming

Steps: - delete the `vscode-kanban.json` - open kanban tab, which recreates that file - close kanban tab - add the [renaming stuff](https://github.com/mkloubert/vscode-kanban#columns-) to the file, so the file looks like below - reopen kanban tab - columns are not renamed (and sometimes a little loading indicator animation is shown in each column, which carries on forever)
{
  "todo": [],
  "in-progress": [],
  "testing": [],
  "done": [],
  "kanban": {
    "columns": {
      "done": "Finished",
      "inProgress": "Work",
      "testing": "Currently Testing",
      "todo": "Ideas and TODOs"
    }
  }
}

No workspace error

After installation via vscode extensions, when I enter the command "kanban: open board", an error occurred: "No workspace found".
Screen Shot 2020-06-02 at 23 16 31

Global Style Settings

@mkloubert , You mention in the Readme that a user may place global CSS settings in the root .vscode folder:

If you want to style your board, you can create a file, called vscode-kanban.css, inside your .vscode sub folder of the underlying workspace or your home directory.

I have tried creating this file, but it does not appear to propagate the style settings to the project folder from the location at $HOME/.vscode/vscode-kanban.css.

Is there any chance you could take a look and see exactly how this should be placed to ensure the settings take effect?

[Feature request] Another text input field for writing on the back of the card

Great extension!

To keep the card nice and simple:

  1. limit the total characters in the input field and wrap the display to the length of the card (avoid horizontal and vertical scroll bar)
  2. add another input field for writing more details on the back of the card, which will open in full (e.g. by double-clicking)
  3. save the card as *.md artifacts in the repository with some frontmatter so it can be searched.

Question: Is it possible to add other categories like "Announcements / Breaking Changes"?

I've discovered your extension and i would like to know if there's a possibility to add user defined categories (at least one) without a workflow in the background... Im thinking of a "Announcement" or "Breaking Changes" categories to present the "coder" with important information. This category could be displayed without "moving cards between different categories", cards sorted by newest on top.. ...
Its not kanban but... i think if kanban-show-on-open is activated and it's displaying the announcements it could be somehowuseful ... (-:

Move tab to another window

Hello,

I do not have the possibility to move the kanban tab to another open window of VSCode.
Normally when I do this with other files, they act as if the tab is copied in the other tab and they belong both open, but this with the extension I can not do it.

Is there a way to make task id simple positive integer?

Hello.
Currently task id is big string like '20180702151728_179455396_9237fae6e510bfd542e5cba517105482' which is fine to be too unique.
It would be great having it as simple positive integer like 1,2,3... or add another field with autoincrement(+1).
Thus it can be put in commit like 'closing task id #1' in clear way.

Key Esc when you are editing

HI,
When I am editing a card, and I press the Esc key, the card closes without asking if I want to save, or I really want to exit. It would be nice to ask you how you ask when you are going to eliminate a card

[Feature request] Group cards by Category

It would be super cool to have ability to group / separate cards vertiacally by Category as on following screenshot:

vertical split

If you have serveral subprojects, it can get pretty confusing really quickly.

Question: How to customize header backgrounds?

It seems impossible to change headers background via CSS
I tried this code to remove all backgrounds

* {
  background-color: transparent !important;
}

but headers background did not change.

What happens with the links in markdown format?

Hello,

First of all, I wanted to thank you for this great extension you have. It helps me a lot to organize myself.

I've seen the last update, and I'm testing the Details in Markdown with links, and when I double click to see the description in non-editable mode, the links appear as plain text
errorkanbanlink
errorkanban2

Or is it something I'm doing wrong?

🔨🔨🔨 [REFACTORING] New Board Design 🔨🔨🔨

If you like to create a new view, you can fork the following repository:

https://github.com/vscode-kanban/view

In my opinion, the best thing is, that you create a full working mock with all features. I will be the one, that connects the VS Code WebView later, after the view has been finished.

Have a look at the following files

to get an idea how data is send between VSCode and the WebView.

vsckb_post() is currently the function that sends data from WebView to VSCode.

window.addEventListener('message', (e) => {}) is the callback that receives data from VSCode.

Please use the issue tracker at the new location: https://github.com/vscode-kanban/view/issues

Create your pull requests here: https://github.com/vscode-kanban/view/pulls

Possible Bug (Edit card)

When i click on Edit Card, always the same short description (of the last Card i edited) is displayed regardless which Card i edit....
The data is stored correctly

[Feature Request] Disable logging

The logging feature is cool, especially when we need to diagnose some problem.

But most of the time there is no need for it, and it just creates endless logs which aren't useful. So it would be nice to have a config option to disable logging.

Default to maintain backwards compatibility:

"shouldLog" : true,

But can be disabled.

Built-in themes support

Is there any appetite for a PR which adds better theming support?

My thinking is the project could ship with at least 2 themes (light and dark), and could provide a new command to choose the active theme. Users could still override this with custom CSS in .vscode

A nice-to-have would be to detect if the user's current VSCode theme is a light or dark theme and then default to the appropriate board theme.

Details field don't clean itself when opening new task

Hello.
Found a small bug with details field.

How to reproduce:

  • Add a new task
    • Fill title
    • Fill details
    • Click Add button
  • Add new task
    • Fill title
    • Click on details tab and you'll see details data of the previous task.
    • If you click inside details field - it'll get cleared immediately.

Customize columns

Hello.
Is there a way to create my own set of columns on board instead of default(todo, in-progress, testing, done)?
If not - it would be great.
As of now I don't use Testing column at all on small repos, so I would like to delete it.
And in bigger one - I would like to add more columns additionally.
Thank you, Alexander.

[Feature Request] Dark mode

Would be nice to have this extension in dark mode. There is a way to change the UI with css.

Has anyone worked up a decent-looking dark mode stylsheet that can be shared here?

@mkloubert what are the css classes for background, swimlanes, etc.? They are not referenced in the default stylesheet.

Categories Remains Blank after time period

There is a time when the blackboard with the categories remains blank, without tasks. as if it were initialized.

This is normal?
I would not know how to reproduce it. I just know that I have to close the Kanban tab and reopen the command.

🔔🔔🔔 NEED YOUR HELP FOR REFACTORING 🔔🔔🔔

Hi!

After a long time, I have decided to refactor and redesign the extension completly.

As you can see: I have not much time to do all the tasks, so I'd like to ask you for help.

My main goals are:

And of course the other stuff here in that issue section. ;-)

That post should be the start point for you and others, so feel free to post your ideas here.

Clear Inputs when click on Add

Hi,

¿Can you clean the inputs when we add a new card?,

When I added a cad and added another, the configuration of the previous task is still in the modal, I have to erase everything

Link Kanban board

I would like to see the option to create a link within any file in VSCode and that link or what have you would load up Kanban Board; without having to load Kanban board separately.

<Enter> in input method is captured by kanban

Using CJK input method, open a new TODO panel, input nihao at name filed,
Pasted Graphic 4

typed , nihao was inputted to name filed.
but the cursor moved to Description field:
181558079477_ pic

The cursor should keep in name filed.

[Feature Request] Button in sidebar

Would be nice to have a button in the sidebar that opens the kanban tab.

And a config option to show/hide it for those who don't want it.

High CPU Load

is:issue state:open "Extension causes high cpu load"

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.