天冷了 发表于 2023-5-22 07:51:48

请教一下各位大神,有没有什么方法可以给lsp程序自动排.....

请教一下各位大神,有没有什么方法可以给lsp程序自动排版的?
有时候国外下载的程序,或者复制过来的代码,排版非常错乱。
如下一个例子:
请问有没有什么程序或者插件,可以达到直接给lsp自动排版的效果。
我知道notepad++ ,有一个插件可以给html自动排版的,但是给lsp自动排版的插件,我没有找到。
麻烦知道方法的朋友,帮忙解答一下,谢谢了。




; This routine runs the code in the active editor of NotePad++ from AutoCAD:(defun C:n++ nil (C:RunFromNotePadPP)) ; Quick Run(defun C:RunFromNotePadPP ( / scr *error* err np++ npeditor npSS npMS r ); NOTE: Requires ActiveX plugin(by David Gausmann) installed on the NP++   ;    (defun *error* (m)    (foreach x (reverse (list np++ npeditor npSS npMS))      (vl-catch-all-apply (function vlax-release-object) (list x))    )    (gc) (gc)    (and msg (or (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*") (princ (strcat "\nError: " msg)))) (princ)); defun *error*   (setq err    (vl-catch-all-apply      (function         (lambda nil ; THIS WORKS - IT GETS THE ACTIVE DOCUMENT CODE IN NOTEPAD !!!          (setq np++ (vlax-get-or-create-object "NotepadPlusPlus.Application"))          (setq npeditor (vlax-get np++ 'ActiveEditor))          (vlax-invoke-method npeditor 'selectAll)          (setq npSS (vlax-get npeditor 'selections))          (setq npMS (vlax-get npSS 'mainSelection))          (setq r (vlax-get-property npMS 'text))          (vlax-invoke npSS 'setRange 0 0 0 0)      ); lambda       ); function    ); vl-catch-all-apply); setq err    (*error* nil)(princ)(if (and r (not (vl-catch-all-error-p err)))    (eval (read (strcat "(list\n" r "\n)"))))); defun


lee50310 发表于 2023-5-23 18:47:37

本帖最后由 lee50310 于 2023-5-24 09:35 编辑

方法如下:
1. AutoCad 視窗面板-->工具(T) -->AutoLisp -->Visual Lisp編輯器 如圖(1)
2. 在 Visual Lisp編輯器 按 Ctrl-N 開啟新檔 如圖(2)
3. 將要編排的 程式碼複製 貼上在 Visual Lisp編輯器內 如圖(3) ,圖(4)
4. 點選格式編輯 便可重排 程式碼如圖(5)
5. 在 Visual Lisp編輯器 將排好程式碼 另存新檔


(圖一)



(圖二)



(圖三)



(圖四)



(圖五)






天冷了 发表于 2023-5-25 10:29:03

lee50310 发表于 2023-5-23 18:47
方法如下:
1. AutoCad 視窗面板-->工具(T) -->AutoLisp -->Visual Lisp編輯器 如圖(1)
2. 在 Visual Lisp編 ...

太感谢版主的解答了,真心感谢。

天冷了 发表于 2023-5-25 10:29:19

我马上试试看,晚点回复你。

桃子 发表于 2023-5-25 11:31:29

notpad++,html排版,我知道叫什么名字。




天冷了 发表于 2023-5-25 14:48:23

版主,我试过了,你说的这个功能,不好用。我测试了好几次了,没效果。

风铃 发表于 2023-5-25 17:20:54

你可以试试这个《Lsp错乱代码重新排版,全自动!》

天冷了 发表于 2023-5-26 08:02:34

风铃 发表于 2023-5-25 17:20
你可以试试这个《Lsp错乱代码重新排版,全自动!》

我马上试试,谢谢了

lee50310 发表于 2023-5-26 16:57:38

本帖最后由 lee50310 于 2023-5-26 17:37 编辑

天冷了 发表于 2023-5-25 14:48
版主,我试过了,你说的这个功能,不好用。我测试了好几次了,没效果。

...
測試提供的 2個程式文字檔 第1個 可以 如動圖所示 , 第2個不行
因為第2個 程式都有加註解 符號";" 整段被當作註解 故無法編排
你須先將 程式內所有的註解都刪除後, 即可編排




天冷了 发表于 2023-5-27 09:14:24

lee50310 发表于 2023-5-26 16:57
測試提供的 2個程式文字檔 第1個 可以 如動圖所示 , 第2個不行
因為第2個 程式都有加註解 符號";" 整段被 ...

谢谢版主的回复,测试了一下,确实是的。谢谢你
页: [1] 2
查看完整版本: 请教一下各位大神,有没有什么方法可以给lsp程序自动排.....