This extension can be formatted and processed to copy text to the clipboard.
It has the following formatting features
- Line numbers can be added.
- Include file names and absolute or relative paths in headers and footers.
- Copying without blank lines.
- Remove the minimum indentation in the copied area.
- You can trim the beginning or end of a line.
- You can fill spaces to the end of a line.
Copy Format Code - Visual Studio Marketplace
https://marketplace.visualstudio.com/items?itemName=SatoshiYamamoto.vscode-copy-format-code
standard-software/vscode-copy-format-code
https://github.com/standard-software/vscode-copy-format-code
standard.software.net@gmail.com
Japanese / English
[ Copy Format Code : Copy : Format 1 ]
[ Copy Format Code : Copy : Format 2 ]
[ Copy Format Code : Copy : Format 3 ]
[ Copy Format Code : Select Format... ]
Command | Default Function | Default Key Windows | Default Key Mac |
---|---|---|---|
Copy : Format 1 | Markdown LineNumber : Cut MinIndent | Alt + Ctrl + C | Opt + Ctrl + C |
Copy : Format 2 | Markdown : Cut MinIndent | Alt + Shift + C | Opt + Shift + C |
Copy : Format 3 | Header RelativePath LineNumber : Cut MinIndent | Alt + Ctrl + Shift + C | Opt + Ctrl + Shift + C |
Selecting multiple selections and this command will copy them to the clipboard according to your settings.
To change the settings, edit the setting.json.
Default Setting ./SETTING_SAMPLE.md
If you specify multiple selections and select this command, you can choose a function according to the menu settings below.
The text formatted with the content of the selected items is copied to the clipboard.
Default Setting
- Copy Format Code : Select Format ...
- Markdown >>
- Markdown
- Markdown : Cut MinIndent
- Markdown : Delete BlankLine
- Markdown : Cut MinIndent and Delete BlankLine
- Markdown LineNumber >>
- Markdown LineNumber
- Markdown LineNumber : Cut MinIndent
- Markdown LineNumber : Delete BlankLine
- Markdown LineNumber : Cut MinIndent and Delete BlankLine
- Header RelativePath >>
- Header RelativePath
- Header RelativePath : Cut MinIndent
- Header RelativePath : Delete BlankLine
- Header RelativePath : Cut MinIndent and Delete BlankLine
- Header RelativePath LineNumber >>
- Header RelativePath LineNumber
- Header RelativePath LineNumber : Cut MinIndent
- Header RelativePath LineNumber : Delete BlankLine
- Header RelativePath LineNumber : Cut MinIndent and Delete BlankLine
- Other >>
- Delete Indent >>
- Markdown : Delete Indent
- Markdown LineNumber : Delete Indent
- Header RelativePath : Delete Indent
- Header RelativePath LineNumber : Delete Indent
- Fill Spaces EndOfLine >>
- Markdown : Fill Spaces EndOfLine
- Markdown LineNumber : Fill Spaces EndOfLine
- Header RelativePath : Fill Spaces EndOfLine
- Header RelativePath LineNumber : Fill Spaces EndOfLine
- Delete Indent and Fill Spaces EndOfLine >>
- Markdown : Delete Indent and Fill Spaces EndOfLine
- Markdown LineNumber : Delete Indent and Fill Spaces EndOfLine
- Header RelativePath : Delete Indent and Fill Spaces EndOfLine
- Header RelativePath LineNumber : Delete Indent and Fill Spaces EndOfLine
```txt // TestFile/ // test.txt : 3-17 item 1 item 1-1 item 1-1-1 item 1-1-2 item 1-2 item 2 item 2-1 item 2-2 ```
```txt // TestFile/ // test.txt 03: 04: item 1 05: 06: 07: item 1-1 08: item 1-1-1 09: item 1-1-2 10: item 1-2 11: 12: 13: 14: item 2 15: item 2-1 16: item 2-2 17: ```
TestFile/ test.txt : 3-17 item 1 item 1-1 item 1-1-1 item 1-1-2 item 1-2 item 2 item 2-1 item 2-2
TestFile/ test.txt 04: item 1 07: item 1-1 08: item 1-1-1 09: item 1-1-2 10: item 1-2 14: item 2 15: item 2-1 16: item 2-2
settings.json can be found in the following file.
Default Setting ./SETTING_SAMPLE.md
{
"CopyFormatCode.CopyFormat1": {
"label": "Markdown LineNumber : Cut MinIndent",
"format": {
"header": "```%FileExt%\n// %FolderPathRelativeProjectSlash%/\n// %FileName%",
"body": "%NumberFile%: %LineCutMinIndent%",
"bodySeparator": ":",
"footer": "```"
}
},
"CopyFormatCode.CopyFormat2": {
"label": "Markdown : Cut MinIndent",
"format": {
"header": "```%FileExt%\n// %FolderPathRelativeProjectSlash%/\n// %FileName% : %NumberStart%-%NumberEnd%",
"body": "%LineCutMinIndent%",
"bodySeparator": ":",
"footer": "```"
}
},
"CopyFormatCode.CopyFormat3": {
"label": "Header RelativePath LineNumber : Cut MinIndent",
"format": {
"header": "%FolderPathRelativeProjectSlash%/\n%FileName%",
"body": "%NumberFile%: %LineCutMinIndent%",
"bodySeparator": ""
}
},
"CopyFormatCode.SelectFormatMenu": [
{
"label": "Markdown",
"format": {
"header": "```%FileExt%\n// %FolderPathRelativeProjectSlash%/\n// %FileName% : %NumberStart%-%NumberEnd%",
"body": "%Line%",
"bodySeparator": ":",
"footer": "```"
}
},
{
"label": "Markdown LineNumber : Cut MinIndent",
"format": {
"header": "```%FileExt%\n// %FolderPathRelativeProjectSlash%/\n// %FileName%",
"body": "%NumberFile%: %LineCutMinIndent%",
"bodySeparator": ":",
"footer": "```"
}
},
{
"label": "Header RelativePath : Delete BlankLine",
"format": {
"header": "%FolderPathRelativeProjectSlash%/\n%FileName% : %NumberStart%-%NumberEnd%",
"body": "%SkipBlankLine%%Line%",
"bodySeparator": ""
}
},
{
"label": "Header RelativePath LineNumber : Cut MinIndent and Delete BlankLine",
"format": {
"header": "%FolderPathRelativeProjectSlash%/\n%FileName%",
"body": "%NumberFile%: %LineCutMinIndent%%SkipBlankLine%",
"bodySeparator": ""
}
}
],
}
Format Text | value | note |
---|---|---|
%FilePath% | C:\workspace\project\TestFile\test.txt | Full path of a file |
%FilePathSlash% | C:/workspace/project/TestFile/test.txt | Full path of a file convert \ to / for Windows |
%FileName% | test.txt | File name |
%FileNameWithoutExt% | test | File name without ext |
%FileExt% | txt | File ext |
%FolderPath% | C:\workspace\project\TestFile | Folder path |
%FolderPathSlash% | C:/workspace/project/TestFile | Folder path convert \ to / for Windows |
%FolderName% | TestFile | Folder name |
%FilePathRelative% | TestFile\test.txt | Relative path of the file |
%FilePathRelativeSlash% | TestFile/test.txt | Relative path of the file convert \ to / for Windows |
%FolderPathRelative% | TestFile | Relative path of the folder |
%FolderPathRelativeSlash% | TestFile | Relative path of the folder convert \ to / for Windows |
%FilePathRelativeProject% | project\TestFile\test.txt | Relative path to the file containing the project name |
%FilePathRelativeProjectSlash% | project/TestFile/test.txt | Relative path to the file containing the project name convert \ to / for Windows |
%FolderPathRelativeProject% | project\TestFile | Relative path to the folder containing the project name |
%FolderPathRelativeProjectSlash% | project/TestFile | Relative path to the folder containing the project name convert \ to / for Windows |
%ProjectFolderPath% | C:\workspace\project\TestFile | Project Folder Path |
%ProjectFolderPathSlash% | C:/workspace/project/TestFile | Project Folder Path convert \ to / for Windows |
%ProjectName% | TestFile | Project file name |
%NumberStart% | 3 | First line number of the selection |
%NumberStartZeroPad% | 03 | First line number of the selection, padded with leading zeros |
%NumberEnd% | 17 | End line number of the selection |
Format Text | note |
---|---|
%NumberStart1% | Line numbers starting from 1 |
%NumberFile% | File line number |
%Line% | Text of line |
%LineCutMinIndent% | Text of line with minimum indentation cut off |
%LineTrim% | Text of line with front and back trimmed |
%LineTrimFirst% | Text of line with front trimmed |
%LineTrimLast% | Text of line with back trimmed |
%SpaceMinIndent% | Space for minimum indent (Tabs are not considered) |
%SpacePadEnd% | Set to fill in the back of the line with spaces to align (supports Japanese double-byte character lengths.) |
%SkipBlankLine% | Set to skip lines that would be blank if trimmed. |
% | % |
\ | \ |
Setting up lines connecting multiple selections
value | note |
---|---|
EmptyString | Line break |
String of colons, etc. | Strings and line breaks |
No setting (undefined) | Multiple selections are connected without delimitation |
Same as format header setting
Separator
{
"label": "MoreFunction",
"separator": true
},
SubMenu
{
"label": "SubMenu",
"items": [
{
...
},
{
...
}
]
}