Hệ thống Scripting của Altium Designer gồm hai phần chính – trình soạn thảo và trình gỡ lỗi. Trình soạn thảo cung cấp nhiều tính năng hỗ trợ và kiểm tra mã script, còn trình gỡ lỗi cho phép truy cập vào các thành phần script và các tính năng debug.
Công cụ Scripting
Hệ thống scripting cung cấp nhiều công cụ để giúp bạn viết và gỡ lỗi script. Cùng với khả năng tự động hoàn thành mã và phân tích mã, hệ thống scripting cho phép bạn thực hiện script tương tác từng dòng một, kiểm tra biến và đối tượng, cũng như đặt breakpoint tại một hoặc nhiều dòng trong script.
Các công cụ của Scripting Editor là trợ thủ quan trọng khi gỡ lỗi script.
Thiết lập ngôn ngữ
Từ hộp thoại Language Setup , bạn có thể tạo, chỉnh sửa và quản lý danh sách các ngôn ngữ có thể gán cho các tài liệu được mở trong biến thể nhận biết mã của Text Editor. Mỗi ngôn ngữ gồm một sơ đồ cú pháp, một tập mẫu mã, và một danh sách liên kết tệp. Để mở hộp thoại này, bấm
trên Text Utilities thanh công cụ.

Hộp thoại Language Setup
Hộp thoại chứa danh sách các ngôn ngữ hiện đã được định nghĩa. Hãy dùng hộp thoại này để tạo, nhân bản, sửa đổi và xóa ngôn ngữ khi cần. Với mỗi ngôn ngữ, cần định nghĩa những nội dung sau:
- Việc ánh xạ phần mở rộng tệp sang ngôn ngữ là duy nhất; nếu bạn thêm cùng một phần mở rộng vào một ngôn ngữ khác, ánh xạ tới ngôn ngữ cũ sẽ tự động bị xóa.
- Nếu một tệp có phần mở rộng cụ thể được liên kết với một ngôn ngữ, nội dung của tệp sẽ được tô sáng theo cú pháp đã định nghĩa cho ngôn ngữ đó.
- Khi bạn nhân bản một ngôn ngữ, sơ đồ cú pháp của nó cũng như toàn bộ các mẫu mã mà nó chứa cũng sẽ được sao chép.
Tô sáng cú pháp
Tô sáng cú pháp là phương pháp giúp tài liệu văn bản dễ đọc hơn, trong đó các thành phần khác nhau trong tài liệu được làm nổi bật dựa trên cú pháp của chúng. Cách thực hiện là gán cho các từ, ký hiệu và định danh khác nhau những màu sắc riêng biệt. Tập hợp các gán màu này được gọi là cú pháp của ngôn ngữ đó.
Sơ đồ cú pháp của ngôn ngữ được gán cho tài liệu hiện tại có thể được định nghĩa/chỉnh sửa từ hộp thoại Syntax Editor , mở từ Text Editor (hoặc bất kỳ biến thể nhận biết mã nào của Text Editor), bằng cách bấm nút
trên Text Utilities thanh công cụ.

Hộp thoại Syntax Editor
Mặc dù lệnh này nhìn chung có sẵn từ thanh công cụ Text Utilities, lưu ý rằng không có ngôn ngữ nào được gán cho các tệp văn bản chuẩn (*.txt), vì vậy không thể truy cập hộp thoại này từ trong tài liệu thuộc loại đó.
Hộp thoại Syntax Editor được chia thành năm tab, mỗi tab đại diện cho một khía cạnh khác nhau của cú pháp ngôn ngữ:
- Options - dùng để định nghĩa nhiều tùy chọn cú pháp chung khác nhau.
- Comments - dùng để định nghĩa chú thích. Chú thích là các thành phần trong tệp văn bản mà bạn muốn xác định là chú thích mã. Chúng có thể được định nghĩa là chú thích một dòng, cả dòng hoặc nhiều dòng. Chú thích được xác định bằng các ký tự phân định, tức là các ký tự cho biết một khối văn bản là chú thích. Chú thích một dòng và cả dòng chỉ cần ký tự phân định bên trái (đầu còn lại được xác định bởi ký tự EOL). Chú thích một dòng có thể bắt đầu ở bất kỳ vị trí nào trên dòng, còn chú thích cả dòng yêu cầu ký tự phân định chú thích phải là ký tự đầu tiên trên dòng. Chú thích nhiều dòng cần có ký tự phân định bên trái và bên phải để xác định điểm bắt đầu và kết thúc.
- Strings - dùng để định nghĩa chuỗi. Chuỗi là các thành phần trong tệp văn bản mà bạn muốn xác định là chuỗi trong mã, chẳng hạn như chuỗi xuất hiện dưới dạng thông báo trong một hộp thoại mà chương trình của bạn hiển thị. Cả chuỗi một dòng và nhiều dòng đều được hỗ trợ, và cả hai loại đều cần ký tự phân định bên trái và bên phải để xác định điểm bắt đầu và kết thúc của chúng.
- Numbers - dùng để định nghĩa số. Giống như chú thích và chuỗi, số là một lớp thông tin khác trong tài liệu mà bạn có thể muốn làm nổi bật. Simple numbers được định nghĩa là các chuỗi chữ số, có thể có hoặc không có dấu thập phân, ví dụ: 45, 45.6 nhưng không phải 45.6.6. Số đơn giản cũng có thể bao gồm ký tự E, biểu thị ký hiệu khoa học, chẳng hạn như 53E3 hoặc 24e6. Special numbers được định nghĩa là có tiền tố và/hoặc hậu tố, đồng thời chứa các chữ số hoặc các chữ cái từ A-F. Ví dụ, chúng có thể được dùng để báo cho trình biên dịch biết số đó là hệ thập lục phân hoặc bát phân. Ví dụ về các số này là 0xAF034AD, 88j, j8A8y, nhưng không phải 0xA.4. Mỗi loại số được chỉ định bằng một hậu tố, một tiền tố hoặc tổ hợp tiền tố và hậu tố. Cách hoạt động cơ bản của tiền tố và hậu tố là bất cứ khi nào phát hiện một tiền tố hoặc hậu tố hợp lệ kết hợp với một số, thì số đó cùng với tiền tố (hoặc hậu tố) sẽ được tô sáng theo kiểu số. Hành vi cơ bản này có thể được điều chỉnh thông qua các tùy chọn bổ sung hiện có.
- Keywords - dùng để định nghĩa từ khóa. Từ khóa là tập hợp các từ được định nghĩa sẵn mà bạn muốn làm nổi bật trong tài liệu. Thông thường, đây là những từ được ngôn ngữ lập trình dành riêng để xác định một hàm, thủ tục, kiểu đối tượng, v.v. Từ khóa được định nghĩa như một phần của một hoặc nhiều bộ từ khóa, mỗi bộ có kiểu riêng (tham số màu sắc và phông chữ), từ đó tiếp tục cải thiện khả năng đọc của tài liệu.
- Bật/tắt tô sáng cú pháp cho từng thành phần cú pháp trong các tab tương ứng của chúng. Nếu tùy chọn tô sáng cho một thành phần cú pháp bị tắt, mọi cú pháp thuộc loại đó trong tài liệu sẽ không còn được tô sáng và sẽ trở về kiểu của văn bản thường.
- Nếu cùng một từ khóa xuất hiện trong nhiều bộ từ khóa, thì kiểu tô sáng của bộ xuất hiện đầu tiên trong danh sách sẽ được áp dụng.
- Từ khóa có thể chứa ký tự chữ cái, chữ số và cả ký tự gạch dưới. Từ khóa không được bắt đầu bằng ký tự số.
Hoàn thành mã
Trình soạn thảo hỗ trợ tính năng hoàn thành mã, là một cửa sổ bật lên tự động hiển thị các tùy chọn mã theo ngữ cảnh.
Khi bạn gõ dấu chấm sau tên giao diện đối tượng, danh sách các thuộc tính và phương thức khả dụng cho đối tượng đó sẽ được hiển thị trong cửa sổ menu bật lên hoàn thành mã – tiếp tục gõ để thu hẹp thêm danh sách. Chọn một tùy chọn từ danh sách sẽ chèn thủ tục/hàm hoặc thuộc tính đó vào mã.

Bạn có thể dùng phím tắt Ctrl+Space để mở cửa sổ danh sách Code Completion bất kỳ lúc nào.
Danh sách Code Completion cũng sẽ bao gồm các thủ tục và hàm toàn cục hiện có trong dự án đang mở, bao gồm cả những thủ tục và hàm trong script hiện tại.
Tính năng Code Completion đặc biệt hữu ích khi chọn đúng Object Interface, phương thức và thuộc tính để áp dụng trong script.
Mẫu câu lệnh
Mẫu mã là các khối mã được định nghĩa sẵn có thể tự động chèn vào tệp văn bản có nhận biết mã, và là công cụ hỗ trợ năng suất rất hiệu quả khi bạn viết mã bằng một ngôn ngữ cụ thể. Mỗi mẫu mã có ba thuộc tính: tên, mô tả và phần mã thực tế sẽ được chèn bởi mẫu đó.
Tính năng mẫu script sẽ tự động tạo cấu trúc mã cho câu lệnh được chọn từ cửa sổ danh sách bật lên.
Danh sách bật lên có thể được kích hoạt bất kỳ lúc nào bằng phím tắt Ctrl+J , nút Show Code Templates (
trên thanh công cụ Text Utilities), hoặc lệnh Tools » Show Code Templates từ các menu chính. Nếu được kích hoạt sau khi gõ vài chữ cái đầu của một câu lệnh mã, ví dụ 'proc', mã câu lệnh phù hợp sẽ tự động điền vào mã tài liệu với cấu trúc Procedure . Ngoài ra, nếu có nhiều câu lệnh khả dụng cho các chữ cái mã đã gõ trước đó (ví dụ 'if'), cửa sổ danh sách mẫu sẽ đưa ra danh sách câu lệnh đã được lọc.
Bạn cũng có thể đặt con trỏ tại vị trí cần thiết trong tệp, rồi chạy lệnh. Một cửa sổ bật lên liệt kê tất cả các mẫu mã khả dụng được định nghĩa cho ngôn ngữ được gán sẽ xuất hiện. Hãy chọn mục cần thiết để chèn mẫu đó.

Mỗi mẫu mã được nhận diện bằng tên của nó, như được chỉ định trong hộp thoại Code Templates Editor. Có thể truy cập hộp thoại này từ hộp thoại Language Setup (bấm
trên Text Utilities thanh công cụ), bằng cách chọn lệnh Templates từ Menu.
Tham số phương thức
Tính năng Script Method Parameters hiển thị một thông báo bật lên cho biết các tham số nào được dùng cho một phương thức cụ thể (hàm/thủ tục, v.v.) của một giao diện đối tượng.
Khi dấu ngoặc tròn mở đầu tiên được gõ sau một phương thức, như minh họa trong hình bên dưới, thông báo Parameters sẽ tự động xuất hiện. Có thể dùng các phím Shift+Ctrl+Space để hiển thị thủ công thông báo bật lên Parameters khi thích hợp.

Để xem định nghĩa tham số cho một câu lệnh phương thức đã hoàn chỉnh, hãy đặt con trỏ bên trong cặp ngoặc tham số của nó và dùng Shift+Ctrl+Space để gọi cửa sổ bật lên.
Thông báo bật lên Parameters cũng hiển thị vị trí nguồn của định nghĩa phương thức (hàm/thủ tục), nếu có. Trong ví dụ trên, phương thức (ShowAParametricMessage) được định nghĩa trong script HelloWorld.pas tại dòng số 14 – di chuột lên hình để xem phương thức như được dùng trong script HelloWorldDialog.
Điều hướng định nghĩa
Nguồn định nghĩa của một biến script hoặc phương thức có thể được xác định ngay lập tức bằng tính năng Navigation của trình soạn thảo.
Để tìm nguồn định nghĩa của một biến, hãy nhấn phím Ctrl trong khi nhấp vào biến tại vị trí nó được sử dụng trong script. Con trỏ sẽ chuyển đến phần định nghĩa. Dùng cùng phương pháp (Ctrl+Click) để xác định nguồn định nghĩa của một thủ tục. Nếu thủ tục được định nghĩa trong một script khác trong dự án, script đó sẽ được mở và con trỏ sẽ được đặt tại thủ tục đó.

Insight ToolTip
Tính năng ToolTip Insight hiển thị kiểu biến khi con trỏ chuột di qua biến đó. Tương tự, khi di chuột qua một thủ tục, bạn sẽ thấy phần định nghĩa và vị trí của nó (script và số dòng).

Điểm ngắt
Điểm ngắt là một công cụ gỡ lỗi chính, cho phép bạn tạm dừng việc thực thi một script tại các điểm được xác định trước. Một cách dùng điển hình của điểm ngắt là trong các nhánh khác nhau của một câu lệnh điều kiện, nơi một điểm ngắt được chèn vào mỗi nhánh để kiểm tra nhánh nào được thực thi.
Cách đơn giản nhất để đặt điểm ngắt là nhấp vào lề gutter của trình soạn thảo bên cạnh một dòng mã; dòng đó sẽ được tô sáng màu đỏ. Màu tô sáng của dòng sẽ chuyển sang xanh lục nhạt khi một script đang chạy gặp điểm ngắt đó. Script có thể chạy đến điểm ngắt tiếp theo bằng lệnh Run (phím tắt: F9) hoặc bằng các lệnh chạy từng bước.

Để bật/tắt điểm ngắt cho dòng hiện tại, bạn cũng có thể dùng lệnh Run » Toggle Breakpoint từ menu chính (phím tắt: F5).
Ngoài ra, dùng lệnh Run » Add Breakpoint từ menu chính để mở hộp thoại Add New Breakpoint, tại đó bạn có thể định nghĩa một điểm ngắt mới để thêm vào bất kỳ tài liệu script hiện đang mở nào. Dùng hộp thoại này để xác định điểm ngắt sẽ được thêm vào tại số dòng nào trong tài liệu đã chọn. Trường Condition trong hộp thoại cho phép bạn định nghĩa một điểm ngắt có điều kiện, theo đó việc thực thi script sẽ chỉ dừng lại nếu điều kiện gắn với điểm ngắt trả về true; nếu không, việc thực thi sẽ tiếp tục bình thường.
Bạn cũng có thể chọn xem điểm ngắt ban đầu sẽ được đặt ở trạng thái bật hay tắt. Điểm ngắt bị tắt vẫn được định nghĩa nhưng sẽ không làm script đang chạy dừng lại khi gặp phải.
- Một điểm ngắt đang bật được biểu thị trong mã bằng phần tô sáng màu đỏ trên dòng điểm ngắt và một vòng tròn đỏ có dấu chéo ở lề (
). Một điểm ngắt bị tắt được biểu thị trong mã bằng phần tô sáng màu xanh lá trên dòng điểm ngắt và một vòng tròn xanh lá có dấu chéo ở lề (
).
- Không thể xóa trực tiếp một điểm ngắt bị tắt từ tài liệu script. Khi ở trạng thái tắt, chỉ có thể xóa nó từ panel Breakpoints.

Hộp thoại Add New Breakpoint
Lưu ý rằng điểm ngắt của script phải nằm trên một dòng lệnh. Mọi điểm ngắt được đặt trên dòng trống, dòng chú thích hoặc các dòng không phải câu lệnh khác sẽ bị bỏ qua.
Có thể truy cập các điểm ngắt qua panel Breakpoints để dễ dàng định vị và quản lý tất cả các điểm ngắt đã đặt, mà không cần duyệt qua script để tìm chúng. Panel này cung cấp thông tin về tất cả các điểm ngắt hiện được định nghĩa trong mọi tệp script đang mở (bất kể chúng thuộc script project cha nào (*.PrjScr)), đồng thời cung cấp các lệnh để thêm, bật, tắt và xóa các điểm ngắt đã chọn khi cần từ menu chuột phải.

Panel Breakpoints
Nhấp đúp vào một mục điểm ngắt trong panel (hoặc chọn lệnh Edit Source từ menu chuột phải) để đưa tài liệu script liên quan thành tài liệu đang hoạt động trong không gian thiết kế, đồng thời đặt con trỏ văn bản ở đầu dòng script mà điểm ngắt áp dụng.
Chọn lệnh Properties từ menu chuột phải để truy cập hộp thoại Breakpoint Properties cho mục điểm ngắt đã chọn. Bạn có thể dùng hộp thoại này để thay đổi trạng thái của điểm ngắt (bật/tắt) và thêm/chỉnh sửa điều kiện cho điểm ngắt khi cần. Bạn không thể thay đổi tệp mà điểm ngắt đã được thêm vào, cũng như không thể thay đổi số dòng cụ thể trong tệp đó.

Hộp thoại Breakpoint Properties
Đánh giá biểu thức
Khi một script dừng lại do điểm ngắt hoặc lỗi, giá trị của bất kỳ biểu thức nào (một câu lệnh script) đều có thể được xác định bằng tính năng ToolTip hoặc qua hộp thoại tương tác Evaluate .
Các công cụ Evaluation chủ yếu là công cụ gỡ lỗi, được dùng cùng với các panel hỗ trợ gỡ lỗi như panel Watch List và Call Stack.
ToolTip Evaluation
Tính năng ToolTip Đánh giá Biểu thức hiển thị giá trị dữ liệu hiện tại của biến mà con trỏ đang di qua.

Tính năng Evaluate
Để dùng hộp thoại Evaluate của trình soạn thảo, hãy nhấp vào một biến biểu thức trong script và chọn nút Run » Evaluate (phím tắt: Ctrl+F7). Hộp thoại sẽ tự động được điền biểu thức và kết quả hiện tại của nó.
Ngoài ra, bạn có thể sao chép một biểu thức từ script vào trường Expression của hộp thoại và nhấp Evaluate để xem kết quả. Tên biểu thức cũng có thể được nhập trực tiếp vào trường Expression để đánh giá kết quả.

Một script trong chế độ breakpoint với hộp thoại Evaluate được kích hoạt.
Biểu thức theo dõi
Biểu thức theo dõi cho phép bạn theo dõi các giá trị của biến/biểu thức khi gỡ lỗi từng bước tài liệu script hiện tại. Một biểu thức theo dõi có thể là một biến đơn hoặc một biểu thức chứa một hay nhiều biến.
Để định nghĩa các biểu thức theo dõi cho tài liệu script hiện tại, hãy dùng lệnh Run » Add Watch từ menu chính (phím tắt: Ctrl+F5). Sau khi chạy lệnh, hộp thoại Add New Watch sẽ xuất hiện. Hãy dùng hộp thoại này để định nghĩa biểu thức cần theo dõi. Ví dụ, biểu thức có thể là một biến cụ thể được dùng trong mã (ví dụ: OUT, a, Remainder), hoặc một biểu thức dựa trên một hay nhiều biến đã được định nghĩa (ví dụ: a+b, a*b, c+(b-a)).

Hộp thoại Add New Watch
Sau khi nhấp OK, biểu thức theo dõi sẽ xuất hiện trong panel Watch List. Hãy dùng panel này để xem tất cả các biểu thức theo dõi đã định nghĩa cùng một lúc. Có thể thêm, chỉnh sửa và xóa các watch từ menu bật lên bằng chuột phải của panel.

Panel Watch List
Khi bạn đi qua từng dòng mã trong tài liệu script, các biểu thức theo dõi sẽ được đánh giá và các giá trị tương ứng sẽ được cập nhật nếu script thay đổi bất kỳ biến nào được dùng trong các biểu thức đó.
Khi việc thực thi script đi vào một hàm hoặc thủ tục, một biểu thức theo dõi sẽ chỉ hợp lệ nếu các biến trong biểu thức được định nghĩa và sử dụng trong hàm hoặc thủ tục đó. Nếu một biến không khả dụng với hàm hoặc thủ tục đó (tức là không phải biến toàn cục hoặc là biến cục bộ của phần khác trong script) thì trường Value sẽ hiển thị Undeclared identifier: VariableName.
Nhấp đúp vào một mục watch trong panel hoặc nhấp phải vào một mục rồi chọn lệnh Edit Watch để truy cập hộp thoại Watch Properties, từ đó bạn có thể chỉnh sửa biểu thức cho watch đã chọn nếu cần.
Dấu trang
Dấu trang được dùng trong script để đánh dấu các câu lệnh và điều hướng đến chúng nhanh chóng. Có thể định nghĩa tối đa 10 dấu trang trong một script.
Một Dấu trang được biểu thị bằng một ô màu xanh lá trong gutter của trình soạn thảo, bên trong có số của Dấu trang. Để thêm dấu trang, hãy chọn một dòng mã, nhấp phải, chọn Toggle Bookmarks từ menu ngữ cảnh, rồi chọn một số vị trí từ menu con (Toggle Bookmarks » Set Location Mark n, trong đó 'n' là số dấu trang từ 0 đến 9).
Để đi tới (nhảy tới) một Dấu trang, nhấp phải rồi chọn Goto Bookmarks và vị trí dấu trang mong muốn từ menu con (Goto Bookmarks » Jump Location Mark n). Để xóa một Dấu trang, hãy tắt dấu trang đó bằng cách lặp lại quy trình thêm dấu trang cho dòng mã đó.
Vị trí đã lưu chỉ khả dụng khi tài liệu vẫn còn đang mở (dù đang hoạt động hay không). Nếu tài liệu bị đóng rồi mở lại, dấu vị trí sẽ trống.

Dùng dấu trang để nhanh chóng nhảy đến một câu lệnh trong script.
- Dùng các phím tắt Ctrl+n để nhảy đến một dấu trang đã tồn tại trong script (trong đó n là số dấu trang từ 0 đến 9) — ví dụ, để đi đến dấu trang số 3, nhấn các phím tắt Ctrl+3.
- Dùng các phím tắt Ctrl+Shift+n để bật/tắt một dấu trang (trong đó n là số dấu trang cần bật/tắt), hoặc di chuyển một Dấu trang đã gán đến dòng hiện tại.
Thu gọn mã
Để hỗ trợ bạn làm việc với mã, các thủ tục/hàm/chương trình con trong tài liệu được tổ chức thành các khối thu gọn mã. Các khối thu gọn mã có thể được thu gọn hoặc mở rộng để chỉ hiển thị nội dung tài liệu mà bạn cần tại thời điểm đó.
Việc sử dụng tính năng thu gọn mã, bao gồm tùy chọn hiển thị các đường thu gọn - phạm vi của từng khối mã riêng lẻ - được bật/tắt từ trang
Text Editors - Display page của hộp thoại
Preferences.
Để mở rộng/thu gọn một khối mã riêng lẻ, hãy nhấp vào điều khiển nhỏ
hoặc
, ở bên trái câu lệnh đầu tiên trong khối. Khi được thu gọn, một điều khiển
sẽ xuất hiện ở bên phải câu lệnh đầu tiên của mỗi khối mã. Di chuột qua điều khiển này sẽ hiển thị phần mã đã được thu gọn. Nhấp đúp vào điều khiển này sẽ mở rộng khối mã riêng lẻ đó.
Để mở rộng/thu gọn tất cả các khối thu gọn mã trong tài liệu hiện tại, hãy nhấp phải và chọn Outlining » Collapse All hoặc Expand All từ menu ngữ cảnh.
Các công cụ chỉnh sửa văn bản chung
Thêm mục việc cần làm
Một mục Việc cần làm, đúng như tên gọi, về cơ bản được dùng như một lời nhắc cho một tác vụ cần được thực hiện liên quan đến tài liệu ở giai đoạn sau.
Để thêm một mục To-Do tại vị trí trong tài liệu hiện tại, hãy đặt con trỏ văn bản tại vị trí đó, nhấp chuột phải và chọn Add To-Do Item từ menu ngữ cảnh. Sau khi chạy lệnh, hộp thoại Edit To-Do Item sẽ xuất hiện. Sử dụng hộp thoại này để nhập nội dung phù hợp liên quan đến tác vụ cần được thực hiện tại vị trí đó trong tài liệu. Dùng các trường có sẵn trong hộp thoại để xác định Priority cho tác vụ (từ Thấp nhất đến Cao nhất, với Normal được chọn theo mặc định), Owner của tác vụ và cả Category cho tác vụ (ví dụ: rà soát định dạng, rà soát mã, v.v.).
Sau khi đã định nghĩa mục To-Do theo yêu cầu, nhấp OK sẽ đóng hộp thoại và đưa tiêu điểm trở lại tài liệu hiện tại. Một mục nhập cho To-Do sẽ xuất hiện tại vị trí được đánh dấu bởi vị trí hiện tại của con trỏ văn bản. Mục nhập sẽ xuất hiện giữa các dấu phân cách { và }, như minh họa trong ví dụ bên dưới:
{TODO Name=Check Spelling|Priority=3|State=1|Owner=Jase|Category=Proofing|UID=UIDYOGFS}
Trong đó:
- Name là nội dung thực tế của hành động cần thực hiện.
- Priority là giá trị biểu thị mức ưu tiên được gán (Lowest = 0, Low = 1, High = 3, Highest = 4). Nếu Priority được đặt thành Normal, sẽ không có mục nhập nào được hiển thị.
- State phản ánh mục này đã được hoàn thành hay chưa. Nếu chưa, sẽ không có mục nhập nào được hiển thị. Nếu đã hoàn thành, giá trị của State sẽ là 1.
- Owner là người phụ trách được gán cho mục này.
- Category là danh mục được gán cho mục này.
- UID là mã định danh duy nhất cho mục cụ thể đó.
Tất cả các mục To-Do của dự án đang hoạt động được liệt kê trong
To-Do panel.
Thay đổi kiểu chữ hoa/thường của văn bản
Các lệnh của menu Tools » Change Case cho phép bạn thay đổi kiểu viết hoa hoặc chữ hoa/thường của đoạn văn bản được chọn hoặc của từ nằm dưới con trỏ.
- Selection To UpperCase – chọn đoạn văn bản mà bạn muốn đổi từ kiểu chữ lower sang UPPER và chạy lệnh. Phần được chọn sẽ chuyển thành chữ hoa.
- Selection To LowerCase – chọn đoạn văn bản mà bạn muốn đổi từ kiểu chữ UPPER sang lower và chạy lệnh. Phần được chọn sẽ chuyển thành chữ thường.
- Capitalize Selection – chọn đoạn văn bản mà bạn muốn viết hoa chữ cái đầu và chạy lệnh. Mỗi từ riêng biệt trong vùng chọn chưa bắt đầu bằng chữ hoa sẽ được chuyển chữ cái đầu thành chữ hoa.
- Word To UpperCase – đặt con trỏ văn bản ở đầu, cuối hoặc bất kỳ vị trí nào trong từ mà bạn muốn đổi từ kiểu chữ lower sang UPPER và chạy lệnh. Từ đó sẽ chuyển thành chữ hoa.
- Word To LowerCase – đặt con trỏ văn bản ở đầu, cuối hoặc bất kỳ vị trí nào trong từ mà bạn muốn đổi từ kiểu chữ UPPER sang lower và chạy lệnh. Từ đó sẽ chuyển thành chữ thường.
- Capitalize Word – đặt con trỏ văn bản ở đầu, cuối hoặc bất kỳ vị trí nào trong từ mà bạn muốn viết hoa chữ cái đầu và chạy lệnh. Chữ cái đầu của từ sẽ được chuyển thành chữ hoa.
Thụt lề văn bản
Để dễ đọc hơn, bạn có thể áp dụng thụt lề văn bản trong tài liệu của mình. Để tăng hoặc giảm thụt lề cho đoạn văn bản đã chọn trong tài liệu hiện tại, hãy chọn Tools » Indent hoặc Tools » Unindent từ menu chính hoặc nhấp nút
/
trên thanh công cụ Text Utilities. Phần được chọn sẽ được thụt/gỡ thụt lề theo số ký tự được chỉ định trong trường Block Indent, trên Text Editors - General page của hộp thoại Preferences.
Nếu tùy chọn Backspace unindents được bật (trên trang Text Editors - General của hộp thoại Preferences ) thì bạn có thể giảm thụt lề bằng phím Backspace . Đặt con trỏ văn bản trước ký tự đầu tiên không phải khoảng trắng trên dòng cần giảm thụt lề và nhấn Backspace. Dòng đó sẽ được giảm thụt lề, căn theo vị trí bắt đầu của các từ mới trên dòng trước đó.
Tìm kiếm và thay thế văn bản
Để cấu hình tìm kiếm một đoạn văn bản cụ thể nằm trong tài liệu hiện tại, trong tất cả tài liệu dạng văn bản của dự án đang hoạt động, trong tất cả tài liệu dạng văn bản đang mở, hoặc trong tất cả tài liệu dạng văn bản trong một thư mục chỉ định, hộp thoại Find Text được sử dụng. Có thể truy cập hộp thoại này từ Trình soạn thảo văn bản (hoặc bất kỳ biến thể có hỗ trợ mã nào của Trình soạn thảo văn bản) bằng cách chọn lệnh Edit » Find từ menu chính (phím tắt: Ctrl+F).

Hộp thoại Find Text
Về cơ bản, hộp thoại hoạt động ở hai chế độ, với chức năng được cung cấp thông qua hai tab:
- Find - sử dụng các tùy chọn trên tab này để cấu hình tìm kiếm chỉ trong tài liệu hiện tại. Sau khi nhấp OK, lần xuất hiện đầu tiên của đoạn văn bản khớp sẽ được tô sáng trong tài liệu.
- Find in Files - sử dụng các tùy chọn trên tab này để cấu hình tìm kiếm trên tất cả tài liệu dạng văn bản trong dự án đang hoạt động, tất cả tài liệu dạng văn bản đang mở, hoặc tất cả tài liệu dạng văn bản trong một thư mục chỉ định. Sau khi nhấp OK, tất cả các lần xuất hiện của đoạn văn bản khớp được tìm thấy trong các tệp thuộc phạm vi tìm kiếm sẽ được liệt kê thành các mục trong panel Messages. Mỗi thông báo sẽ phản ánh tệp nguồn, dòng chứa đoạn văn bản được tìm, toàn bộ nội dung của dòng đó, và vị trí ký tự trong dòng nơi chuỗi văn bản được tìm bắt đầu.
- Mỗi thông báo trong panel Messages có dạng (x, y): <LineText>, trong đó x là vị trí ký tự trên dòng y của tài liệu.
- Không cần phải mở tệp để tìm kiếm văn bản bằng chế độ Find in Files.
- Khi sử dụng chế độ Find in Files, bạn có thể cross-probe đến kết quả văn bản tìm được từ mục trong panel Messages - chỉ cần nhấp đúp vào thông báo.
Để tìm lần xuất hiện tiếp theo của lần tìm kiếm văn bản gần nhất đã được chỉ định bằng hộp thoại Find Text, hãy dùng lệnh Edit » Find Next từ menu chính (phím tắt: F3). Sau khi chạy lệnh, lần xuất hiện tiếp theo của văn bản được chỉ định trong trường Text to find của hộp thoại Find Text sẽ được xác định vị trí và tô sáng. Dùng lệnh này lặp lại để lần lượt chuyển qua tất cả các lần xuất hiện khác. Tính năng này áp dụng toàn bộ các tùy chọn tiêu chí tìm kiếm đã được chỉ định khi thực hiện lần tìm kiếm văn bản ban đầu.
Bật tùy chọn Find selected text on Find Next trên Text Editors - General page của hộp thoại Preferences để dùng lệnh này tìm nhanh các lần xuất hiện tiếp theo của đoạn văn bản hiện đang được chọn, thay vì đoạn văn bản đã dùng trong thao tác tìm kiếm ban đầu.
Bạn cũng có thể tìm lần xuất hiện tiếp theo của đoạn văn bản hiện đang được chọn trong tài liệu đang hoạt động bằng lệnh Edit » Find Next Selected từ menu chính (phím tắt: Ctrl+Shift+F). Sau khi chạy lệnh, lần xuất hiện tiếp theo của đoạn văn bản được chọn sẽ được chọn. Dùng lệnh lặp lại để lần lượt chuyển qua tất cả các lần xuất hiện khác. Về bản chất, tính năng này thực hiện tìm kiếm văn bản bằng hộp thoại Find Text, với đoạn văn bản đang chọn được dùng làm nội dung cho trường Text to find . Tất cả các tùy chọn tiêu chí tìm kiếm đã được chỉ định gần nhất khi thực hiện tìm kiếm văn bản bằng hộp thoại Find Text sẽ được áp dụng khi dùng tính năng này.
Để cấu hình tìm kiếm nhằm xác định vị trí và thay thế một đoạn văn bản cụ thể nằm trong tài liệu hiện tại, tất cả tài liệu dạng văn bản trong dự án đang hoạt động, tất cả tài liệu dạng văn bản đang mở, hoặc tất cả tài liệu dạng văn bản trong một thư mục chỉ định, sử dụng hộp thoại Replace Text. Có thể truy cập hộp thoại này từ Trình soạn thảo văn bản (hoặc bất kỳ biến thể có hỗ trợ mã nào của Trình soạn thảo văn bản) bằng cách chọn lệnh Edit » Replace từ menu chính (phím tắt: Ctrl+H).

Hộp thoại Replace Text
Về cơ bản, hộp thoại hoạt động ở hai chế độ, với chức năng được cung cấp thông qua hai tab:
- Replace Text - sử dụng các tùy chọn trên tab này để cấu hình thay thế văn bản chỉ trong tài liệu hiện tại. Để chỉ thay thế lần xuất hiện đầu tiên của đoạn văn bản khớp, hãy nhấp OK. Nếu tùy chọn Prompt on replace được bật, đoạn văn bản sẽ được tô sáng và một hộp thoại xác nhận thay thế sẽ xuất hiện. Nhấp Yes để chỉ thay thế lần xuất hiện này. Từ hộp thoại này, bạn cũng sẽ có cơ hội thay thế tất cả các lần xuất hiện khớp. Hoặc, để thay thế tất cả ngay từ đầu, hãy nhấp Replace All thay vì OK. Một lần nữa, tất cả các lần xuất hiện khớp của văn bản tìm kiếm sẽ hoặc được thay thế trực tiếp, hoặc được nhắc xác nhận từng lần, tùy thuộc vào trạng thái của tùy chọn Prompt on replace .
- Replace in Files - sử dụng các tùy chọn trên thẻ này để cấu hình thay thế văn bản trên tất cả các tài liệu dạng văn bản trong project đang hoạt động, tất cả các tài liệu dạng văn bản đang mở, hoặc tất cả các tài liệu dạng văn bản trong một thư mục được chỉ định. Sau khi nhấp vào OK, mọi trường hợp khớp với văn bản tìm thấy trong các tệp thuộc phạm vi tìm kiếm sẽ được thay thế. Bạn cũng có thể chọn được hỏi xác nhận trước khi thay thế bằng cách thiết lập trước tùy chọn Prompt on replace. Hộp thoại Replacing sẽ xuất hiện để hiển thị tiến trình thay thế. Mỗi lần thay thế được thực hiện sẽ được liệt kê thành các mục trong panel Messages. Mỗi thông báo sẽ phản ánh tệp nguồn, dòng chứa văn bản được tìm thấy, toàn bộ nội dung của dòng đó và vị trí ký tự trong dòng tại đó chuỗi văn bản được tìm thấy bắt đầu.
Trong mỗi trường hợp, một hộp thoại thông tin sẽ xuất hiện, tóm tắt số lượng nội dung đã được thay thế.
- Mỗi thông báo trong panel Messages có dạng (x, y): <OriginalLineText>, trong đó x là vị trí ký tự trên dòng y của tài liệu. Nội dung hiển thị là văn bản gốc, trước khi được thay thế.
- Các tệp không cần phải được mở để thay thế văn bản bằng chế độ Replace in Files. Có thể tùy chọn mở các tệp đó sau khi thay thế bằng cách bật tùy chọn Open changed files in editor trước khi thực hiện thay thế.
- Khi sử dụng chế độ Replace in Files, có thể cross-probe đến đoạn văn bản đã được thay thế từ mục trong panel Messages - chỉ cần nhấp đúp vào thông báo.
Đối với cả tìm kiếm và thay thế văn bản, xem các tùy chọn liên quan trong vùng Find, trên Text Editors - General page của hộp thoại Preferences.
Options and Controls of the Find-Replace Text Dialog
Thẻ Find/Replace Text
- Text to find - nhập chuỗi văn bản cần tìm trong tài liệu hoặc dùng danh sách thả xuống để chọn chuỗi từ các lần tìm kiếm trước.
- Replace with - nhập chuỗi văn bản dùng để thay thế văn bản tìm thấy hoặc dùng danh sách thả xuống để chọn chuỗi thay thế từ các chuỗi thay thế trước đó. Lệnh này chỉ khả dụng trong hộp thoại Replace Text.
- Options
- Case sensitive - chọn để tìm kiếm có phân biệt chữ hoa/chữ thường.
- Whole words only - chọn để chỉ tìm các từ hoàn chỉnh.
- Regular expressions - chọn để tìm kiếm bằng biểu thức chính quy.
- ^ - chỉ khớp khi chuỗi nằm ở đầu dòng.
- $ - chỉ khớp khi chuỗi nằm ở cuối dòng.
- . - biểu thị bất kỳ ký tự đơn nào (ví dụ: "te.t" khớp với "test", "text" và "tent", nhưng không khớp với "tet").
- * - biểu thị bất kỳ tập ký tự nào, kể cả không có ký tự nào (ví dụ: "te*" khớp với "text", "tent" và "te", nhưng không khớp với "t").
- + - biểu thị bất kỳ tập ký tự nào, ngoại trừ trường hợp không có ký tự nào (ví dụ: "te+" khớp với "text" và "tent", nhưng không khớp với "te").
- [ ] - tìm bất kỳ ký tự nào được đặt trong dấu ngoặc vuông.
- [^] - dấu mũ ở đầu chuỗi trong dấu ngoặc vuông có nghĩa là KHÔNG (ví dụ: "[^tes]" khớp với mọi ký tự ngoại trừ t, e hoặc s).
- [-] - dấu gạch nối trong chuỗi nằm trong dấu ngoặc vuông biểu thị một khoảng ký tự (ví dụ: "[l-o]" khớp với các ký tự l, m, n và o).
- { } - dùng để nhóm các ký tự hoặc biểu thức. Các nhóm có thể lồng nhau, với tối đa 10 nhóm trong một mẫu duy nhất.
- \ - dấu gạch chéo ngược đặt trước một ký tự đại diện sẽ yêu cầu Text Editor xử lý ký tự đó theo nghĩa đen, không phải ký tự đại diện (ví dụ: "\^test" không tìm chuỗi test ở đầu dòng; nó tìm chuỗi "^test").
- Prompt on replace - chọn để được hỏi xác nhận trước khi thay thế. Lệnh này chỉ khả dụng trong hộp thoại Replace Text.
- Search hidden text - chọn để bao gồm văn bản ẩn trong tìm kiếm.
- Wrap search - chọn để quay vòng chuỗi tìm kiếm. Lệnh này chỉ khả dụng trong hộp thoại Find Text.
- Direction - sử dụng các lựa chọn này cùng với các tùy chọn Origin để xác định vị trí bắt đầu và cách thức tìm kiếm văn bản..
- Forward - chọn để tìm kiếm tiến về phía trước từ vị trí con trỏ.
- Backward - chọn để tìm kiếm lùi về phía sau từ vị trí con trỏ.
- Scope
- Global - chọn để tìm kiếm toàn bộ tài liệu.
- Selected text - chọn để chỉ tìm kiếm trong phần văn bản hiện đang được chọn.
- Origin - sử dụng các lựa chọn này cùng với các tùy chọn Direction để xác định vị trí bắt đầu và cách thức tìm kiếm văn bản.
- From cursor - chọn để bắt đầu tìm kiếm từ vị trí con trỏ.
- Entire scope - chọn để tìm kiếm trên toàn bộ tài liệu.
Thẻ Find in Files/Replace in Files
- Text to find - nhập chuỗi văn bản cần tìm trong tài liệu hoặc dùng danh sách thả xuống để chọn chuỗi từ các lần tìm kiếm trước.
- Replace with - nhập chuỗi văn bản dùng để thay thế văn bản tìm thấy hoặc dùng danh sách thả xuống để chọn chuỗi thay thế từ các chuỗi thay thế trước đó. Lệnh này chỉ khả dụng trong hộp thoại Replace Text.
- Options
- Case sensitive - chọn để tìm kiếm có phân biệt chữ hoa/chữ thường.
- Whole words only - chọn để chỉ tìm các từ hoàn chỉnh.
- Regular expressions - chọn để tìm kiếm bằng biểu thức chính quy. Các biểu thức chính quy hợp lệ bao gồm:
- ^ - chỉ khớp khi chuỗi nằm ở đầu dòng.
- $ - chỉ khớp khi chuỗi nằm ở cuối dòng.
- . - biểu thị bất kỳ ký tự đơn nào (ví dụ: "te.t" khớp với "test", "text" và "tent", nhưng không khớp với "tet").
- * - biểu thị bất kỳ tập ký tự nào, kể cả không có ký tự nào (ví dụ: "te*" khớp với "text", "tent" và "te", nhưng không khớp với "t").
- + - biểu thị bất kỳ tập ký tự nào, ngoại trừ trường hợp không có ký tự nào (ví dụ: "te+" khớp với "text" và "tent", nhưng không khớp với "te").
- [ ] - tìm bất kỳ ký tự nào được đặt trong dấu ngoặc vuông.
- [^] - dấu mũ ở đầu chuỗi trong dấu ngoặc vuông có nghĩa là KHÔNG (ví dụ: "[^tes]" khớp với mọi ký tự ngoại trừ t, e hoặc s).
- [-] - dấu gạch nối trong chuỗi nằm trong dấu ngoặc vuông biểu thị một khoảng ký tự (ví dụ: "[l-o]" khớp với các ký tự l, m, n và o).
- { } - dùng để nhóm các ký tự hoặc biểu thức. Các nhóm có thể lồng nhau, với tối đa 10 nhóm trong một mẫu duy nhất.
- \ - dấu gạch chéo ngược đặt trước một ký tự đại diện sẽ yêu cầu Text Editor xử lý ký tự đó theo nghĩa đen, không phải ký tự đại diện (ví dụ: "\^test" không tìm chuỗi "test" ở đầu dòng; nó tìm chuỗi "^test").
- Prompt on replace - chọn để được hỏi xác nhận trước khi thay thế. Lệnh này chỉ khả dụng trong hộp thoại Replace Text.
- Search hidden text - chọn để bao gồm văn bản ẩn trong tìm kiếm.
- Where
- Search all files in project - chọn để tìm trong tất cả các tệp của project hiện tại.
- Search all open files - chọn để tìm trong tất cả các tệp đang mở.
- Search in directories - chọn để tìm trong các thư mục.
- Open changed files in editor - chọn để mở các tệp đã thay đổi.
- Search Directory Options
- File Mask - nhấp nút Browse để mở hộp thoại chọn thư mục cần tìm kiếm.
- Include subdirectories - chọn để bao gồm các thư mục con trong tìm kiếm.
Điều khiển bổ sung
- Replace All - nhấp để thay thế tất cả các chuỗi tìm thấy bằng văn bản đã nhập trong hộp văn bản Replace with. Lệnh này chỉ khả dụng trong hộp thoại Replace Text.
Nhảy đến một dòng cụ thể
Để nhảy đến một dòng cụ thể trong tài liệu hiện tại, chọn Edit » Goto Line Number từ menu chính. Sau khi chạy lệnh, hộp thoại Go to Line Number sẽ xuất hiện.

Hộp thoại Go to Line Number
Ban đầu, hộp thoại sẽ hiển thị dòng mà con trỏ văn bản hiện đang đứng. Nhập số dòng mà bạn muốn con trỏ nhảy đến vào trường New Line Number. Nếu số dòng lớn hơn số dòng hiện có trong tài liệu, hộp thoại sẽ xuất hiện lại để bạn nhập một số dòng hợp lệ. Sau khi nhấp OK, con trỏ sẽ nhảy đến cùng vị trí trên dòng được chỉ định.
Việc bật hiển thị số dòng có thể rất hữu ích. Có thể thực hiện điều này bằng tùy chọn
Show line numbers (và các tùy chọn phụ liên quan), trên
Text Editors - Display page của hộp thoại
Preferences.
Mở tài liệu dưới con trỏ
Một tài liệu mà con trỏ hiện đang đặt lên có thể được tự động mở từ text editor. Đặt con trỏ văn bản vào phần văn bản mô tả tài liệu cần mở, nhấp chuột phải và chọn Open Document Under Cursor từ menu ngữ cảnh (phím tắt: Ctrl+Enter). Tài liệu sẽ được mở và trở thành tài liệu đang hoạt động.
Ví dụ, để mở một tài liệu có tên Example_Schematic.SchDoc, trước tiên hãy đảm bảo rằng văn bản Example_Schematic.SchDoc được nhập ở đâu đó trong tài liệu văn bản hiện tại. Sau đó đặt con trỏ văn bản vào bất kỳ vị trí nào trong chuỗi này và chạy lệnh - Example_Schematic.SchDoc sẽ mở thành tài liệu đang hoạt động.
- Tính năng này không phân biệt chữ hoa/chữ thường, vì vậy kiểu chữ của văn bản nhập trong tài liệu văn bản không cần phải giống hệt với kiểu chữ của tệp thực tế cần mở.
- Tính năng này sẽ chỉ mở các tài liệu không có dấu cách trong tên tệp. Ví dụ: Example_Design_File.SchDoc và ExampleDesignFile.SchDoc đều sẽ mở được bằng tính năng này, nhưng Example Design File.SchDoc thì không.
- Tính năng này sẽ chỉ mở các tài liệu được lưu cùng vị trí trên ổ cứng với tài liệu văn bản đang thực hiện lệnh gọi. Nếu tài liệu không nằm trong thư mục đó, hộp thoại Open sẽ xuất hiện, từ đó bạn có thể duyệt đến và mở tài liệu cần thiết.
- Nếu một tài liệu đã đang mở khi có lệnh gọi được thực hiện, tài liệu đó sẽ trở thành tài liệu hiện hành.
Ngắt dòng tự động
Nếu tài liệu của bạn có các dòng văn bản dài, bạn có thể làm cho tài liệu dễ đọc hơn theo cách thủ công bằng cách chèn ký tự xuống dòng hoặc bật ngắt dòng tự động. Để quản lý ngắt dòng tự động, hãy sử dụng các lệnh trong menu chính Tools » Word Wrap:
- None – tắt chế độ ngắt dòng tự động trong tài liệu hiện tại. Sau khi chạy lệnh, văn bản được nhập vào sẽ không còn được ngắt dòng tại lề phải hoặc mép phải của cửa sổ vùng hiển thị.
- At Margin (hoặc nút
trên thanh công cụ Text Utilities) – các dòng văn bản sẽ được ngắt tại lề trong tài liệu hiện tại. Sau khi chạy lệnh, văn bản được nhập vào sẽ được ngắt tại lề phải, theo giá trị được nhập trong trường Margin width, trên trang Text Editors - Display page của hộp thoại Preferences.
- At Window (hoặc nút
trên thanh công cụ Text Utilities) – các dòng văn bản sẽ được ngắt tại mép của cửa sổ hiển thị trong tài liệu hiện tại. Sau khi chạy lệnh, văn bản được nhập vào sẽ được ngắt tại mép phải của cửa sổ vùng hiển thị.
- Bạn có thể chuyển đổi giữa các chế độ ngắt dòng tự động bất cứ lúc nào – văn bản trong tài liệu sẽ được định dạng lại để phù hợp với chế độ đã chọn.
- Ngắt dòng tự động cũng có thể được cấu hình bằng tùy chọn Word wrap (và các tùy chọn phụ liên quan) trên trang Text Editors - Display page của hộp thoại Preferences.
Chia khung hiển thị tài liệu
Bạn có thể “chia” phần hiển thị của tài liệu hiện tại thành hai phần ngang hoặc dọc riêng biệt, cho phép bạn duyệt và chỉnh sửa hai vùng khác nhau của cùng một tài liệu. Để chia cửa sổ tài liệu thành hai phần bằng nhau, hãy chọn một trong các lệnh sau:
- Window » Split Horizontally – nửa trên sẽ hiển thị một vùng bắt đầu từ đầu (phía trên) của tài liệu. Nửa dưới sẽ hiển thị một vùng bắt đầu từ vị trí trong tài liệu vốn nằm ở phía trên của cửa sổ hiển thị trước khi chạy lệnh.
- Window » Split Vertically – nửa bên trái sẽ hiển thị một vùng bắt đầu từ đầu (phía trên) của tài liệu, với thanh cuộn ngang ở hết về bên trái. Nửa bên phải sẽ hiển thị một vùng bắt đầu từ vị trí trong tài liệu vốn nằm ở phía trên của cửa sổ hiển thị trước khi chạy lệnh.
Lúc này bạn có thể tự do duyệt và chỉnh sửa các vùng khác nhau của tài liệu hiện tại (duy nhất).
Một “thanh chia” sẽ phân tách hai phần. Nhấp và kéo thanh phân chia này để thay đổi vùng tài liệu hiển thị trong mỗi phần.
Để quay lại một cửa sổ duy nhất cho tài liệu, hãy dùng lệnh Remove Split, truy cập từ menu Window. Vùng của tài liệu sẽ được hiển thị khi bỏ chế độ chia sẽ là vùng hiện đang hiển thị ở phần dưới (đối với chia ngang) hoặc ở phần bên phải (đối với chia dọc).
Nếu bạn muốn thay đổi chế độ chia từ ngang sang dọc hoặc từ dọc sang ngang, hãy dùng lệnh Split Vertically hoặc Split Horizontally, tương ứng, cũng được truy cập từ menu Window.