Công việc hằng ngày
Sử dụng tiện ích mở rộng ArchiBot VS Code
Sử dụng ArchiBot trong VS Code với một workspace ArchiBot được quản lý, với một thư mục Archibus cục bộ, hoặc khi không mở thư mục nào.
Cập nhật lần cuối
ArchiBot là tiện ích mở rộng VS Code dành cho công việc phát triển Archibus. Nó có thể chạy trong ba tình huống thực tế:
- Workspace ArchiBot được quản lý — trải nghiệm đầy đủ, với ứng dụng, cơ sở dữ liệu, thông tin xác thực được quản lý, nhật ký runtime, liên kết ứng dụng và ngữ cảnh ArchiBot theo phạm vi workspace.
- Thư mục Archibus cục bộ — hỗ trợ trình soạn thảo cho các tệp cục bộ, bao gồm các tính năng ngôn ngữ AXVW và xác thực khi cấu trúc dự án hiện diện.
- Không mở thư mục nào — chỉ có thiết lập tài khoản, tình trạng của extension, tài liệu và các điểm vào chat chung.
Tiện ích mở rộng vẫn hữu ích bên ngoài workspace, nhưng đó không phải cùng một chế độ. Các công cụ cơ sở dữ liệu, điều khiển Tomcat, nhật ký runtime, thông tin xác thực của workspace được quản lý và ngữ cảnh workspace đã chọn đều yêu cầu một workspace ArchiBot được quản lý.
Sử dụng trong workspace được quản lý
Đây là đường dẫn thông thường cho công việc Archibus đầy đủ.
- Mở My Workspaces trong Console.
- Khởi động một workspace hiện có hoặc tạo một workspace từ Create Workspace.
- Khi hàng đó đang chạy, bấm Browser để mở code-server, hoặc mở menu của hàng và chọn VS Code Desktop.
- Mở bảng ArchiBot từ thanh bên của trình soạn thảo.
Trong Browser, workspace mở ở thư mục ứng dụng, thường là /home/codespace/applications. ArchiBot đã được cài sẵn trong trình soạn thảo của workspace. Nó có thể thấy cấu trúc dự án được quản lý, afm-projects.xml đã cấu hình, các liên kết ứng dụng đang chạy, và cơ sở dữ liệu/công cụ mà Console đã cấp phát.
Dùng chế độ này khi bạn cần:
- xác thực các view AXVW so với dự án workspace;
- yêu cầu ArchiBot đọc tệp dự án hoặc chỉnh sửa;
- kiểm tra cơ sở dữ liệu workspace đã cấu hình thông qua các công cụ chỉ đọc được hỗ trợ;
- mở Tomcat, log, Git Health, hoặc các liên kết hỗ trợ runtime;
- dùng chat ArchiBot được quản lý mà không cần dán khóa.
Sử dụng với thư mục cục bộ
Dùng chế độ cục bộ khi bạn có mã nguồn Archibus trên máy tính hoặc trong một bản checkout kho lưu trữ khác, nhưng bạn không ở trong workspace ArchiBot.
- Cài đặt tiện ích mở rộng ArchiBot trong VS Code.
- Mở thư mục chứa ứng dụng Archibus, hoặc một thư mục cha nằm trên đó một hoặc hai cấp.
- Chỉ tin cậy workspace nếu bạn tin cậy các tệp.
- Mở một tệp AXVW hoặc tệp XML liên quan.
Tiện ích mở rộng tìm các dạng gốc Archibus phổ biến, bao gồm applications, schema, WEB-INF, và WEB-INF/config/afm-projects.xml. Nó cũng kiểm tra các bố cục lồng nhau nông, nên các kho lưu trữ có gốc Archibus nằm dưới một hoặc hai thư mục so với thư mục đã mở vẫn có thể tự cấu hình.
Nếu archibot-lsp chưa được cài trên host của bạn, extension sẽ dùng binary LSP được đóng gói sẵn từ bộ extension. Bạn không nên cần cài một binary LSP riêng cho đường dẫn extension công khai thông thường.
Nếu thư mục chỉ chứa một tệp .axvw độc lập, ArchiBot vẫn khởi động các tính năng ngôn ngữ AXVW cục bộ. Xác thực nghiêm ngặt dựa trên metadata sẽ tắt cho đến khi một tệp afm-projects.xml được cấu hình hoặc phát hiện, nên một thư mục thông thường sẽ không tạo cảnh báo kết nối cơ sở dữ liệu.
Chế độ cục bộ phù hợp cho:
- cú pháp AXVW, symbol outline, hover documentation và đi tới định nghĩa;
- rà soát nhanh mã nguồn Archibus cục bộ;
- xác thực tệp dự án khi có
afm-projects.xml; - dùng các luồng chat được lưu trữ hoặc thiết lập tài khoản không cần quyền truy cập runtime của workspace.
Chế độ cục bộ không tạo cơ sở dữ liệu, không chạy Tomcat, không gắn Shared Drive, và không cấp thông tin xác thực workspace được quản lý. Nếu một lệnh cần những thứ đó, hãy tạo hoặc khởi động một workspace được quản lý.
Trạng thái LSP cục bộ
Bài kiểm tra smoke WebCentral cục bộ gần nhất vào ngày 30 tháng 6 năm 2026 đã dùng một bản checkout webcentral-202502 cục bộ trên host và binary LSP Linux được đóng gói từ bộ extension. Kết quả của kiểm tra LSP đóng gói có thể lặp lại như sau:
| Tính năng | Kết quả cục bộ | Ghi chú hiệu năng |
|---|---|---|
Khởi động LSP và phát hiện afm-projects.xml | Đạt | LSP được đóng gói khởi động với helper strict đi kèm và đường dẫn dự án AFM cục bộ. |
Thư mục .axvw độc lập | Đạt trong các bài kiểm tra trực tiếp và UI đã cài | Một thư mục tạm thời chỉ có một tệp, không có WEB-INF, không có schema, và không có afm-projects.xml đã khởi động các tính năng LSP chỉ cục bộ với xác thực metadata nghiêm ngặt bị tắt và không có cảnh báo kết nối cơ sở dữ liệu. |
| Symbol outline của tài liệu | Đạt | Phản hồi outline đầu tiên trả về trong khoảng 0,4 giây. |
| Hover docs cho các trường AXVW, giá trị lệnh, SQL nhúng và JavaScript nhúng | Đạt | Hover của trường trả về trong khoảng 0,5 giây ở lần đầu và ngay lập tức ở các lần lặp lại. Tài liệu hover bao gồm văn bản Open Documentation đáng tin cậy, và bài kiểm tra smoke code-server đã cài đặt chứng minh rằng liên kết đó mở phần xem trước tài liệu nhúng. Các hover JavaScript trong cùng view xác thực chuỗi getMessage(...), View.panels.get(...) và View.dataSources.get(...) đã được phân giải, đồng thời nêu rõ các mục tiêu cục bộ bị thiếu thay vì đưa ra liên kết chết. Hover metadata bảng SQL vẫn có thể mất gần một giây ở yêu cầu đầu tiên. |
| Đi tới định nghĩa cho wiring datasource | Đạt | Định nghĩa được phân giải ngay lập tức trong probe được đóng gói. |
| Tìm tham chiếu cho wiring datasource | Đạt | Các tham chiếu được trả về ngay lập tức trong probe được đóng gói. |
| Làm nổi bật tài liệu và liên kết | Đạt cho các tham chiếu AXVW cục bộ | Các điểm làm nổi bật datasource được trả về ngay lập tức và hiển thị trong bài kiểm tra smoke code-server đã cài đặt. Các liên kết tham chiếu cục bộ XML + JS chỉ có sẵn cho các mục tiêu cùng view đã biết như messages, panels, dataSources và các thành viên controller. Các tham chiếu chưa phân giải sẽ không được liên kết và được giải thích qua văn bản hover. |
| Thu gọn và Expand Selection | Đạt | Các phạm vi thu gọn dùng phân cấp AXVW/XML và bỏ qua các đoạn thu gọn một dòng. Expand Selection đi từ giá trị thuộc tính lên toàn bộ thuộc tính rồi đến các phần tử chứa nó. Bài kiểm tra smoke code-server đã cài đặt quan sát được cả một vùng datasource được thu gọn và một phạm vi lựa chọn mở rộng hiển thị. |
| CodeLens tham chiếu | Đạt cho các định nghĩa có tín hiệu cao | Các định nghĩa datasource và panel được tham chiếu sẽ có CodeLens tham chiếu thưa, mở giao diện tham chiếu gốc của VS Code. Bài kiểm tra smoke UI code-server đã cài đặt hiển thị văn bản CodeLens tham chiếu và mở References peek gốc cho một tham chiếu datasource. |
| Inlay hints | Đạt cho ngữ cảnh bảng suy luận thưa | Các panel và field dựa trên datasource nhưng không có bảng tường minh sẽ hiển thị inlay hint suy luận table <name>. Mảnh kiểm tra đầu tiên của gói cố ý không chú thích markup đã khai báo sẵn bảng, và bài kiểm tra smoke UI code-server đã cài đặt hiển thị inlay hint bảng suy luận. |
| Signature help | Đạt cho các lệnh JavaScript Archibus phổ biến | Trợ giúp tham số xuất hiện cho các API đang được focus như View.openDialog, View.panels.get, View.dataSources.get, View.controllers.get, getMessage, View.showMessage, View.confirm, View.createController, và getFieldValue. Bài kiểm tra smoke UI code-server đã cài đặt hiển thị trợ giúp tham số View.openDialog. |
| Tìm kiếm symbol trong workspace | Đạt cho các kết quả AXVW đang hoạt động và chưa mở | abContacts trả về datasource abContacts_ds cùng các panel khớp mà không có các field con chỉ khớp thông qua container datasource. Các tìm kiếm symbol không rỗng có thể quét các tệp .axvw chưa mở trong phạm vi ngân sách giới hạn, và bài kiểm tra smoke code-server đã cài đặt hiển thị symbol cho tệp nháp đang hoạt động và cho một view WebCentral thực chưa mở. Kết quả đầu ra với truy vấn rỗng bị giới hạn ở 50 kết quả đã lập chỉ mục và không quét đĩa, nhưng vẫn rất rộng. |
| Gợi ý hoàn thành khi LSP đang hoạt động | Đạt | Hoàn thành kiểu panel hiện chỉ trả về các giá trị panel-type hợp lệ trong cả probe LSP được đóng gói và bài kiểm tra smoke UI code-server đã cài đặt. Hoàn thành field datasource có thể suy ra bảng datasource và gợi ý các field contact; các gợi ý dựa trên metadata lặp lại trả về từ cache ngay lập tức. Hoàn thành chuỗi View.panels.get("...") trả về id panel cục bộ mà không có các global XML hoặc JavaScript chung chung. |
| Diagnostics và quick fixes | Đạt | Một AXVW nháp với vấn đề hợp đồng event-handler đã tạo ra diagnostics và quick fixes. |
| Prepare rename và semantic tokens | Đạt cho các client có hỗ trợ | Prepare-rename chọn phạm vi giá trị symbol, và giao diện UI đã kiểm tra mở hộp nhập rename cho một datasource id. Semantic tokens được quảng bá khi client khai báo hỗ trợ, bao gồm các khối JavaScript nhúng thô, và bài kiểm tra smoke code-server đã cài đặt hiện lấy mẫu các màu token được render khác nhau. |
Hãy xem kết quả LSP cục bộ như bằng chứng ở cấp gói cộng với một lát cắt UI đã cài đặt có trọng tâm, không phải là tương đương hoàn toàn với desktop. Bài kiểm tra smoke code-server đã cài đặt hiện bao phủ văn bản CodeLens được render, inlay hints, workspace symbols cho các tài liệu AXVW đang hoạt động và chưa mở, document highlights, điều hướng Ctrl-click tham chiếu cục bộ, prepare rename, References peek, signature help, hover docs và việc mở liên kết trong tài liệu hover, văn bản hover cho tham chiếu chưa phân giải, completion kiểu panel, lấy mẫu màu semantic-token, Expand Selection, và folding. Các completion JavaScript/controller rộng hơn, thứ tự/nhóm kết quả workspace-symbol, các tham chiếu tài liệu như document links, và lập chỉ mục chéo workspace sâu hơn vẫn cần phạm vi client rộng hơn. Workspace được quản lý vẫn là đường dẫn được hỗ trợ khi bạn cần đầy đủ runtime Archibus, cơ sở dữ liệu, và ngữ cảnh thông tin xác thực được quản lý.
Sử dụng khi không mở thư mục nào
Khi không mở thư mục nào, VS Code không có thư mục gốc của dự án. Extension vẫn có thể hiển thị trạng thái cài đặt, các đường dẫn tài khoản/thiết lập, liên kết tài liệu, và các điểm vào chat giới hạn, nhưng không thể khởi động language server đối với một dự án hoặc chạy các công cụ workspace.
Dùng chế độ không có thư mục cho:
- xác nhận extension đã được cài đặt;
- kết nối tài khoản ArchiBot khi luồng đó khả dụng;
- mở tài liệu và hỗ trợ;
- đặt câu hỏi chung không phụ thuộc vào tệp cục bộ hoặc workspace được quản lý.
Mở một thư mục khi bạn muốn các công cụ ở cấp tệp. Khởi động một workspace được quản lý khi bạn muốn các công cụ cho ứng dụng, cơ sở dữ liệu, runtime, hoặc thông tin xác thực được quản lý.
Tôi nên chọn chế độ nào?
| Nhu cầu | Chế độ tốt nhất |
|---|---|
| Làm việc trên một ứng dụng WebCentral của khách hàng với ngữ cảnh cơ sở dữ liệu và runtime | Workspace được quản lý |
| Chỉnh sửa hoặc xác thực các tệp AXVW/XML cục bộ từ một bản checkout kho lưu trữ | Thư mục cục bộ |
| Xác nhận cài đặt, đọc tài liệu, hoặc kết nối quyền truy cập tài khoản | Không mở thư mục nào |
| Dùng liên kết Tomcat, nhật ký runtime, DB Explorer, hoặc ngữ cảnh ArchiBot được quản lý | Workspace được quản lý |
| Dùng VS Code Desktop thay cho Browser cho cùng workspace được quản lý | Workspace được quản lý được khởi chạy từ My Workspaces |
Khắc phục sự cố
Nếu xác thực cục bộ không tìm thấy dự án của bạn, hãy mở trực tiếp gốc Archibus hoặc thư mục cha chứa nó. Đường dẫn extension công khai phát hiện các gốc chuẩn và các gốc lồng nhau nông; các bố cục tuỳ chỉnh sâu hơn có thể cần đặt archibot.workspaceRoot hoặc archibot.afmProjectsPath trong cài đặt workspace.
Nếu language server không khởi động, hãy kiểm tra kênh đầu ra ArchiBot. Một bộ extension hiện tại nên bao gồm archibot-lsp; bản thân việc thiếu binary trên host không nên chặn khởi động.
Nếu một lệnh cơ sở dữ liệu, Tomcat, log, hoặc runtime không khả dụng, hãy xác nhận bạn đang ở trong workspace được quản lý. Các thư mục cục bộ không có các dịch vụ được quản lý đó trừ khi nhóm của bạn cấu hình riêng.
Hướng dẫn liên quan
- Quản lý workspace — khởi động, dừng, cập nhật và mở trình soạn thảo workspace từ Console.
- Làm việc bên trong workspace của bạn — những gì đã được cài sẵn khi code-server mở.
- Sử dụng workspace bot — dùng ArchiBot bên trong một workspace đang chạy.
- Sử dụng ArchiBot Chat — chat trên trình duyệt bên ngoài trình soạn thảo.
Hoàn tất khi
- Bạn biết mình đang dùng workspace được quản lý, thư mục cục bộ hay không có thư mục nào.
- Bạn có thể khởi chạy Browser hoặc VS Code Desktop từ My Workspaces khi có workspace được quản lý.
- Bạn biết những công cụ của extension nào không khả dụng nếu không có workspace được quản lý.