NppAutoIndentni sozlash yoki yaxshi moslashtirilgan alternativa bormi?

Men yaqinda Notepad++ uchun NppAutoIndent plaginidan foydalanishni boshladim va Smart Indent rejimidan juda mamnun bo‘ldim, lekin uning sozlanishi mumkin bo‘lgan afzalliklari yo‘qligi zerikarli deb hisoblayman, chunki Smart Indent rejimida bir nechta xatti-harakatlar bor, ularni o‘zgartirishni xohlayman/ o'zgartirish. Men plaginning manba kodini o‘zgartirish va kerakli xatti-harakatlarga erishish uchun uni qayta kompilyatsiya qilish haqida o‘yladim, lekin menda Visual Studio 2010 va plagin uchun loyiha VS 2003 loyihasiga o'xshaydi va men Visual Studio'dan C/C++ loyihalari uchun foydalanishni to'liq boshlovchiman. Loyihani VS 2010 ga o'tkazishda berilgan ba'zi ogohlantirishlar bilan shug'ullanishni qaerdan boshlashni ham bilmayman.

Qisqasi: NppAutoIndent plaginiga ko'proq moslashtirilgan alternativa bormi yoki VS 2010 uchun manba loyihasini yangilashning yaxshiroq yo'li bormi?

YANGILANISH:

Bu erda ogohlantirishlarning aksariyati. Ularning ko'pchiligi ahamiyatsiz bo'lib tuyuladi, ammo qaysi biriga e'tibor berish kerakligiga ishonchim komil emas.

  • C/C++ kompilyatori uchun istisnolarni qayta ishlash kalitlari o'zgarishi sababli, /EHsc ushbu loyihada avtomatik ravishda /EHa ga aylantirildi.
  • “C:[...]\NppAutoIndent\project\NppAutoIndent.vcxproj” yangi loyiha fayliga aylantirish tugallandi.
  • Visual C++ loyihalari oʻrnatilgan (standart boʻyicha) Windows SxS manifestini ishlab chiqarish talabi tufayli loyihadagi manifest fayllari endi Manifest Tool bilan avtomatik tarzda quriladi. To'g'ri ishlashi uchun siz tuzilmangizni o'zgartirishingiz kerak bo'lishi mumkin. Misol uchun, har qanday manifest fayllaridagi bog'liqlik ma'lumotlarini manba kodingizdan kiritilgan sarlavha faylida "#pragma comment(linker,"")" ga aylantirish tavsiya etiladi. Agar loyihangiz manifestni RT_MANIFEST resurs bo'limiga resurs (.rc) fayli orqali joylashtirgan bo'lsa, loyiha to'g'ri tuzilishidan oldin qatorga izoh berish kerak bo'lishi mumkin.
  • C++ kompilyatoridagi muvofiqlik o'zgarishi sababli, loyihangiz xatosiz tuzilishidan oldin kodni o'zgartirish talab qilinishi mumkin. C++ kompilyatorining oldingi versiyalari aʼzo funksiyasi koʻrsatkichlarini aʼzo funksiya nomi (masalan, MemberFunctionName) boʻyicha spetsifikatsiya qilishga ruxsat berdi. C++ standarti operator manzili (masalan, &ClassName::MemberFunctionName) yordamida toʻliq malakali nomni talab qiladi. Agar loyihangizda Windows Forms Designer-da ishlatiladigan shakllar yoki boshqaruv elementlari bo'lsa, InitializeComponent-da kodni o'zgartirishingiz kerak bo'lishi mumkin, chunki dizayner delegatlar qurilishida mos kelmaydigan sintaksisni yaratgan (hodisalar ishlov beruvchilarida ishlatiladi).
  • Ushbu ilova Windows Vista’ning foydalanuvchi hisobini boshqarish (UAC) funksiyasi bilan bog‘liq sozlamalarni o‘z ichiga olishi uchun yangilangan. Odatiy bo'lib, Windows Vista'da UAC yoqilgan holda ishga tushirilganda, ushbu ilova uni ishga tushirgan jarayon bilan bir xil imtiyozlar bilan ishlaydi deb belgilangan. Ushbu belgi, shuningdek, dasturni virtualizatsiya bilan ishlashni o'chirib qo'yadi. UAC bilan bog'liq sozlamalarni loyihaning mulk sahifalarida o'zgartirishingiz mumkin.
  • "VCCLCompilerTool" ning "Detect64BitPortabilityProblems" atributi ushbu versiyada qo'llab-quvvatlanmaydi va konvertatsiya paytida o'chirib tashlangan.
  • VCWebServiceProxyGeneratorTool endi qo'llab-quvvatlanmaydi. Asbob loyiha sozlamalaringizdan olib tashlandi.
  • C/C++ kompilyator kaliti /Og eskirgan va loyiha sozlamalaringizdan olib tashlandi. Buning o'rniga /O1 yoki /O2 dan foydalanish tavsiya etiladi.
  • VCConvertEngine, VCCLCompilerTool vositasi ostida GlobalOptimizations = TRUE atributini aylantira olmadi.
  • "VCCLCompilerTool" ning "Detect64BitPortabilityProblems" atributi ushbu versiyada qo'llab-quvvatlanmaydi va konvertatsiya paytida o'chirib tashlangan.
  • "VCLinkerTool" ning "OptimizeForWindows98" atributi ushbu versiyada qo'llab-quvvatlanmaydi va konvertatsiya paytida o'chirib tashlangan.
  • VCConvertEngine, VCCLCompilerTool vositasi ostida GlobalOptimizations = TRUE atributini aylantira olmadi.
  • "VCCLCompilerTool" ning "Detect64BitPortabilityProblems" atributi ushbu versiyada qo'llab-quvvatlanmaydi va konvertatsiya paytida o'chirib tashlangan.
  • "VCLinkerTool" ning "OptimizeForWindows98" atributi ushbu versiyada qo'llab-quvvatlanmaydi va konvertatsiya paytida o'chirib tashlangan.
  • "VCCLCompilerTool" ning "Detect64BitPortabilityProblems" atributi ushbu versiyada qo'llab-quvvatlanmaydi va konvertatsiya paytida o'chirib tashlangan.
  • MSB8012: $(TargetName) ('NppAutoIndent') 'Debug|Win32' loyiha konfiguratsiyasidagi '..\build\NppAutoIndentA_D.dll' ('NppAutoIndentA_D') bog'lovchining OutputFile xususiyati qiymatiga mos kelmaydi. Bu sizning loyihangizni noto'g'ri qurishga olib kelishi mumkin. Buni tuzatish uchun $(TargetName) xususiyat qiymati %(Link.OutputFile) da koʻrsatilgan qiymatga mos kelishiga ishonch hosil qiling.
  • MSB8012: $(TargetPath) ('C:[...]\NppAutoIndent\project..\build\Debug\NppAutoIndent.dll') bog'lovchining OutputFile xususiyati qiymatiga mos kelmaydi '..\build\NppAutoIndentA_D.dll' ( 'C:[...]\NppAutoIndent\build\NppAutoIndentA_D.dll') 'Debug|Win32' loyiha konfiguratsiyasida. Bu sizning loyihangizni noto'g'ri qurishga olib kelishi mumkin. Buni tuzatish uchun $(TargetPath) xususiyat qiymati %(Link.OutputFile) da koʻrsatilgan qiymatga mos kelishiga ishonch hosil qiling.
  • MSB8012: $(TargetName) ("NppAutoIndent") "Release|Win32" loyiha konfiguratsiyasidagi "..\build\NppAutoIndentA.dll" ("NppAutoIndentA") bog'lovchining OutputFile xususiyati qiymatiga mos kelmaydi. Bu sizning loyihangizni noto'g'ri qurishga olib kelishi mumkin. Buni tuzatish uchun $(TargetName) xususiyat qiymati %(Link.OutputFile) da koʻrsatilgan qiymatga mos kelishiga ishonch hosil qiling.
  • MSB8012: $(TargetPath) ('C:[...]\NppAutoIndent\project..\build\Release\NppAutoIndent.dll') bog'lovchining OutputFile xususiyati qiymatiga mos kelmaydi '..\build\NppAutoIndentA.dll' ( 'C:[...]\NppAutoIndent\build\NppAutoIndentA.dll') 'Release|Win32' loyiha konfiguratsiyasida. Bu sizning loyihangizni noto'g'ri qurishga olib kelishi mumkin. Buni tuzatish uchun $(TargetPath) xususiyat qiymati %(Link.OutputFile) da koʻrsatilgan qiymatga mos kelishiga ishonch hosil qiling.
  • MSB8012: $(TargetPath) ('C:[...]\NppAutoIndent\project..\build\Release Unicode\NppAutoIndent.dll') Linkerning OutputFile xususiyati qiymatiga mos kelmaydi "..\build\NppAutoIndent.dll" ('C:[...]\NppAutoIndent\build\NppAutoIndent.dll') loyiha konfiguratsiyasida 'Unicode|Win32 chiqaring'. Bu sizning loyihangizni noto'g'ri qurishga olib kelishi mumkin. Buni tuzatish uchun $(TargetPath) xususiyat qiymati %(Link.OutputFile) da koʻrsatilgan qiymatga mos kelishiga ishonch hosil qiling.
  • MSB8012: $(TargetName) ("NppAutoIndent") "Debug Unicode|Win32" loyiha konfiguratsiyasidagi "..\build\NppAutoIndent_D.dll" ("NppAutoIndent_D") Linkerning OutputFile xususiyati qiymatiga mos kelmaydi. Bu sizning loyihangizni noto'g'ri qurishga olib kelishi mumkin. Buni tuzatish uchun $(TargetName) xususiyat qiymati %(Link.OutputFile) da koʻrsatilgan qiymatga mos kelishiga ishonch hosil qiling.
  • MSB8012: $(TargetPath) ('C:[...]\NppAutoIndent\project..\build\Debug Unicode\NppAutoIndent.dll') Linkerning OutputFile xususiyati qiymatiga mos kelmaydi '..\build\NppAutoIndent_D.dll' ('C:[...]\NppAutoIndent\build\NppAutoIndent_D.dll') 'Debug Unicode|Win32' loyiha konfiguratsiyasida. Bu sizning loyihangizni noto'g'ri qurishga olib kelishi mumkin. Buni tuzatish uchun $(TargetPath) xususiyat qiymati %(Link.OutputFile) da koʻrsatilgan qiymatga mos kelishiga ishonch hosil qiling.

person JAB    schedule 28.04.2011    source manba


Javoblar (1)


VS2010 da VS 2003 loyihasini oching; dialog sizni konvertatsiya orqali olib boradi. Siz shunchaki ko'rsatmalarni o'qib chiqishingiz va tegishli tugmani bosishingiz kerak.

Chekishga kelsak, Asboblar ---> Variantlar-ga o'ting, Tilni (C++) tanlang va formatlash-ga o'ting. U erda bir qator variantlarni ko'rishingiz mumkin, uni ehtiyojlaringizga qarab o'zgartiring.

Buning uchun sizga Notepad++ umuman kerak emas. BTW, men Notepad++ ning ashaddiy foydalanuvchisiman va uning sevimli muharririman.

Umid qilamanki, bu yordam beradi.

person Sujay Ghosh    schedule 04.05.2011
comment
Men konvertatsiya jarayoni haqida juda ko'p bilardim; Muammo shundaki, NppAutoIndent loyihasi VS 2010 da mavjud bo'lmagan narsalarga juda ko'p havolalar qilganga o'xshaydi va men ularni yangilashning eng yaxshi usulini yoki hatto yangilash kerak bo'lsa ham, tushunish uchun etarli ma'lumotga ega emasman. (Ularning koʻpchiligi atrof-muhit oʻzgaruvchilari va shunga oʻxshashlar kabi koʻrinadi, men ishonaman.) Va VS 2010 da chekinish opsiyalarini oʻzgartirish bu yerda muammo emas, NppAutoIndent dasturining bir nechta jihatlarini oʻzgartirmoqchiman. ...Men konvertatsiyani qayta boshlayman va javobimga maxsus ogohlantirishlarni joylashtiraman. - person JAB; 04.05.2011
comment
Ogohlantirishlarning aksariyati sozlamalarga tegishli. Shunday qilib, keling, bu yo'lni sinab ko'raylik. Agar siz NppAutoIndent qanday turdagi loyiha ekanligini bilsangiz ( Konsol ilovasi / DLL / Kutubxona) , avval bo'sh loyiha yarating (masalan, bo'sh Console ilovasi/ DLL/ Lib). Barcha NPPAutoIndent soucre fayllaridan yaqinda yaratilgan loyiha katalogiga nusxa oling .Har bir faylni/mos keladigan sarlavhalarni loyihaga qoʻshib koʻring . Aytaylik, siz abc.cpp/abc.h ni qo'shdingiz, keyin loyihani kompilyatsiya qiling, u xyz topilmaganidan shikoyat qiladi, keyin xyz ni qo'shing va hokazo. Shunday qilib, qanday sozlamalar eskirganligi haqida tashvishlanishingiz shart emas. - person Sujay Ghosh; 04.05.2011