Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>Snippet Generators for VBNew to Visual Studio Code? Get it now.
Snippet Generators for VB

Snippet Generators for VB

Davi Kawasaki

|
14,107 installs
| (1) | Free
This extension generate VB constructors, getters/setters, attributes list, attributes with output format list and singleton factories from class attributes.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

VB Generators

Extension for Visual Studio Code

This extension generate VB constructors, getters/setters, class attributes list (with output format types and values) and singleton factories from the VB class variable declarations. You can render them all in a single command too! :)

Marketplace Version Installs Rating

Table of contents

  • Usage
    • Attributes Structure Recommendations
    • Attribute list with format output
  • Examples
    • Rendering Class Constructor
    • Rendering Attributes Getters and Setters
    • Rendering Attributes List with class initialization
    • Rendering Attributes List with class initialization and output formats
    • Rendering Singleton Factory from Class Attributes
    • Full Rendering Process
    • Full Rendering Process With Factory
  • Authors and Collaborators
  • Inspirations
  • License
  • Contribution

Usage

Select the attributes that you want to generate a snippet and run one of the following commands on the command pallete Ctrl/Cmd + Shift + P:

$ VB getters and setters
$ VB constructor
$ VB class attribute list
$ VB class attribute list with output format list
$ VB factory from class attributes
$ VB full class
$ VB full class with factory

Attributes Structure Recommendations

1. Private Const Attribute (needs the Const keyword and the attribution in the end):

Private Const p_attr As String = "ATTRIBUTE"

2. Formatting cell cases (needs the FORMAT and VALUE keywords, as well as NumberFormat or NumberFormatLocal as format-property types of a Range object in VBA):

 ' FORMAT NumberFormat VALUE @ 
 ' FORMAT NumberFormat VALUE yyyy-mm-dd
 ' FORMAT NumberFormat VALUE #####0.#0

3. Formatting cell colors (needs the FORMATCOLOR, BGCOLOR and FGCOLOR keywords, as well as numeric values for background color - 0 to 56 - and VB constant colors for foreground color - vbWhite, vbRed, vbBlack, etc):

 ' FORMATCOLOR BGCOLOR 1 FGCOLOR vbWhite
 ' FORMATCOLOR BGCOLOR 56 FGCOLOR vbBlack
 ' FORMAT NumberFormat VALUE #####0.#0 FORMATCOLOR BGCOLOR 56 FGCOLOR vbBlack

4. Formatting cell cases can be combined (format type and colors):

 ' FORMAT NumberFormat VALUE #####0.#0 FORMATCOLOR BGCOLOR 56 FGCOLOR vbBlack

5. The number format can be used with a Const attribute as well:

Private Const p_attr As String = "ATTRIBUTE" ' FORMAT NumberFormat VALUE @ 
Private Const p_attr As String = "ATTRIBUTE" ' FORMATCOLOR BGCOLOR 56 FGCOLOR vbBlack
Private Const p_attr As String = "ATTRIBUTE" ' FORMAT NumberFormat VALUE @ FORMATCOLOR BGCOLOR 56 FGCOLOR vbBlack

6. In case you do not say which is the type of the attribute, the extension will understand in all generators that the attribute is a Variant type, for instance:

Private p_attr As
Private p_attr

7. The following cases will output errors, so avoid them at all costs:

' *** No Public/Private declaration
p_attr As String
' *** No attribution from Const attribute
Private Const p_attr
Private Const p_attr As String = ""
' *** Const attribute with the Const keyword
Private p_attr As String
' *** FORMET instead of FORMAT, TextFormat not acceptable, VALUES instead of VALUE, " usages are not allowed in the format value
Private p_attr As String ' FORMET TextFormat VALUES "@"
' *** FORMETCOLOUR instead of FORMATCOLOR, BG_COLOR instead of BGCOLOR, vbblack instead vbBlack, " usages are not allowed in the BGCOLOR value (needs to be numeric)
Private p_attr As String ' FORMETCOLOUR BG_COLOR "1" FG_COLOR vbblack
' *** BGCOLOR and FGCOLOR without values
Private p_attr As String ' FORMATCOLOR BGCOLOR FGCOLOR
' *** BGCOLOR and FGCOLOR inverted positions, BGCOLOR value out of range (0-56)
Private p_attr As String ' FORMATCOLOR FGCOLOR vbBlack BGCOLOR 57

8. Factory cases will output the file (if no errors are emitted or there are at least one non-constant attribute) in a Factories/ folder. You may be enquired to approve an override in case the specific factory file already exists in the folder.

Attribute list with format output

The main idea of having an attribute list with their respective format output is to make it easy to output each attribute value into a Sheet row. The following Sub uses the list and their respective formats to iterate through an object and output all the attributes values into a row:

'*******************************************
'*** @Sub insertGenericRow *****************
'*******************************************
'*** @Argument {Worksheet} ws **************
'*** @Argument {Variant} classObj **********
'*** @Argument {Integer} myLL **************
'*******************************************
'*** Insert a header/shipment/charge *******
'*** inside a worksheet. *******************
'*******************************************
Sub insertGenericRow(ws As Worksheet, classObj As Variant, ByRef myLL As Integer)
    Dim listLen As Integer
    Dim i As Integer

    i = 1
    listLen = UBound(classObj.attributesList)
    
    ' Iterate through each ordered property from class and send it to the iterated cell with formats
    With ws
        For i = 0 To listLen
            If Not (isEmpty(classObj.attributesFormatTypesList()(i))) Then
                If classObj.attributesFormatTypesList()(i) = "NumberFormat" Then
                    If Not (isEmpty(classObj.attributesFormatValuesList()(i))) Then
                        .Cells(myLL, i + 1).NumberFormat = classObj.attributesFormatValuesList()(i)
                    End If
                End If
            End If

            ' classObj.attributesList() returns the list, and then classObj.attributesList()(i) access an i-element of the list
            .Cells(myLL, i + 1).value = CallByName(classObj, classObj.attributesList()(i), VbGet)
            ' Format cell after inserting into sheet
            
            If Not (isEmpty(classObj.attributesFormatTypesList()(i))) Then
                If classObj.attributesFormatTypesList()(i) = "NumberFormat" Then
                    If Not (isEmpty(classObj.attributesFormatValuesList()(i))) Then
                        .Cells(myLL, i + 1).NumberFormat = classObj.attributesFormatValuesList()(i)
                    End If
                End If
            End If
        Next
    End With

    myLL = myLL + 1
End Sub

Examples

Rendering Class Constructor

how use

Rendering Attributes Getters and Setters

how use

Rendering Attributes List with class initialization

how use

Rendering Attributes List with class initialization and output formats

how use

Rendering Singleton Factory from Class Attributes

how use

Full Rendering Process

how use

Full Rendering Process with Factory

how use

Authors and Collaborators

  • Davi Kawasaki

Inspirations

  • Afmicc - Java Getter and Setter Generator Extension
  • Dkundel - VSCode New File Extension

License

MIT © davikawasaki

Contribution

Feel free to send me a PR or an issue to improve the code :)

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft