Supports running SVGO on the current open SVG file in VS Code or currently selected SVG. Simply open the command palette and type SVGOCD and you should find the command SVGOCD: Optimize current SVG
.
Also supports editing plugin settings from both extension settings or through having a .svgo.yaml file in the root folder.
Settings can either be configured from the extension settings or having a .svgo.yml file in the root directory. A .svgo.yml file will override the extension settings.
plugins:
- removeDoctype
- removeXMLProcInst
- removeComments
- removeMetadata
- removeXMLNS
- removeEditorsNSData
- cleanupAttrs: false
- removeTitle: true
js2svg:
pretty: true
indent: 2
Supports all SVGO plguin settings through extension settings (svgocd.plugins.*
). Boolean values to enable/disable or object values for plugin settings can be used. Full list of plugins from https://github.com/svg/svgo :
View all plugin settings
Plugin | Description |
---|---|
cleanupAttrs | cleanup attributes from newlines, trailing, and repeating spaces |
inlineStyles | move and merge styles from <style> elements to element style attributes |
removeDoctype | remove doctype declaration |
removeXMLProcInst | remove XML processing instructions |
removeComments | remove comments |
removeMetadata | remove <metadata> |
removeTitle | remove <title> |
removeDesc | remove <desc> |
removeUselessDefs | remove elements of <defs> without id |
removeXMLNS | removes xmlns attribute (for inline svg, disabled by default) |
removeEditorsNSData | remove editors namespaces, elements, and attributes |
removeEmptyAttrs | remove empty attributes |
removeHiddenElems | remove hidden elements |
removeEmptyText | remove empty Text elements |
removeEmptyContainers | remove empty Container elements |
removeViewBox | remove viewBox attribute when possible |
cleanupEnableBackground | remove or cleanup enable-background attribute when possible |
minifyStyles | minify <style> elements content with CSSO |
convertStyleToAttrs | convert styles into attributes |
convertColors | convert colors (from rgb() to #rrggbb , from #rrggbb to #rgb ) |
convertPathData | convert Path data to relative or absolute (whichever is shorter), convert one segment to another, trim useless delimiters, smart rounding, and much more |
convertTransform | collapse multiple transforms into one, convert matrices to the short aliases, and much more |
removeUnknownsAndDefaults | remove unknown elements content and attributes, remove attrs with default values |
removeNonInheritableGroupAttrs | remove non-inheritable group's "presentation" attributes |
removeUselessStrokeAndFill | remove useless stroke and fill attrs |
removeUnusedNS | remove unused namespaces declaration |
prefixIds | prefix IDs and classes with the SVG filename or an arbitrary string |
cleanupIDs | remove unused and minify used IDs |
cleanupNumericValues | round numeric values to the fixed precision, remove default px units |
cleanupListOfValues | round numeric values in attributes that take a list of numbers (like viewBox or enable-background ) |
moveElemsAttrsToGroup | move elements' attributes to their enclosing group |
moveGroupAttrsToElems | move some group attributes to the contained elements |
collapseGroups | collapse useless groups |
removeRasterImages | remove raster images (disabled by default) |
mergePaths | merge multiple Paths into one |
convertShapeToPath | convert some basic shapes to <path> |
convertEllipseToCircle | convert non-eccentric <ellipse> to <circle> |
sortAttrs | sort element attributes for epic readability (disabled by default) |
sortDefsChildren | sort children of <defs> in order to improve compression |
removeDimensions | remove width /height and add viewBox if it's missing (opposite to removeViewBox, disable it first) (disabled by default) |
removeAttrs | remove attributes by pattern (disabled by default) |
removeAttributesBySelector | removes attributes of elements that match a css selector (disabled by default) |
removeElementsByAttr | remove arbitrary elements by ID or className (disabled by default) |
addClassesToSVGElement | add classnames to an outer <svg> element (disabled by default) |
addAttributesToSVGElement | adds attributes to an outer <svg> element (disabled by default) |
removeOffCanvasPaths | removes elements that are drawn outside of the viewbox (disabled by default) |
removeStyleElement | remove <style> elements (disabled by default) |
removeScriptElement | remove <script> elements (disabled by default) |
reusePaths | Find duplicated elements and replace them with links (disabled by default) |