GithubHelp home page GithubHelp logo

vscode-extension-transformer's People

Contributors

cowcompanion avatar d-akara avatar mat-m 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

vscode-extension-transformer's Issues

Sort and unique in one action?

I would really like to see this option so save me from having to do two things. 🗡
Love the extension - great work.

Rob
:)

How to invoke "Align CSV"

From the documentation it is not clear how to invoke the "Align CSV".
From the animated screenshot it is not clear where to click for the magic to happen.
I tried many left and right clicks on every imaginable and non-imaginable places but none duplicated the screenshot.
Please help....
Meir

Feature request: Natural Sort Order

I would like to request a way to sort in Natural sort order (i.e., sort alphabetically but group multi-digit numbers).

My use case is when I have a column of numbers that I want to sort numerically. For example a sort result might be the following:

foo 2  bar 2
foo 2  bar 11
foo 11 bar 2
foo 11 bar 11

In theory, a "Sort by number" instead of "Sort by natural order" could also satisfy my use case, but I think "Sort by natural order" is more general.

Sort options

Is it possible to control whether the sort is case-sensitive or case-insensitive and whether it is ascending or descending?

Two more split commands

Nice extension which works well for my purpose.

One feature which will save me even more time, is to SplitBeforeDelimiter or SplitAfterDelimiter. It means that the delimiter will stay at Begin or End of Line, respectively.
My example:

When I wrap a list on multiple lines, I want to keep the comma. I know I can add it back with a search& replace, but it will be better if it is not eaten at all.

First example, constants set to reformat:

{plenty_of_long, but_variable_in_length, name_for_a_useful_project}
after SplitAfterDelimiter(",") would give

{plenty_of_long,
 but_variable_in_length,
 name_for_a_useful_project}

Second example, splitting an options list for readability will keep all the details:

-e one=two -e three=four -e do_it=again -v -t 30
after SplitBeforeDelimiter(" -") would give

 -e one=two
 -e three=four
 -e do_it=again
 -v
 -t 30

Thanks for reading

Macro Scripts

VSCode currently does not support recordable macros.
We also can not implement this as an extension since the API's don't let us track all user activity.

This is an attempt at hopefully providing the next best option, macros as scripts.

Feature ideas:

  • Write a macro script which can invoke any vscode command
  • Provide intellisense for commands for quicker authoring
  • Preview in near realtime the script transformation as applied to a document while authoring a script
    • Allow to play macro script step by step, forwards and backwards in preview
  • Save scripts for reuse
  • Provide command which can rerun last macro, useful for repeating via key binding

Make line operations work on multi selections

I find that I use line transformations all the time, but I use multi-selection even more. I often want to transform a number of selected regions, but I always have to copy/paste or manipulate them into a set of lines, do the transform, and then return them to their original locatinos/structure.

If the simpler line operations (sort, reverse, randomize, and maybe trim) could be performed on multiselected regions instead of just lines, that would be a game changer for multiselection manipulation.

For example, consider reversing the order of the color codes in the following:

plotLine1 = Line(
  color="green",
         -----                <---- selection
  legend="Revenues"
)
plotLine2 = Line(
  color="yellow",
         ------               <---- selection
  legend="Costs"
)
plotLine3 = Line(
  color="red",
         ---                  <---- selection
  legend="Profits"
)

Or sorting the city names alphabetically in the following (a little contrived since it could be done trivially in the code itself, but this could be a list in a text document or a non-contiguous selection):

cities = ["Stockholm", "Copenhagen", "Oslo", "Helsinki", "Reykjavik", "Nuuk"]
           ---------    ----------    ----    --------    ---------    ----        <---- selections

Documentation: Filter Lines As New Document/Parent levels

Could you write some additional lines of documentation to explain the
Filter Lines As New Document/ Parent levels command, because I still do not understand it. Seems does nothing for me. If I use it with the positive number then it gives back the whole text and with negative do some changes.
What would be the section level?
Thank you!

ShiftRight and ShiftLeft (Feature)

With multiple lines (or multiselect regions) selected, the ShiftRight / ShiftLeft commands would 'rotate' the lines/selections. E.g. selecting the following lines:

Jerry Cobb
Laura Ortega
Owen Castillo
Randall Boone

then invoking ShiftRight once, would become:

Randall Boone
Jerry Cobb
Laura Ortega
Owen Castillo

Unique lines

2 new commands:

  1. Keep Unique Lines
  2. Unique Lines to New Document

"as New document" overwrites existing temporary document

  1. Create a new document and add a few lines in the untitled document
  2. Run "Unique lines as New document", this opens a new document named "transform-Untitled-1"
  3. Close "Untitled-1" document editor (the one we created in step 1)
  4. Create a new document, this editor gets the same temporary name as the one we created in step 1 namely "Untitled-1". This would be identical to replacing the content of the existing editor.
  5. Add lines and execute "Unique lines as New document" again. This will now overwrite the content in "transform-Untitled-1" which is not desirable. The action specifically says I will get a new document.

I would rather have the transformation action never reuses an open editor but instead create a new one with a unique name.
The current behaviour makes it harder to work with text in unsaved documents.

Feature request / Suggestion -> Transform to lowercase with advanced options

Hello, I've been using your extension for almost a year and I find it very useful.
I'm Italian and unfortunately we have, like many other languages, accents!

It would be very useful to have a command like: "Remove accented characters"
If you are interested in the past I have updated an existing list in an extension called "accent-neutralise", here you can find the most common characters that need to be replaced.

Another useful thing would be replacing spaces with underscores.
In database tables i use lowercase names separated with underscores and they should not contain accented or special characters.

Example: Quantità art. -> quantita_art

If you think this could be implemented in your extension I could try to fork it and provide some help, just tell me if you think it's possible 👍

Thank you for your work! Have a nice day

Unique / sort issues

Hi!

I've just installed your extension, but I've some issues regarding unique/sort transforms.

Sort creating cursors
gif

Unique doing weird stuff around cursor
gif

The version of Transformer is 1.5.1, using Code 1.22.2 on a mac.

SUGGESTION: Unmatched Lines As New Document

I suggest a new command, "Unmatched Lines As New Document"
like "Filter Lines As New Document" but...

A new document is created with lines that do not match the filter.

Thanks!

Add option to compact CSV and keep delimeter

This extension would be great if you could do align csv and unalign csv. This would allow me to see the data in columns and even do some edits and then put everything back together.

Also, why do you remove the comma when doing the align? That breaks the csv.

License

What is the intended license of this project?

The align csv function does not support Chinese well

Transformer is really a good extension. However, The align csv function does not support Chinese well. I hope you could fix this:

test-case:

this,中,some
is,国(备注),other
a,语(其他),key
test,言,contents

then, choose "Transform Align CSV" and the result is:

this ,中     ,some     
is   ,国(备注) ,other    
a    ,语(其他) ,key      
test ,言     ,contents 

Feature Request - Add Characters to Selected Lines

I love this extension and use it daily. Thank you for your hard work.

A helpful feature would be the ability to select lines and add one character to the end of each line - like a comma.

before

1
2
3
4

after

1,
2,
3,
4,

Another helpful feature be the ability to select lines and add characters before and after each line (example below).

before

1
2
3
4

after

array.Add("1");
array.Add("2");
array.Add("3");
array.Add("4");

Escapes, Encodings, Converters and Generators

Provide commands for common escapes, encodings or other value conversions

  • URL Encoding / Decoding
  • HTML Entities Escape / Unescape
  • XML Entities Escape / Unescape
  • MD5 Hash
  • Timestamp converter
  • hex/bin/dec converter
  • UUID Generator
  • ULID Generator

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.