Hướng dẫn phpmd vscode - phpmd vscode

VSCODE PHP MESSION

Hướng dẫn phpmd vscode - phpmd vscode

Đặc trưng

  • Phân tích mã nguồn PHP của bạn khi lưu với máy dò lộn xộn PHP
  • Không cần thiết lập bổ sung nếu PHP được cài đặt trên hệ thống của bạn
  • Tùy chỉnh những quy tắc PHPMD nào được sử dụng
  • Hỗ trợ các tệp quy tắc PHPM tùy chỉnh

Cài đặt

Để cài đặt tiện ích mở rộng: Nhấn F1, nhập ext install vscode-phpmd

Sử dụng Phpmd Phpmd tích hợp

Để sử dụng máy dò Php Mess tích hợp, bạn cần có PHP trong đường dẫn của mình. Để kiểm tra, mở cửa sổ shell hoặc lệnh và nhập

"phpmd.command": "php C:/path/to/phpmd.phar"`
0, điều này sẽ trả về "php x.x.x ...". Nếu PHP nằm trong đường dẫn của bạn, bạn có thể trực tiếp sử dụng tiện ích mở rộng này, không cần thiết lập thêm.

Sử dụng Phpmd Phpmd tùy chỉnh hoặc thực thi

Nếu bạn muốn tùy chỉnh lệnh phát hiện chuyển đổi PHP mặc định, ví dụ: Bạn có máy dò Php Mess được cài đặt toàn cầu thông qua trình soạn thảo hoặc có sẵn PHP trên một vị trí khác, bạn có thể tùy chỉnh lệnh với cài đặt

"phpmd.command": "php C:/path/to/phpmd.phar"`
1.

Cấu hình

Các tùy chọn cấu hình sau đây có sẵn:

phpmd.command:

Tùy chỉnh lệnh phát hiện PHP Mess. Nếu để trống, Lưu trữ Phpmd Phpmd tích hợp sẽ được thực thi và PHP cần có sẵn trên đường dẫn của bạn. Nếu bạn muốn sử dụng Phpmd Phar khác, bạn có thể tùy chỉnh lệnh ở đây.

Examples:

Để sử dụng phpmd được cài đặt trên toàn cầu với trình soạn thảo trên máy Windows, đã đặt cài đặt này thành:

"phpmd.command": "C:/Users/{USER}/AppData/Roaming/Composer/vendor/bin/phpmd.bat"

Hoặc để sử dụng PHPMD của riêng bạn trên một vị trí tùy chỉnh:

"phpmd.command": "php C:/path/to/phpmd.phar"`

Khắc phục bảo mật trong phiên bản 1.3.0: Trước phiên bản 1.3.0 có thể đặt

"phpmd.command": "php C:/path/to/phpmd.phar"`
2 thông qua cài đặt không gian làm việc. Điều này không may mở ra các khả năng cho một cuộc tấn công thực thi mã từ xa. Như vậy, kể từ phiên bản 1.3.0, cài đặt này bị vô hiệu hóa ở cấp độ không gian làm việc để giải quyết vấn đề này. Mặc dù vậy, tôi hiểu rằng một số người dùng đã sử dụng cài đặt không gian làm việc này trong công việc hàng ngày của họ, do đó vẫn có thể ghi đè cài đặt PHPMD.Command thông qua cài đặt không gian làm việc thông qua cài đặt PHPMD.unSafeCommand. Cài đặt này bị vô hiệu hóa theo mặc định, sử dụng rủi ro của riêng bạn, xem phần giải thích tại cài đặt PHPMD.unSafeCommandEnables. Before version 1.3.0 it was possible to set
"phpmd.command": "php C:/path/to/phpmd.phar"`
2 through workspace settings. This unfortunately opened possibilities for a remote code execution attack. As such, since version 1.3.0, this setting is disabled at workspace level to address this issue. I do understand though that some users used this workspace setting in their day to day work therefore it is still possible to override the phpmd.command setting through workspace settings via the phpmd.unsafeCommand setting. This setting is disabled by default, use at your own risk, see the explanation at the phpmd.unsafeCommandEnabled setting.

phpmd.unsafeCommand:

Tùy chỉnh lệnh phát hiện Php Mess từ Cài đặt không gian làm việc. Cài đặt này bị bỏ qua theo mặc định nếu

"phpmd.command": "php C:/path/to/phpmd.phar"`
3 không được đặt thành
"phpmd.command": "php C:/path/to/phpmd.phar"`
4.

CẢNH BÁO: Xin lưu ý rằng việc sử dụng cài đặt này sẽ mở ra khả năng tấn công thực thi mã từ xa. Xem giải thích tại cài đặt

"phpmd.command": "php C:/path/to/phpmd.phar"`
3.

PHPMD.UnsafeCommandEnables:

Bật tùy chỉnh lệnh phát hiện PHP Mess từ Cài đặt không gian làm việc. Mặc định là

"phpmd.command": "php C:/path/to/phpmd.phar"`
6. Cài đặt này không thể được đặt trong cài đặt không gian làm việc.

CẢNH BÁO: Xin lưu ý rằng việc cho phép cài đặt này mở ra khả năng tấn công thực thi mã từ xa. Khi mở một thư mục từ một nguồn không tin cậy, thư mục đã mở có thể có thư mục .vscode với tệp settings.json xác định cài đặt

"phpmd.command": "php C:/path/to/phpmd.phar"`
7. Lệnh được định cấu hình sẽ được thực thi ngay khi tệp PHP được mở trong không gian làm việc. Tác giả của mã không đáng tin cậy có thể thực thi bất kỳ lệnh nào trên hệ thống của bạn thông qua cài đặt này, dẫn đến hệ thống của bạn có thể bị xâm phạm. Sử dụng có nguy cơ của riêng bạn.

phpmd.rules:

Tùy chỉnh các tệp quy tắc PHPMD được sử dụng. Tùy chọn này cũng có thể đưa đường dẫn đến tệp quy tắc PHPMD tùy chỉnh. Sử dụng cài đặt không gian làm việc của mã vs để kiểm soát các quy tắc hoặc tệp quy tắc cho mỗi không gian làm việc. Khi đặt đường dẫn vào tệp quy tắc và đường dẫn bắt đầu bằng "~/" Điều này sẽ được thay thế bằng hệ điều hành homedir. Chuỗi "$ {WorkspaceFolder}" trong một đường dẫn đến tệp quy tắc sẽ được thay thế bằng đường dẫn tuyệt đối đến thư mục trong không gian làm việc liên quan đến tệp đang được xác thực. Tham khảo tài liệu của PHPMD để biết thêm thông tin về tham số quy tắc.

Examples:

Chỉ sử dụng quy tắc CleanCode và bỏ qua tất cả các loại khác:

"phpmd.rules": "cleancode"

Vượt qua danh sách các quy tắc của dấu phẩy:

"phpmd.rules": "cleancode,codesize"

Chuyển đường dẫn đến tệp quy tắc:

"phpmd.rules": "C:/path/to/phpmd_config.xml"

Chuyển đường dẫn đến tệp quy tắc nằm trong thư mục nhà:

"phpmd.rules": "~/phpmd_config.xml"

Chuyển đường dẫn đến tệp quy tắc nằm trong thư mục không gian làm việc:

"phpmd.rules": "${workspaceFolder}/phpmd_config.xml"

phpmd.verbose:

Bật hoặc tắt ghi nhật ký. Tất cả các mục nhật ký có thể được xem bảng điều khiển đầu ra của mã. Nói chung, điều này có thể được tắt (mặc định) trừ khi bạn cần khắc phục sự cố.

Examples:

Để kích hoạt ghi nhật ký từ:

"phpmd.verbose": true

Yêu cầu hệ thống

  • PHP_Depend> = 2.0.0
  • PHP> = 5.3.9
  • Phần mở rộng Php XML

Xử lý sự cố

  • Bật đăng nhập dài dòng qua cài đặt và kiểm tra đầu ra
  • Đặt câu hỏi về Gitter
  • Tìm thấy một lỗi? Tệp một vấn đề (bao gồm nhật ký)

Đóng góp

Nếu bạn tìm thấy một lỗi hoặc có thể giúp thêm một tính năng mới vào tiện ích mở rộng này, bạn có thể gửi bất kỳ mã nào thông qua yêu cầu kéo. Các yêu cầu cho một yêu cầu kéo được chấp nhận là:

  • Thêm các bài kiểm tra đơn vị cho tất cả mã mới (không được bỏ bảo hiểm mã))
  • Thêm nhận xét của JSDOC vào tất cả "những thứ"
  • Đảm bảo không có vi phạm TSLint (xem TSLint.json)

Trước khi đóng góp cũng đảm bảo bạn đã quen thuộc với sự phát triển của máy chủ ngôn ngữ của VSCode

Cài đặt tất cả các phụ thuộc bằng sợi

Lịch sử

Xem khách hàng/changelog.md

Sự nhìn nhận

  • Những người đứng sau PHPMD
  • Nhóm Microsoft VSCode cho VSCode và VSCode-Languageerver-Node.
  • Quentin Dreyer cho giải pháp thay thế Homedir của anh ấy (https://github.com/qkdreyer)
  • Shane Smith cho các bản sửa lỗi chính tả của anh ấy (https://github.com/shane-smith)
  • Ryotek để báo cáo sự cố bảo mật PHPMD.Command (https://twitter.com/ryotkak)