主题:[原创]技巧奉献:IVF中实现“代码自动补全”
初步调试成功,若有故障,反馈后俺再修改。
若其他网页有此技巧,则纯属巧合。
[color=FF0000]做法:[/color]
为保险起见,可在Microsoft Visual Studio 8中找到Samples.vsmacros做一个备份。
[color=800000][b](I) 修改宏命令[/b][/color]
在VS2005中选的宏资源管理器中装入Samples,选中打开DevStudio6Editor。
下面对其中的几条命令作修改:
[color=0000FF](1) Sub AutoCompleteFromFile中:
(改1) [/color]
origLine = sel.CurrentLine
origCol = sel.CurrentColumn
sel.WordLeft(DsMovementOptions.dsExtend)
后添加
[color=FF0000] If origLine <> sel.CurrentLine Then
sel.Cancel()
sel.MoveToLineAndOffset(origLine, origCol)
Exit Sub
End If[/color]
[color=0000FF](改2) [/color]
FillCompletionWords(sel.Text)
sel.MoveToLineAndOffset(origLine, origCol)
sel.WordLeft(DsMovementOptions.dsExtend)
SuggestNextCompletionWord()
改为
[color=FF0000]If sel.Text <> previousSelection Or completionWords = "" Then[/color]
FillCompletionWords(sel.Text)
sel.MoveToLineAndOffset(origLine, origCol)
sel.WordLeft(DsMovementOptions.dsExtend)
[color=FF0000]End If[/color]
SuggestNextCompletionWord()
[color=0000FF](2) Sub FillCompletionWords 中:
(改1)[/color]
searchString = "[^a-zA-Z0-9]" & word
改为
[color=FF0000]searchString = "{^|[^a-zA-Z0-9_!%]}" & word[/color]
[color=0000FF](改2) [/color]
sel.WordRight()
sel.WordLeft(DsMovementOptions.dsExtend)
改为
[color=FF0000]sel.WordLeft()
sel.WordRight(DsMovementOptions.dsExtend)[/color]
[color=0000FF](3) Function SuggestNextCompletionWord中:[/color]
将
selection.WordLeft(DsMovementOptions.dsExtend)
封掉
[color=FF0000] 'selection.WordLeft(DsMovementOptions.dsExtend)[/color]
[color=800000][b](II) 添加工具钮、快捷键[/b][/color]
感谢hanronggui提供的方法:
VS2005中选:工具-自定义-命令中选择宏
在右边的面板中找到Samples.DevStudio6Editor.AutoCompleteFromFile,拖到工具栏上;
在“自定义”中点“修改选中的内容”按钮,
将名称改为:自动补码(&A);
关闭自定义
[color=FF0000]用法:[/color]
在当前的代码文件中,您键入一个字词的一两个字母,按该按钮或者快捷键Alt+a,则可启动该宏命令在你的文件中搜寻你要键入的字词,并自动补全显示;再按快捷键则显示下一个可选的字词。
例如,你当前的代码文件中有:
implicit none
integer :: ix,iy
则你键入i后,按快捷键,则自动将i补全为implicit,再按快捷键,则依次改换为integer=>ix=>iy=>implicit;
若你键入in后,按快捷键,则直接出现integer.
[color=FF0000][b]Enjoy![/b][/color]
若其他网页有此技巧,则纯属巧合。
[color=FF0000]做法:[/color]
为保险起见,可在Microsoft Visual Studio 8中找到Samples.vsmacros做一个备份。
[color=800000][b](I) 修改宏命令[/b][/color]
在VS2005中选的宏资源管理器中装入Samples,选中打开DevStudio6Editor。
下面对其中的几条命令作修改:
[color=0000FF](1) Sub AutoCompleteFromFile中:
(改1) [/color]
origLine = sel.CurrentLine
origCol = sel.CurrentColumn
sel.WordLeft(DsMovementOptions.dsExtend)
后添加
[color=FF0000] If origLine <> sel.CurrentLine Then
sel.Cancel()
sel.MoveToLineAndOffset(origLine, origCol)
Exit Sub
End If[/color]
[color=0000FF](改2) [/color]
FillCompletionWords(sel.Text)
sel.MoveToLineAndOffset(origLine, origCol)
sel.WordLeft(DsMovementOptions.dsExtend)
SuggestNextCompletionWord()
改为
[color=FF0000]If sel.Text <> previousSelection Or completionWords = "" Then[/color]
FillCompletionWords(sel.Text)
sel.MoveToLineAndOffset(origLine, origCol)
sel.WordLeft(DsMovementOptions.dsExtend)
[color=FF0000]End If[/color]
SuggestNextCompletionWord()
[color=0000FF](2) Sub FillCompletionWords 中:
(改1)[/color]
searchString = "[^a-zA-Z0-9]" & word
改为
[color=FF0000]searchString = "{^|[^a-zA-Z0-9_!%]}" & word[/color]
[color=0000FF](改2) [/color]
sel.WordRight()
sel.WordLeft(DsMovementOptions.dsExtend)
改为
[color=FF0000]sel.WordLeft()
sel.WordRight(DsMovementOptions.dsExtend)[/color]
[color=0000FF](3) Function SuggestNextCompletionWord中:[/color]
将
selection.WordLeft(DsMovementOptions.dsExtend)
封掉
[color=FF0000] 'selection.WordLeft(DsMovementOptions.dsExtend)[/color]
[color=800000][b](II) 添加工具钮、快捷键[/b][/color]
感谢hanronggui提供的方法:
VS2005中选:工具-自定义-命令中选择宏
在右边的面板中找到Samples.DevStudio6Editor.AutoCompleteFromFile,拖到工具栏上;
在“自定义”中点“修改选中的内容”按钮,
将名称改为:自动补码(&A);
关闭自定义
[color=FF0000]用法:[/color]
在当前的代码文件中,您键入一个字词的一两个字母,按该按钮或者快捷键Alt+a,则可启动该宏命令在你的文件中搜寻你要键入的字词,并自动补全显示;再按快捷键则显示下一个可选的字词。
例如,你当前的代码文件中有:
implicit none
integer :: ix,iy
则你键入i后,按快捷键,则自动将i补全为implicit,再按快捷键,则依次改换为integer=>ix=>iy=>implicit;
若你键入in后,按快捷键,则直接出现integer.
[color=FF0000][b]Enjoy![/b][/color]