আমি কি js2- মোডের জন্য সিনট্যাক্স পরীক্ষকটি বন্ধ বা স্যুইচ করতে পারি?


13

আমার একটি ডিফল্ট সেটআপ আছে js2-mode। এটি দুর্দান্ত সিনট্যাক্স হাইলাইটিং এবং চেকিং সরবরাহ করে তবে আমি এখন বিভিন্ন প্রকল্পের স্টাইলের একটি প্রকল্পে কাজ করছি (বিশেষত এই নতুন প্রকল্পটি সেমিকোলন ব্যবহার করে না)।

এর ফলে কোডের প্রতিটি একক লাইন js2-modeসতর্কতার সাথে আন্ডারলাইন করা যায় :missing ; after statement

সিনট্যাক্স চেক ইন নিষ্ক্রিয় করতে পারি এমন কোন উপায় আছে কি js2-mode?

বা, আরও ভাল, একটি বৈকল্পিক সিনট্যাক্স চেকার ব্যবহার করার উপায় আছে?

আমার কাছে ফ্লাইচেক মোড ইনস্টল করা আছে এবং আমার .jsফাইলগুলির জন্য এটি চলছে তবে আমার কাছে কেবল কোনও সিনট্যাক্স চেকার সক্ষম নেই (যেমন সমস্ত চেকার সেট করা আছে nilএবং not found)। এর মধ্যে কীভাবে একটি সক্ষম করতে এবং এটির মধ্যে বিল্টটি অক্ষম করতে হয় তা জেনে রাখা ভাল js2

আমি জানি যে সেমিকোলন সন্নিবেশ সম্পর্কে মতামতগুলি পৃথক হয় তবে এই প্রকল্পটি অনুসরণ করে "standard style"যার জন্য ফ্লাইচেকে একটি সিনট্যাক্স চেকার রয়েছে এবং আমি যদি আমি চেকারটি স্যুইচ করতে পারি তবে আমি আগ্রহী।

উত্তর:


17

সতর্কতাটি জেএস 2 মোড থেকে এসেছে যা জাভাস্ক্রিপ্টের জন্য নিজস্ব পার্সার প্রয়োগ করে এবং কয়েকটি বিষয়ে সতর্ক করে। অন্য উত্তরে উল্লিখিত হিসাবে আপনি যে সতর্কতাটি লক্ষ্য করেছেন সেটি ব্যবহারকারী বিকল্প দ্বারা নিয়ন্ত্রিত হয় js2-strict-missing-semi-warningযা আপনি nilআপনার init ফাইলটিতে সেট করতে পারেন বা M-x customizeসতর্কতাটি বন্ধ করার জন্য via

JS2 মোড একসঙ্গে ব্যবহার করার সময় Flycheck সঙ্গে আমরা সাধারণত ভেরিয়েবল সেট করে JS2 মোড সব সতর্কবার্তা বন্ধ করতে সুপারিশ js2-mode-show-parse-errorsএবং js2-mode-show-strict-warningsকরতে nilযেমন প্রায় সব ক্ষেত্রেই Flycheck এর সিনট্যাক্স পরীক্ষণ উচ্চতর এরর রিপোর্টিং প্রদান করে।


javascript-standardবর্তমান বাফার ব্যবহারের জন্য সিনট্যাক্স পরীক্ষক নির্বাচন করতে C-c ! s javascript-standard.dir-locals.elনিম্নলিখিত বিষয়বস্তু সহ আপনি প্রকল্পের শীর্ষ স্তরের ডিরেক্টরিতে একটি ফাইল তৈরি করে আপনি আপনার নির্দিষ্ট প্রকল্পের জন্য এই সিনট্যাক্স পরীক্ষককে স্থায়ীভাবে সক্ষম করতে পারেন :

((js2-mode
  (flycheck-checker . javascript-standard)))

ইম্যাকস ডিরেক্টরিটির নীচে কোনও ফাইল দেখার সময় এই ডিরেক্টরিটি ভেরিয়েবলগুলি স্বয়ংক্রিয়ভাবে লোড করে এবং এভাবে স্বয়ংক্রিয়ভাবে আপনার প্রকল্পের জন্য স্ট্যান্ডার্ড সিনট্যাক্স পরীক্ষককে বেছে নিয়েছে।


কিছু কারণে, js2-mode-show-parse-errorsসেট করার nilপরেও, আমি এখনও ত্রুটিগুলি দেখতে পাই: C-h v js2-mode-show-parse-errorsরিটার্ন js2-mode-show-parse-errors is a variable defined in js2-mode.el'. Its value is nil. Original value was t তবে আমি এখনও নীচের লাইনগুলি দেখতে পাচ্ছি। কেন এমন হতে পারে জানেন?
স্টারটেক

আহ, আপনার উত্তরে একটি ছোট প্রকার রয়েছে, আমি বিশ্বাস করি আপনি বোঝাতে চেয়েছিলেন js2-mode-show-strict-warnings nil। আমি এটি সম্পাদনা হিসাবে যুক্ত করেছি।
স্টারটেক

@ স্টারটেক ওহ দুঃখিত আমার ভুল সংশোধন করার জন্য ধন্যবাদ।
চন্দ্রগ্রহণ

2

আপনি js2-strict-missing-semi-warningভেরিয়েবলটি nilএমনভাবে কাস্টমাইজ করতে পারেন যাতে এটি আপনাকে এই বিশেষ সমস্যার জন্য সতর্ক করে না বা এর js-modeপরিবর্তে আপনি ব্যবহার করতে পারেন js2-mode

দুটি বিকল্পের মধ্যে আমি আপনার স্টাইল গাইড পরিবর্তন করার পরামর্শ দিচ্ছি; জেএসে স্বয়ংক্রিয় সেমিকোলন সন্নিবেশ একটি ফাঁদ। তবুও, আমি জানি যে এটি সর্বদা সম্ভব না।


4
-1: দয়া করে শেষ অনুচ্ছেদটি সরান, এটি অফ-টপিক। জাভাস্ক্রিপ্ট শৈলীর আলোচনা এই সাইটের জন্য নয়।
চন্দ্রদৈর্ঘ্য

3
না, ধন্যবাদ. আমি জাভাস্ক্রিপ্টের 20 বছরের অভিজ্ঞতার সাথে ইঞ্জিনিয়ার হিসাবে এই পরামর্শটি দিচ্ছি। অবশ্যই স্থানীয় কনভেনশনগুলির সাথে মানিয়ে নেওয়ার জন্য ইম্যাক্সটি মানিয়ে নেওয়া উপযুক্ত (এবং এটিই ইমাকসই সবচেয়ে ভাল) তবে কিছু জিনিস মূল্যবান হওয়ার চেয়ে বেশি সমস্যাযুক্ত এবং স্বয়ংক্রিয় সেমিকোলন সন্নিবেশ সেই তালিকার শীর্ষে রয়েছে। এটিকে সরিয়ে রেখে, জেএস 2-মোডের আচরণটি টুইট করা আপনার সেরা বিকল্প, কারণ এটি সবচেয়ে সহজ। আমি যদিও ফ্লাইমেক সম্পর্কে কিছু জানি না, তাই আমি আপনাকে সেখানে সহায়তা করতে পারি না।
db48x
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.