Skip to content

Smart Code Completion

thatsIch edited this page Jan 25, 2017 · 1 revision

Section completion filtering

I added an option to remove unique sections from the auto completion introduced in 2.8.4.

Unique sections are:

  • [Rainmeter]
  • [Metadata]
  • [Variables]

That means, if you have already defined a [Rainmeter] section, you will only get the following completion entries:

  • [Metadata]
  • [Variables]
  • [Measure]
  • [Meter]
  • [MeterStyle]

If you are using a way of composing your skin with duplicates, you can disable the filtering process in the settings with

"allow_completion_section_duplicates": true

per default it is set to false

Section Completion on Double Newline

In general people tend to write code very densely like

[MeasureInput]
Measure=Plugin
Plugin=InputText
SolidColor=75A0E8FF
FontColor=255,255,255,128
FontColor=55,255,255,128
FontFace=Seqoe UI
StringStyle=Italic
FontSize=#FontSize#
X=5
Y=5
H=25
W=240
DefaultValue="Change Me!"
Command1=!WriteKeyValue Variables FirstVar "$UserInput$" "#CURRENTPATH#InputText.inc"
Command2=!Refresh #CURRENTCONFIG#
Command3=!SetVariable SecondVar "$UserInput$" Y=40 DefaultValue="Change Me Too!"
Command4=["$UserInput$"] Y=75 DefaultValue="Text file path and name"

but there is also the option to seperate logical blocks like fonts, type, user interation etc.:

[MeasureInput]
Measure=Plugin
Plugin=InputText

SolidColor=75A0E8FF

FontColor=255,255,255,128
FontColor=55,255,255,128
FontFace=Seqoe UI
StringStyle=Italic
FontSize=#FontSize#

X=5
Y=5
H=25
W=240

DefaultValue="Change Me!"

Command1=!WriteKeyValue Variables FirstVar "$UserInput$" "#CURRENTPATH#InputText.inc"
Command2=!Refresh #CURRENTCONFIG#
Command3=!SetVariable SecondVar "$UserInput$" Y=40 DefaultValue="Change Me Too!"
Command4=["$UserInput$"] Y=75 DefaultValue="Text file path and name"

With that in mind you can now easily start a new section by having two newlines: result

  • I started by completing the [Rainmeter] section
  • because it was directly in the section, you get the default auto completion
  • after hitting two newlines you get new section completion
  • with tab you can easily switch to the next entry

Note: in Rainmeter you can override sections with the same name (though they are supposed to be unique). A common use-case is using @Include option to override your local [Variables] section (see docs). Thus you will get all possible options for the auto completion. Though I guess having them all in the same file makes little sense.

thinking face emoji

Clone this wiki locally