กิจกรรมการพัฒนาทั้งหมดถูกย้ายไปยังที่เก็บ cxxd และ cxxd-vim เพื่อให้ทันกับการพัฒนาล่าสุด ขอแนะนำให้ใช้ปลั๊กอิน cxxd-vim ดูส่วนแรกของคำถามที่พบบ่อยสำหรับรายละเอียดเพิ่มเติม
สารบัญ
- การเปลี่ยนแปลง
- การติดตั้ง
- การใช้งาน
- ภาพหน้าจอ
- คุณสมบัติ
- เครดิต
- คำถามที่พบบ่อย
การเปลี่ยนแปลง
- วันที่ 13 กรกฎาคม 2018
- ฟังก์ชันการทำงานหลักได้รับการแยกออกจากที่เก็บข้อมูลแยกกัน:
- cxxd การใช้งานเซิร์ฟเวอร์ภาษา C/C++
- cxxd-vim ซึ่งเป็นส่วนหน้าของ Vim ที่พัฒนาขึ้นสำหรับ
cxxd
-
Yavide
จะรวมสิ่งเหล่านั้นไว้เป็นการพึ่งพาและจะยังคงทำงานได้ตามปกติ แต่ กิจกรรมการพัฒนาและโฟกัสทั้งหมดจะถูกย้ายไปยังโปรเจ็กต์เหล่านั้น ดังนั้นเพื่อรับคุณสมบัติและความเสถียรมากขึ้น โปรดเริ่มใช้งานโดยตรงจากการกำหนดค่า Vim ทั่วไปของคุณ
- วันที่ 2 ธันวาคม 2017
- ใช้ตัวสร้างดัชนีตามเสียงดังกราว
- ดำเนินการค้นหาการอ้างอิงทั้งหมดตาม Clang
- ใช้คำนิยามแบบ Clang-based
- ดำเนินการรวมตามเสียงดังกราว
- ดำเนินการสนับสนุนเสียงดังกราวเรียบร้อย
- ดำเนินการรองรับฐานข้อมูลการคอมไพล์ JSON
- ใช้กลไกการแคชหน่วยการแปล
- การแก้ไขข้อบกพร่องต่างๆ และการปรับปรุงเล็กๆ น้อยๆ อื่นๆ
- วันที่ 12 กุมภาพันธ์ 2560
- ดำเนินการบริการหักประเภท
- เคอร์เซอร์ของเมาส์ชี้ไปที่ซอร์สโค้ดจะให้รายละเอียดเกี่ยวกับโครงสร้างพื้นฐาน (เช่น ประเภทข้อมูล ลายเซ็นของฟังก์ชัน ฯลฯ)
- วันที่ 10 กุมภาพันธ์ 2017
- ใช้งานบริการแก้ไขและวินิจฉัยตาม Clang
- กลไกที่นำไปใช้ซึ่งช่วยให้สามารถแบ่งปัน AST เดียวกันภายในบริการต่างๆ:
- เช่น เมื่อสร้าง AST แล้ว การเน้นไวยากรณ์เชิงความหมายและบริการแก้ไข Clang จะสามารถแชร์ AST เดียวกันได้
- สิ่งนี้จะมีความสำคัญอย่างยิ่งเมื่อบริการที่ใช้ Clang ที่มีน้ำหนักมากเข้ามามีบทบาท เช่น ตัวสร้างดัชนีและกลไกการเติมข้อความอัตโนมัติ
- ปรับโครงสร้างโค้ดฝั่งเซิร์ฟเวอร์ใหม่เพื่อแยกการบูรณาการเฉพาะตัวแก้ไขออกจากการใช้งานหลักของบริการ
- วันที่ 19 มกราคม 2017
- ขัดขอบคร่าวๆ รอบๆ การเน้นไวยากรณ์:
- ดำเนินการสนับสนุนสำหรับการจัดการชุดของฟังก์ชันที่โอเวอร์โหลดหรือเทมเพลตฟังก์ชัน (นิพจน์ CursorKind.OVERLOADED_DECL_REF)
- ดำเนินการสนับสนุนสำหรับการจัดการประเภทที่ต้องพึ่งพา (นิพจน์ TypeKind.DEPENDENT)
- ใช้แพตช์ที่ไม่ล่วงล้ำสำหรับ clang.cindex ช่วยให้การแวะผ่าน AST มีความยืดหยุ่นมากขึ้น
- วันที่ 28 ธันวาคม 2559
- ใช้งานบริการเน้นไวยากรณ์ของซอร์สโค้ดตาม Clang (เรียกใช้
cd /colors/yaflandia && git pull
เพื่อรับการเปลี่ยนแปลงแผนผังสีที่ต้องการ)
- วันที่ 1 กรกฎาคม 2016
- ใช้เฟรมเวิร์กไคลเอนต์-เซิร์ฟเวอร์ทั่วไป (async) ทั่วไปใหม่ ซึ่งช่วยให้สามารถส่งการดำเนินการประเภทใดก็ได้เพื่อทำงานในกระบวนการพื้นหลังที่ไม่บล็อกแยกต่างหาก (เรียกว่าบริการ) และเมื่อสามารถรายงานผลลัพธ์ที่สมบูรณ์กลับไปยังเซิร์ฟเวอร์ได้ ('Yavide')
- ใช้งานบริการใหม่ 4 รายการนอกเหนือจากเฟรมเวิร์กอะซิงก์ใหม่:
- บริการเน้นไวยากรณ์ซอร์สโค้ดแบบทันทีทันใด
- บริการจัดทำดัชนีซอร์สโค้ดแบบทันที
- บริการจัดรูปแบบอัตโนมัติตามซอร์สโค้ดแบบเสียงดังกราว
- บริการสร้างโครงการ
การติดตั้ง
ดูคู่มือการติดตั้ง
การใช้งาน
ดูการใช้งาน
ภาพหน้าจอ
ดู GIF บางส่วนที่ใช้งานจริง
รายละเอียดเพิ่มเติม ...
คุณสมบัติ
- รวมและปรับแต่งสำหรับการพัฒนา C/C++
- การจัดการโครงการ
- สร้างโปรเจ็กต์ใหม่หรือนำเข้าฐานโค้ดที่มีอยู่ลงในพื้นที่ทำงานใหม่
- นักสำรวจโครงการ
- สำรวจโครงการโดยใช้วิดเจ็ตมุมมองต้นไม้
- ผู้สร้างโครงการ
- ทริกเกอร์บิลด์ของคุณภายในสภาพแวดล้อมเพื่อให้ทำงานโดยไม่รบกวนในเบื้องหลัง
- เบราว์เซอร์คลาส
- นำเสนอภาพรวมของสัญลักษณ์ที่กำหนดไว้ในหน่วยปัจจุบัน (เช่น มาโคร โครงสร้าง คลาส วิธีการ เนมสเปซ ฯลฯ)
- ซอร์สโค้ดเติมอัตโนมัติ
- ได้รับการสนับสนุนโดยแบ็กเอนด์คอมไพเลอร์ C/C++ จริงเพื่อให้มั่นใจถึงความถูกต้องทั้งหมด
- การนำทางซอร์สโค้ด
- มีระบบสร้างแท็กอัตโนมัติเต็มรูปแบบซึ่งช่วยให้ฐานข้อมูลสัญลักษณ์ทันสมัยอยู่เสมอ
- การเน้นไวยากรณ์ซอร์สโค้ดตาม
libclang
- ให้การสนับสนุนการเน้นไวยากรณ์ที่หลากหลายมากกว่าที่
Vim
มอบให้ในตอนแรก
- การจัดรูปแบบซอร์สโค้ดอัตโนมัติ
- การสนับสนุน
clang-formatter
- การวิเคราะห์สแตติกซอร์สโค้ด
- การรวมไคลเอนต์การจัดการซอร์สโค้ด
- คุณสมบัติเบ็ดเตล็ดอื่น ๆ อีกมากมายเช่น:
- วงเล็บเติมข้อความอัตโนมัติ
- เติมข้อความธรรมดาตามบริบทโดยอัตโนมัติ
- รองรับการแก้ไขแบบเลือกได้หลายรายการ
- ข้อมูลโค้ด
- รองรับโทนสี
เครดิต
นี่คือรายการปลั๊กอิน Vim บุคคลที่สามที่ใช้ในระบบโดยเรียงตามตัวอักษร:
- เอ (https://github.com/vim-scripts/a.vim)
- Clang_complete (https://github.com/Rip-Rip/clang_complete)
- NERDCommenter (https://github.com/scrooloose/nerdcommenter)
- NERDTree (https://github.com/scrooloose/nerdtree)
- ซุปเปอร์แท็บ (https://github.com/ervandew/supertab)
- แถบแท็ก (https://github.com/majutsushi/tagbar)
- UltiSnips (https://github.com/SirVer/ultisnips)
- vim-airline (https://github.com/bling/vim-airline)
- เป็นกลุ่ม-autoclose (https://github.com/Townk/vim-autoclose)
- เป็นกลุ่มผู้ลี้ภัย (https://github.com/tpope/vim-fugitive)
- เป็นกลุ่ม-gitgutter (https://github.com/airblade/vim-gitgutter)
- เป็นกลุ่มเคอร์เซอร์หลายตัว (https://github.com/terryma/vim-multiple-cursors)
- เป็นกลุ่มเชื้อโรค (https://github.com/tpope/vim-pathogen)
คำถามที่พบบ่อย
เหตุใดการมุ่งเน้นการพัฒนาจึงถูกย้ายไปที่ cxxd และ cxxd-vim
TL;DR การแยกพื้นที่เก็บข้อมูล Yavide
เสาหินขนาดใหญ่หนึ่งแห่งออกเป็นสองพื้นที่แยกกัน ( cxxd
& cxxd-vim
) ทำให้เรามีการออกแบบแบบแยกส่วน ใช้ซ้ำได้ ทดสอบได้ และยืดหยุ่นมากขึ้น มีข้อดีอื่นๆ มากมายสำหรับแนวทางนี้ที่ต้องจดบันทึกไว้ที่นี่โดยย่อ แต่ส่วนสำคัญในตอนนี้คือตรรกะส่วนหน้า (เช่น การใช้งาน UI) ตอนนี้แยกออกจากการใช้งานแบ็กเอนด์ (คุณสมบัติเซิร์ฟเวอร์ภาษา C/C++) การพัฒนาทั้งสองนี้สามารถขับเคลื่อนแยกกันและขนานกันได้ นอกจากนี้ cxxd-vim
ยังทำงานเหมือนปลั๊กอิน Vim จริง ดังนั้นคุณไม่จำเป็นต้องใช้สคริปต์การติดตั้งแบบแฮ็กอีกต่อไป แต่เป็นวิธีการติดตั้งปกติเหมือนกับปลั๊กอิน Vim อื่นๆ (เช่น Vundle) สำหรับรายละเอียดอื่นๆ โปรดดูที่พื้นที่เก็บข้อมูลที่เกี่ยวข้อง
คำถามอื่นๆ
ดูคำถามที่พบบ่อย