একটি সেশন ফাইল খুলুন এবং উইন্ডোটির শীর্ষে শেষ নথির লাইনগুলি প্রদর্শন করুন


0

নোটপ্যাড ++ 7.4.2 দ্বারা খোলার জন্য ফাইলগুলির মধ্যে একটিতে সেশন ফাইল এন্ট্রি:

<File firstVisibleLine="36070" xOffset="0" scrollWidth="1232" startPos="1677659" endPos="1677659" selMode="0" lang="Normal Text" encoding="-1" filename="<pathToFile>" backupFilePath="" originalFileLastModifTimestamp="1547671177" mapFirstVisibleDisplayLine="39239" mapFirstVisibleDocLine="36070" mapLastVisibleDocLine="36102" mapNbLine="56" mapHigherPos="1677659" mapWidth="326" mapHeight="224" mapKByteInDoc="1639" mapWrapIndentMode="1" mapIsWrap="yes" />

(1) ফাইলটি (দৈর্ঘ্যের দৈনিক পরিবর্তনগুলি) লোড হওয়ার পরে, আমি উইন্ডোর শীর্ষে নথির 16 টি শেষ লাইন দেখতে চাই।

যদি অসম্ভব: (2) আমি কীভাবে সর্বদা নথির শেষ x রেখা দেখতে পারি? (এক্স = উইন্ডোর লাইন সংখ্যা)

বিকল্প "সেটিংস | পছন্দসমূহ | সম্পাদনা | শেষ রেখার বাইরে স্ক্রোলিং সক্ষম করুন" চেক করা হয়েছে।

উত্তর:


0

অপশন (1) এর জন্য স্বয়ংক্রিয়ভাবে কীভাবে শেষের বাইরে যেতে হবে তা আমি জানি না, তবে বিকল্পের জন্য (2): আপনার কাছে পাইথনস্ক্রিপ্ট থাকলে আপনি editor.documentEnd()সক্রিয় নথির শেষে স্ক্রোল করতে ব্যবহার করতে পারেন । খোলার শেষে স্বয়ংক্রিয়ভাবে স্ক্রোল করতে, নিম্নলিখিত স্ক্রিপ্টটি চালান:

# encoding=utf-8
"""in response to https://superuser.com/questions/1395356/open-a-session-file-and-show-the-last-document-lines-at-the-top-of-the-window"""
from Npp import *

def su1395356_ScrollToEnd_Callback(args):
    """this will scroll to the end of the current file"""
    b = args['bufferID']
    notepad.activateBufferID(b)
    editor.documentEnd()

def su1395356_EndCallback():
    """This deactivates (clears) the scroll-to-end callback"""
    notepad.clearCallbacks(su1395356_ScrollToEnd_Callback)

if __name__ == '__main__':
    """This registers (activates) the scroll-to-end callback"""
    su1395356_EndCallback()
    notepad.callback(su1395356_ScrollToEnd_Callback, [NOTIFICATION.FILEOPENED])

এই স্ক্রিপ্টটি চালানোর পরে আপনি যে ফাইলটি খোলেন তা যখন আপনি খুলবেন তখন বাফারের শেষে স্ক্রোল করা উচিত।

এই কলব্যাকটি বন্ধ করতে, প্লাগইনস> পাইথনস্ক্রিপ্ট> কনসোল দেখান , তারপরে su1395356_EndCallback()তাত্ক্ষণিক-লাইন থেকে চালান । অথবা, শেষ-কলব্যাকটি একটি পৃথক স্ক্রিপ্টে রাখা যেতে পারে, যা প্রথমে এটি আমদানি করে এবং তারপরে su1395356_EndCallback()ফাংশনটি কল করে ।

আপনি যদি এনপিপি পুনরায় চালু করেন, কলব্যাক আর সক্রিয় হবে না, তাই আপনাকে আবার স্ক্রিপ্টটি চালানো দরকার। বা, আপনি আপনার থেকে এই স্ক্রিপ্টটি আমদানি করতে চাইতে পারেন startup.pyসঙ্গে, প্লাগইন> পাইথন script> কনফিগারেশন ... সেটিং "Initialisation" থেকে "ATSTARTUP", যা এটি স্বয়ংক্রিয়ভাবে শুরু করতে হবে

যদি আপনার এটি না থাকে তবে আপনি মেনু আইটেমের তালিকায় যুক্ত করতে কনফিগারেশন ... ডায়ালগটি startup.pyব্যবহার করতে পারেন ; এটি হয়ে গেলে এবং এনপিপি পুনরায় চালু হয়ে গেলে আপনি কীবোর্ড শর্টকাট বরাদ্দ করতে সেটিংস> শর্টকাট ম্যাপার ব্যবহার করতে পারেন ।


সম্পাদনা করুন: (1) এর জন্য চিত্রিত: প্রথম ফাংশনটি সম্পাদনা করুন এবং নীচের মতো আরও একটি ফাংশন যুক্ত করুন। n=16আপনি এটি চান তবে অনেকগুলি লাইন সেট করুন বা পছন্দসই হিসাবে এটি একটি প্যারামিটার করুন। এটি কেবল একটি সূচনা পয়েন্ট।

def su1395356_ScrollToEnd_Callback(args):
    """this will scroll to the end of the current file"""
    b = args['bufferID']
    notepad.activateBufferID(b)
    su1395356_AlternateScrollToLastNLines()

def su1395356_AlternateScrollToLastNLines():
    """will scroll the last n, assuming **Settings | Preferences | Editing | Enable scrolling beyond last line** enabled"""
    n = 16
    editor.scrollToEnd()
    for i in range(n-1):        # use n-1 because one row is already visible
        editor.lineScrollUp()
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.