python3.4学习笔记(五) IDLE显示行号问题,插件安装和其他开发工具介绍

时间:2021-07-04 11:52:08

python3.4学习笔记(五) IDLE显示行号问题,插件安装和其他开发工具介绍

IDLE默认不能显示行号,使用ALT+G 跳到对应行号,在右下角有显示光标所在行、列。
pycharm免费社区版、Sublime Text、pyscripter、eclipse+pydev 可以显示行数。

安装插件可以让IDLE显示行号:
1.先下载LineNumbers.py文件:http://ftp.heanet.ie/disk1/disk1/disk1/sourceforge/s/so/sourcetrac/tmp/IDLE/idlexlib/extensions/LineNumbers.py
2.将文件放在python安装目录下的idlelib目录下,
3.用文本编辑器打开idlelib目录下的config-extensions.def文件。将如下配置参数追加到文件末尾:
[LineNumbers]
enable=1
enable_editor=1
enable_shell=0
visible=1
注意:[LineNumber] 这个必须跟文件名一致才行。
4.保存此文件,重新打开idle看见行号说明成功,否则失败(下载到不对的文件会导致失败,编辑器才显示行号,运行控制台不会显示行号)。

注:网上都说IDLE配置了行号后变慢了。另外仅对Python3的idlelib进行配置,但是此文件可能让本机自带的Python2的idle产生警告。
如果要移除边栏行号显示功能,需要先启动idle,在options下拉栏选择configure extension选项,使Linenumber功能失效,再移除文件才不会产生终端运行idle报错。

==============================================
安装Notepad++ Python插件

首先我们需要安装 Notepad++ Python 插件,使得Notepad++可以管理python代码,这个插件可以通过Notepad++的插件管理中的"Python Script"插件安装,或者我们可以从http://sourceforge.net/projects/npppythonscript/下载插件,然后提取文件到Notepad++的插件目录中,如上所述,Python脚本插件的版本是 0.9.2。

启动Python脚本
Notepad++ Python脚本需要放置到特殊的目录中,以便于通过Python插件识别,然后可以在Notepad++中启动.
通常这个目录是%APPDATA%\Notepad++\plugins\config\PythonScript。
这个脚本也可以通过菜单Plugins->Python Script->Scripts启动.我们也可以创建工具栏按钮为这些脚本以便于快速启动它们。

编程对统计字数
为了展示这个插件,写一个python 脚本 ,用来计算 字符,字,行在当前的Notepad++编辑窗口。
from Npp import *
import re

numChars = 0
numWords = 0
numLines = 0
editorContent = editor.getText()
for line in editorContent.splitlines():
numLines += 1
for word in re.findall("[a-zA-Z0-9]+", line):
numWords += 1
numChars += len(word)
notepad.messageBox("Number of characters: %d \nNumber of words: %d \nNumber of lines: %d" % (numChars, numWords, numLines))
在第7行 我们获取实际编辑窗口中的文本内容和所有其他的一起,典型Python程序除外,
在第13行 我们打印 字符,字和行通过 Notepad++ 消息盒。

编程控制Notepad++的书签
让我们看另一个关于Python脚本,利用了Notepad++的书签特性
from Npp import *

notepad.menuCommand(MENUCOMMAND.SEARCH_CLEAR_BOOKMARKS) linesBookmarked = []
def onMatch(lineNumber, match):
if lineNumber not in linesBookmarked:
lineStartPos = editor.positionFromLine(lineNumber)
editor.gotoPos(lineStartPos)
notepad.menuCommand(MENUCOMMAND.SEARCH_TOGGLE_BOOKMARK)
linesBookmarked.append(lineNumber)

editor.pysearch("Pos", onMatch)

上面的脚本标记了所有包含字"Pos"的行。
编辑类提供了一个方法"pysearch" ,可以搜索给出的正则表达式 然后将会调用给定的函数进行每一个的匹配,就像"pyserarch"方法,通过Python脚本编辑器和Notepad的类对象提供许多帮助方法去自动化Notepad++功能。