允许自动缩进二维数组的编辑器或扩展,如 table
editor or extension that allows to auto-indent two dimensional array like table
我正在寻找一个编辑器或插件(最好是 VS Code),它允许我像这样自动格式化数组:
const lines = [
[ "step-1", "step", "step-1", "", `["1"]` ],
[ "r", "repeater", "r", "", `[]` ],
[ "mycheckbox__1[]", "input", "mycheckbox[]", "__1", `[]` ],
[ "myradio__1", "input", "myradio", "__1", `[]` ],
[ "mytext__1", "input", "mytext", "__1", `[""]` ],
[ "myurl__1", "input", "myurl", "__1", `[""]` ],
[ "myemail__1", "input", "myemail", "__1", `[""]` ],
[ "myselect__1", "input", "myselect", "__1", `[""]` ],
[ "mymultiselect__1[]", "input", "mymultiselect[]", "__1", `[]` ],
[ "myfile__1", "input", "myfile", "__1", `[""]` ],
[ "mymultifile__1[]", "input", "mymultifile[]", "__1", `[""]` ],
[ "mycheckbox__2[]", "input", "mycheckbox[]", "__2", `[]` ],
[ "myradio__2", "input", "myradio", "__2", `[]` ],
[ "mytext__2", "input", "mytext", "__2", `[""]` ],
[ "myurl__2", "input", "myurl", "__2", `[""]` ],
[ "myemail__2", "input", "myemail", "__2", `[""]` ],
[ "myselect__2", "input", "myselect", "__2", `[""]` ],
[ "mymultiselect__2[]", "input", "mymultiselect[]", "__2", `[]` ],
[ "myfile__2", "input", "myfile", "__2", `[""]` ],
[ "mymultifile__2[]", "input", "mymultifile[]", "__2", `[""]` ],
[ "r_count", "input", "r_count", "", `["1"]` ],
[ "root-mycheckbox[]", "input", "root-mycheckbox[]", "", `[]` ],
[ "root-myradio", "input", "root-myradio", "", `[]` ],
[ "root-mytext", "input", "root-mytext", "", `[""]` ],
[ "root-myurl", "input", "root-myurl", "", `[""]` ],
[ "root-myemail", "input", "root-myemail", "", `[""]` ],
[ "root-myselect", "input", "root-myselect", "", `[""]` ],
[ "root-mymultiselect[]", "input", "root-mymultiselect[]", "", `[]` ],
[ "root-myfile", "input", "root-myfile", "", `[""]` ],
[ "root-mymultifile[]", "input", "root-mymultifile[]", "", `[""]` ],
[ "step-2", "step", "step-2", "", `["2"]` ],
];
更易读的内容,例如:
const lines = [
[ "step-1", "step", "step-1", "", `["1"]` ],
[ "r", "repeater", "r", "", `[]` ],
[ "mycheckbox__1[]", "input", "mycheckbox[]", "__1", `[]` ],
[ "myradio__1", "input", "myradio", "__1", `[]` ],
[ "mytext__1", "input", "mytext", "__1", `[""]` ],
[ "myurl__1", "input", "myurl", "__1", `[""]` ],
[ "myemail__1", "input", "myemail", "__1", `[""]` ],
[ "myselect__1", "input", "myselect", "__1", `[""]` ],
[ "mymultiselect__1[]", "input", "mymultiselect[]", "__1", `[]` ],
[ "myfile__1", "input", "myfile", "__1", `[""]` ],
[ "mymultifile__1[]", "input", "mymultifile[]", "__1", `[""]` ],
[ "mycheckbox__2[]", "input", "mycheckbox[]", "__2", `[]` ],
[ "myradio__2", "input", "myradio", "__2", `[]` ],
[ "mytext__2", "input", "mytext", "__2", `[""]` ],
[ "myurl__2", "input", "myurl", "__2", `[""]` ],
[ "myemail__2", "input", "myemail", "__2", `[""]` ],
[ "myselect__2", "input", "myselect", "__2", `[""]` ],
[ "mymultiselect__2[]", "input", "mymultiselect[]", "__2", `[]` ],
[ "myfile__2", "input", "myfile", "__2", `[""]` ],
[ "mymultifile__2[]", "input", "mymultifile[]", "__2", `[""]` ],
[ "r_count", "input", "r_count", "", `["1"]` ],
[ "root-mycheckbox[]", "input", "root-mycheckbox[]", "", `[]` ],
[ "root-myradio", "input", "root-myradio", "", `[]` ],
[ "root-mytext", "input", "root-mytext", "", `[""]` ],
[ "root-myurl", "input", "root-myurl", "", `[""]` ],
[ "root-myemail", "input", "root-myemail", "", `[""]` ],
[ "root-myselect", "input", "root-myselect", "", `[""]` ],
[ "root-mymultiselect[]", "input", "root-mymultiselect[]", "", `[]` ],
[ "root-myfile", "input", "root-myfile", "", `[""]` ],
[ "root-mymultifile[]", "input", "root-mymultifile[]", "", `[""]` ],
[ "step-2", "step", "step-2", "", `["2"]` ],
];
我找过一些在线工具,但找到了 none。虽然有一些扩展来格式化 CSV 文件,但首先将我的代码转换为有效的 CSV 文件,然后使用查找和替换添加括号有点麻烦。
因此,目前,如果数组不是太大,我仍然会手动使用 Tab 键标记这样的数组。不过在我的代码编辑器中有一个自动格式化工具会很酷。
我在你的代码上试过这个扩展,效果很好:Smart Column Indenter
此扩展提供命令,例如 extension.smartColumnIndenter.indentN
默认绑定到一个键绑定:Ctrl+I Ctrl+N 所以你可以使用它或 re-bind 它而不是像我在演示中那样使用上下文菜单。
CudaText 编辑器(免费)现在有了插件,它是根据这个问题编写的。
- 菜单“插件/插件管理器/安装”
- 找到“CudaExt”插件
- CudaExt 插件将提供菜单项“Plugins / Cuda-Ext / Align / Align comma-separated columns in selected lines”
请注意,对于您的示例,它不会对齐最后的 ]
括号,因为它适用于任何语法。某些语法可以在行尾允许 op[ind]
之类的东西,因此它不会对齐 ]
括号以不破坏代码。
我正在寻找一个编辑器或插件(最好是 VS Code),它允许我像这样自动格式化数组:
const lines = [
[ "step-1", "step", "step-1", "", `["1"]` ],
[ "r", "repeater", "r", "", `[]` ],
[ "mycheckbox__1[]", "input", "mycheckbox[]", "__1", `[]` ],
[ "myradio__1", "input", "myradio", "__1", `[]` ],
[ "mytext__1", "input", "mytext", "__1", `[""]` ],
[ "myurl__1", "input", "myurl", "__1", `[""]` ],
[ "myemail__1", "input", "myemail", "__1", `[""]` ],
[ "myselect__1", "input", "myselect", "__1", `[""]` ],
[ "mymultiselect__1[]", "input", "mymultiselect[]", "__1", `[]` ],
[ "myfile__1", "input", "myfile", "__1", `[""]` ],
[ "mymultifile__1[]", "input", "mymultifile[]", "__1", `[""]` ],
[ "mycheckbox__2[]", "input", "mycheckbox[]", "__2", `[]` ],
[ "myradio__2", "input", "myradio", "__2", `[]` ],
[ "mytext__2", "input", "mytext", "__2", `[""]` ],
[ "myurl__2", "input", "myurl", "__2", `[""]` ],
[ "myemail__2", "input", "myemail", "__2", `[""]` ],
[ "myselect__2", "input", "myselect", "__2", `[""]` ],
[ "mymultiselect__2[]", "input", "mymultiselect[]", "__2", `[]` ],
[ "myfile__2", "input", "myfile", "__2", `[""]` ],
[ "mymultifile__2[]", "input", "mymultifile[]", "__2", `[""]` ],
[ "r_count", "input", "r_count", "", `["1"]` ],
[ "root-mycheckbox[]", "input", "root-mycheckbox[]", "", `[]` ],
[ "root-myradio", "input", "root-myradio", "", `[]` ],
[ "root-mytext", "input", "root-mytext", "", `[""]` ],
[ "root-myurl", "input", "root-myurl", "", `[""]` ],
[ "root-myemail", "input", "root-myemail", "", `[""]` ],
[ "root-myselect", "input", "root-myselect", "", `[""]` ],
[ "root-mymultiselect[]", "input", "root-mymultiselect[]", "", `[]` ],
[ "root-myfile", "input", "root-myfile", "", `[""]` ],
[ "root-mymultifile[]", "input", "root-mymultifile[]", "", `[""]` ],
[ "step-2", "step", "step-2", "", `["2"]` ],
];
更易读的内容,例如:
const lines = [
[ "step-1", "step", "step-1", "", `["1"]` ],
[ "r", "repeater", "r", "", `[]` ],
[ "mycheckbox__1[]", "input", "mycheckbox[]", "__1", `[]` ],
[ "myradio__1", "input", "myradio", "__1", `[]` ],
[ "mytext__1", "input", "mytext", "__1", `[""]` ],
[ "myurl__1", "input", "myurl", "__1", `[""]` ],
[ "myemail__1", "input", "myemail", "__1", `[""]` ],
[ "myselect__1", "input", "myselect", "__1", `[""]` ],
[ "mymultiselect__1[]", "input", "mymultiselect[]", "__1", `[]` ],
[ "myfile__1", "input", "myfile", "__1", `[""]` ],
[ "mymultifile__1[]", "input", "mymultifile[]", "__1", `[""]` ],
[ "mycheckbox__2[]", "input", "mycheckbox[]", "__2", `[]` ],
[ "myradio__2", "input", "myradio", "__2", `[]` ],
[ "mytext__2", "input", "mytext", "__2", `[""]` ],
[ "myurl__2", "input", "myurl", "__2", `[""]` ],
[ "myemail__2", "input", "myemail", "__2", `[""]` ],
[ "myselect__2", "input", "myselect", "__2", `[""]` ],
[ "mymultiselect__2[]", "input", "mymultiselect[]", "__2", `[]` ],
[ "myfile__2", "input", "myfile", "__2", `[""]` ],
[ "mymultifile__2[]", "input", "mymultifile[]", "__2", `[""]` ],
[ "r_count", "input", "r_count", "", `["1"]` ],
[ "root-mycheckbox[]", "input", "root-mycheckbox[]", "", `[]` ],
[ "root-myradio", "input", "root-myradio", "", `[]` ],
[ "root-mytext", "input", "root-mytext", "", `[""]` ],
[ "root-myurl", "input", "root-myurl", "", `[""]` ],
[ "root-myemail", "input", "root-myemail", "", `[""]` ],
[ "root-myselect", "input", "root-myselect", "", `[""]` ],
[ "root-mymultiselect[]", "input", "root-mymultiselect[]", "", `[]` ],
[ "root-myfile", "input", "root-myfile", "", `[""]` ],
[ "root-mymultifile[]", "input", "root-mymultifile[]", "", `[""]` ],
[ "step-2", "step", "step-2", "", `["2"]` ],
];
我找过一些在线工具,但找到了 none。虽然有一些扩展来格式化 CSV 文件,但首先将我的代码转换为有效的 CSV 文件,然后使用查找和替换添加括号有点麻烦。
因此,目前,如果数组不是太大,我仍然会手动使用 Tab 键标记这样的数组。不过在我的代码编辑器中有一个自动格式化工具会很酷。
我在你的代码上试过这个扩展,效果很好:Smart Column Indenter
此扩展提供命令,例如 extension.smartColumnIndenter.indentN
默认绑定到一个键绑定:Ctrl+I Ctrl+N 所以你可以使用它或 re-bind 它而不是像我在演示中那样使用上下文菜单。
CudaText 编辑器(免费)现在有了插件,它是根据这个问题编写的。
- 菜单“插件/插件管理器/安装”
- 找到“CudaExt”插件
- CudaExt 插件将提供菜单项“Plugins / Cuda-Ext / Align / Align comma-separated columns in selected lines”
请注意,对于您的示例,它不会对齐最后的 ]
括号,因为它适用于任何语法。某些语法可以在行尾允许 op[ind]
之类的东西,因此它不会对齐 ]
括号以不破坏代码。