https://github.com/voronenko/vscode-plantuml-stdlib-snippets
PlantUML stdlib snippets aiming quicker creation of the nice visual diagrams
https://github.com/voronenko/vscode-plantuml-stdlib-snippets
plantuml plantuml-stdlib-aws plantuml-stdlib-awslib plantuml-stdlib-azure plantuml-stdlib-cloudinsight plantuml-stdlib-cloudogu plantuml-stdlib-elastic plantuml-stdlib-logo plantuml-stdlib-material plantuml-stdlib-office plantuml-stdlib-osa plantuml-stdlib-snippets plantuml-stdlib-tupadr3 snippets stdlib
Last synced: 6 months ago
JSON representation
PlantUML stdlib snippets aiming quicker creation of the nice visual diagrams
- Host: GitHub
- URL: https://github.com/voronenko/vscode-plantuml-stdlib-snippets
- Owner: Voronenko
- Created: 2020-05-29T20:13:08.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2020-05-30T16:29:55.000Z (about 6 years ago)
- Last Synced: 2025-04-15T05:36:28.749Z (over 1 year ago)
- Topics: plantuml, plantuml-stdlib-aws, plantuml-stdlib-awslib, plantuml-stdlib-azure, plantuml-stdlib-cloudinsight, plantuml-stdlib-cloudogu, plantuml-stdlib-elastic, plantuml-stdlib-logo, plantuml-stdlib-material, plantuml-stdlib-office, plantuml-stdlib-osa, plantuml-stdlib-snippets, plantuml-stdlib-tupadr3, snippets, stdlib
- Homepage: https://marketplace.visualstudio.com/items?itemName=voronenko.vscode-plantuml-stdlib-snippets
- Size: 20.9 MB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: Readme.md
Awesome Lists containing this project
README
# PlantUML stdlib snippets for vscode
[](https://vsmarketplacebadge.apphb.com/version-short/voronenko.vscode-plantuml-stdlib-snippets.svg)
[](https://vsmarketplacebadge.apphb.com/installs-short/voronenko.vscode-plantuml-stdlib-snippets.svg)
[](https://vsmarketplacebadge.apphb.com/downloads-short/voronenko.vscode-plantuml-stdlib-snippets.svg)
[](https://vsmarketplacebadge.apphb.com/rating-short/voronenko.vscode-plantuml-stdlib-snippets.svg)
This extension provides you number of the dummy code snippets for PlantUML standard library https://plantuml.com/stdlib
Supported stdlib extensions
| StdLib name | Required common macros | Folder include macros supported | Snippets include prefix | | |
|---|---|---|---|---|---|
| aws | i-aws-common | N/A | ia | | |
| awslib | N/A | i-all | i- | | |
| azure | i-azure-common | i-all- | i- | | |
| cloudinsight | N/A | | i-cloudinsight | | |
| cloudogu | i-co-common | | i-co | | |
| elastic | i-elastic-common | | i-es | | |
| logo | N/A | | i-logo | | |
| material | i-material-common | | i-material | | |
| office | i-off-common | | i-off | | |
| osa | N/A | | i-osa | | |
| tupadr3 | i-t3-common | | i-t3 | | |
Idea for the snippets is to speedup time needed to recall how is called your favorite icon from stdlib and use it in your plantuml diagram.
Depending on a stdlib library used you might need to invoke following steps:
a) Invoke required "include-common" macros which initializes diagram for subsequent library objects.
Usually you are starting to type `i-` (which is shortened for `include-`) followed by library and word common. Note that VSCode is smart enough
to do a fuzzy search, thus you could just time smth like `iawscommon` in one word
b) Include icons that will be used in your diagram
On that moment you should briefly recall what kind of object you want to draw in your diagram.
Thus you could look for either part of the object name `i-aws-efsfilesystem_large`, group and object name `i-aws-Storage-efsfilesystem`.
c) Now you can insert object itself
usual text to be used in fuzzy search would be library code - object name `aws-amazonefs`. As usually vscode smart enough, thus you can use quite fuzzy combination of words.
## Notes on a specific libraries
### aws
As seen on a screen recording below, usually you are supposed to have some prototype of the future diagram in raw plant uml, and use stdlib/aws to provide greater visualization
to the diagram. On a moment when you want to include some icon, you start snippet search with `ia` followed by icon topic or name. On a moment, when you want to use icon itself,
you just start typing approximate icon name. The one in appercase will be the needed one

## awslib
That extension is kind of official "icons" released under https://github.com/awslabs/aws-icons-for-plantuml ; It appeared later than `aws` and the most notible difference
from classic `aws` lib is presence of the cumulative include all files with sprites divided in a limited set of areas. You could also distinguish icons from that set
by selecting AWS entity in a CamelCase.
|Section |snippet shortcut |
|--|--|
| Analytics/ | iall-analytics |
| AWSCostManagement/ | iall-awscostmanagement |
| Compute/ | iall-compute |
| Database/ | iall-database |
| GameTech/ | iall-gametech |
| InternetOfThings/ | iall-internetofthings |
| MediaServices/ | iall-mediaservices |
| NetworkingAndContentDelivery/ | iall-networkingandcontentdelivery |
| Satellite/ | iall-satellite |
| ApplicationIntegration/ | iall-applicationintegration |
| Blockchain/ | iall-blockchain |
| CustomerEnablement/ | iall-customerenablement |
| DeveloperTools/ | iall-developertools |
| General/ | iall-general |
| MachineLearning/ | iall-machinelearning |
| MigrationAndTransfer/ | iall-migrationandtransfer |
| QuantumTechnologies/ | iall-quantumtechnologies |
| SecurityIdentityAndCompliance/ | iall-securityidentityandcompliance|
| ARVR/ | iall-arvr |
| BusinessApplications/ | iall-businessapplications |
| CustomerEngagement/ | iall-customerengagement |
| EndUserComputing/ | iall-endusercomputing |
| GroupIcons/ | iall-groupicons |
| ManagementAndGovernance/ | iall-managementandgovernance |
| Mobile/ | iall-mobile |
| Robotics/ | iall-robotics |
| Storage/ | iall-storage |
For a simplicity, we introduce few additional "meta" snippets, which are `ial-all` - include all of the
categories and `ial-all-mostused` - opinionated "most used" by myself
Diagrams constructed with this extension look like "Azure" ones

## azure
That extension is kind of official "icons" released under https://github.com/RicardoNiepel/Azure-PlantUML;
Also supports categoru includes, thus "meta" snippets, which are `i-azure-all` - include all of the
categories and `i-azure-mostused` - opinionated "most used" by myself are also included.
The most easiest way to start typing Azure entity name and select corresponding one
## c4
NOT included, because it has own supported snippets for visual studio code
## cloudinsight
Usually used as a sprites to provide better appearence for classic rectangles. You generally could search for the snippet via `i-cloudinsight-topic` , of topic is found you can use it in your diagram. Number of sprites around 50, but you might be lucky.
Can be used with deployment diagram terms https://plantuml.com/deployment-diagram , if you are looking for standalone object, proceed with logos
```plantuml
@startuml
!include
!include
!include
!include
title Cloudinsight sprites example
skinparam monochrome true
rectangle "<$tomcat>\nwebapp" as webapp
queue "<$kafka>" as kafka
rectangle "<$java>\ndaemon" as daemon
database "<$cassandra>" as cassandra
webapp -> kafka
kafka -> daemon
daemon --> cassandra
@enduml
```
## clouddogu
https://github.com/cloudogu/plantuml-cloudogu-sprites
Around 50 sprites, mostly related to devops. You should generally could look for term with `i-co-term` and then insert term in uppercase.
```plantuml
@startuml
!include
!include
!include
DOGU_REDMINE(e_alias, "e_label")
TOOL_ANSIBLE(zz, "e_label")
@enduml
```
## elastic
https://github.com/Crashedmind/PlantUML-Elastic-icons
Tons of entities related to elasticsearch architecture, group level includes are not supported. Thus you first reference entity
by searching `i-es-entityname` and using entity in diagram. Object snippets are uppercased.
```plantuml
@startuml
!include
!include
ELASTICSEARCH(e_alias, "e_label")
@enduml
```
## kubernetes
NOT included but planned (harder to parse composition of sprites)
## logos
Number of different logos from the real world. You first reference logo by searching `i-logo-term`. If term is found, you can use it
```plantuml
@startuml
!include
e_alias: <$atlassian> e_desc
@enduml
```
Unfortunately, can be used in deployment diagram
## material
Around hundred of different icons similar to logs, but in google material theme. Can be combined with deployment diagram.
You need a bootstraper, i.e. include common library and reference separately all used icons. (Find them with i-material)
In order to insert object, all snippets start with MA_, uppercased, so quite easy to find macros.
```plantuml
@startuml
!include
!include
MA_ATLASSIAN(Red, 1, dir, rectangle, "A label")
@enduml
```
## office
https://github.com/Roemer/plantuml-office
Set of icons which might help you to better visualize, for example, deployment diagram. Quite large number of terms.
First you could try to look for object with `i-off-term`. If found, you can use entity by looking for a snippet starting with OFF_ and uppercase.
Just a gentle reminder, vscode supports fuzzy search.
Shares common library for different project, thus needs to be included first (!include - macros `i-off-common`)
Objects can be combined with deployment diagram (rectangle, database and so on)
```plantuml
@startuml
!include
!include
OFF_BANDWIDTH_CALCULATOR(e_alias, "e_label")
@enduml
```
## osa
https://github.com/Crashedmind/PlantUML-opensecurityarchitecture-icons
The nice set of icons for DevSecOps, but unfortunately I failed to find any compatible diagram, so OSA diagram can use only OSA sprites
```plantuml
@startuml
!include
!include
!include
Laptop: <$laptop>
Laptop2: <$laptop>
Laptop--->Laptop2
ealias: <$vpn>
architect: <$architect>
@enduml
```
## tupadr3
https://github.com/tupadr3/plantuml-icon-font-sprites
The following icon sets are included:
| Name | Index |
| ---------------------------------------------------------- | ----------------------------------------- |
| [Font-Awesome 4](https://fontawesome.com/v4.7.0/) | [List of macros](https://github.com/tupadr3/plantuml-icon-font-sprites/blob/master/font-awesome/index.md) |
| [Font-Awesome 5](http://fontawesome.io/) | [List of macros](https://github.com/tupadr3/plantuml-icon-font-sprites/blob/master/font-awesome-5/index.md) |
| [Devicons](http://vorillaz.github.io/devicons) | [List of macros](https://github.com/tupadr3/plantuml-icon-font-sprites/blob/master/devicons/index.md) |
| [Govicons](http://govicons.io/) | [List of macros](https://github.com/tupadr3/plantuml-icon-font-sprites/blob/master/govicons/index.md) |
| [Weather](https://erikflowers.github.io/weather-icons/) | [List of macros](https://github.com/tupadr3/plantuml-icon-font-sprites/blob/master/weather/index.md) |
| [Material](http://google.github.io/material-design-icons/) | [List of macros](https://github.com/tupadr3/plantuml-icon-font-sprites/blob/master/material/index.md) |
| [Devicon 2](https://konpa.github.io/devicon/) | [List of macros](https://github.com/tupadr3/plantuml-icon-font-sprites/blob/master/dev2/index.md) |
Requires common file to be included, you can use snippet `i-t3-common` , every icon has a prefix related to one of the sets above,
i.e. `FA_`, `FA5_`, `DEV_`, `GOV_`, `WEATHER_`, `MATERIAL_`
I am usually searching for a icon to include with `i-t3-term`, if found I then reference the icon by searching the uppercased term.
The icon, which starts with one of the prefixes above most likely is the one you looking for.
All the icons can be used with deployment diagrams.
```plantuml
@startuml
!include
!include
component SomeComponent {
DEV_ANDROID(e_alias, "e_label")
}
@enduml
```