Add bson tags to the go struct using GoModifyTags

2.7k Views Asked by At

I am trying to use GoModifyTags but it's not giving me required result.
I have installed this as per the instruction but don't know how to implement. Using VScode editor.

I am trying to add bson tags in my file.

Currently, I have:

type option []struct {
    Option  string  `json:"option"`
    ID      float64 `json:"id"`
    Correct bool    `json:"correct"`
}  

Required:

type option []struct {
    Option  string  `json:"option" bson:"option"`
    ID      float64 `json:"id" bson:"id"`
    Correct bool    `json:"correct" bson:"correct"`
}

How can I achieve this?

Solution:

Following the instruction of Jihoon Ye, I am able to get my required result. Here are steps for VSCode with pictures to help you understand better.

  1. Go to File -> Preference -> Settings

  2. You must have GO extension installed on your VSCode
    enter image description here

  3. Type "Go: Add Tags" in the search box and you will see the settings as below. Add bson in the tag field. enter image description here

  4. Select your go struct in the code

  5. Right-click the selected code OR use command palette (use shortcut cntrl + shift + p) and select "Go: Add tags to struct fields" enter image description here

  6. Here is the final result enter image description here

Peace,

1

There are 1 best solutions below

2
On BEST ANSWER

Using the command

install GoModifyTags.

$ go get github.com/fatih/gomodifytags

Enter the command below.

$ gomodifytags -file main.go -struct option -add-tags bson -w

The results below will then be printed out.

type option []struct {
    Option  string  `json:"option" bson:"option"`
    ID      float64 `json:"id" bson:"id"`
    Correct bool    `json:"correct" bson:"correct"`
}

Using the VSCode

In user settings, setting "Go: Add Tags" as below. enter image description here

Place the cursor in the structure and run "Go: Add Tags To Struct Field".