- AuthorPosts
- February 25, 2009 at 12:08 am #6984gningParticipant
I’m trying to indent and outdent blocks by a single column. I tried temporarily setting Document.Config.Indent.IndentColumns to 1 but the value stays unchanged, and likewise for TabColumns. The help seems to be saying that these properties are settable, but it won’t do anything but indent by the previously set width.
February 25, 2009 at 12:20 am #6985Yutaka EmuraKeymastergning wrote:
I’m trying to indent and outdent blocks by a single column. I tried temporarily setting Document.Config.Indent.IndentColumns to 1 but the value stays unchanged, and likewise for TabColumns. The help seems to be saying that these properties are settable, but it won’t do anything but indent by the previously set width.Do you need to use a macro? If not, you can change indent/tab numbers in the Configuration Properties > General > Tab/Indent.
February 25, 2009 at 4:49 am #6992gningParticipantI want to indent blocks by one column in addition to being able to indent them by the normal distance. I want two separate commands. Coarse and fine tuning, so to speak.
February 25, 2009 at 6:49 am #6993Yutaka EmuraKeymastergning wrote:
I want to indent blocks by one column in addition to being able to indent them by the normal distance. I want two separate commands. Coarse and fine tuning, so to speak.I see. Please try this:
cfg = Document.Config;
cfg.Indent.IndentColumns = 1;
cfg.Save();
March 17, 2009 at 6:37 pm #7092gningParticipantIt still indents by the full amount. Even if I just change the value and call Save() and don’t restore any old value, all indentation is still by the old amount.
I’m using release 7.02, by the way.
March 17, 2009 at 10:49 pm #7093Yutaka EmuraKeymastergning wrote:
It still indents by the full amount. Even if I just change the value and call Save() and don’t restore any old value, all indentation is still by the old amount.I’m using release 7.02, by the way.
How about TabColumns insread of IndentColumns?
Why do you still use 7.02? Can you try the newest version?
April 15, 2009 at 12:41 am #7146gningParticipantOK I upgraded to 8.0.4, and the macro still does the same thing — the values of IndentColumns and TabColumns don’t change when you assign to them.
April 23, 2009 at 10:39 pm #7193gningParticipantWell, I did find the Insert Spaces plugin, but that’s clumsy to use and only goes inward, not outward. Better than nothin’…
April 24, 2009 at 10:09 pm #7196Yutaka EmuraKeymastergning wrote:
Well, I did find the Insert Spaces plugin, but that’s clumsy to use and only goes inward, not outward. Better than nothin’…This is a macro to change the tab/indent length. I hope this helps.
cfg = document.Config;
do {
n = prompt( "Enter new indent/tab length in characters:", cfg.Indent.TabColumns );
} while( n <= 0 || n > 16 );
cfg.Indent.IndentColumns = cfg.Indent.TabColumns = n;
cfg.Save();
June 17, 2011 at 2:49 am #9427gningParticipantBringing back an old issue here… this problem is not fixed in 10.0.8 (x64). Here is my latest attempt at a macro to indent by one space… note that it tries to force the editor into indent-with-spaces-only mode:
var icfg = Document.Config.Indent;
var oldIC = icfg.IndentColumns;
var oldTC = icfg.TabColumns;
var oldIS = icfg.InsertSpaces;
icfg.IndentColumns = icfg.TabColumns = 1;
icfg.InsertSpaces = true;
Document.Config.Save();
Editor.ExecuteCommandByID(4358); // indent (as with Tab key)
icfg.IndentColumns = oldIC;
icfg.TabColumns = oldTC;
icfg.InsertSpaces = oldIS;
Document.Config.Save();With alerts, I have verified that the values of the column properties do change to 1… but the indent I end up with is still a tab character, not a space. Exactly as if I had just pressed the tab key without changing any settings.
June 17, 2011 at 4:17 pm #9430Yutaka EmuraKeymasterHi gning,
I will look into this issue in future versions.
Thanks for letting me know! - AuthorPosts
- You must be logged in to reply to this topic.