ভিআইএম + জেএসলিন্ট?


120

আমি আমার দিনগুলি ভিমে কাটিয়েছি, বর্তমানে প্রচুর জাভাস্ক্রিপ্ট লিখছি। আমি আমার কোডিংয়ের উন্নতি করতে জেএসলিন্ট বা ভিমের মধ্যে অনুরূপ কিছু সংহত করার উপায় খুঁজতে চেষ্টা করেছি। কেউ কি এরকম কিছু করতে পেরেছেন?

সম্পাদনা:

এটি চেষ্টা করে দেখুন: জাভাস্ক্রিপ্ট সিনট্যাক্স ভিম থেকে চেক করা হচ্ছে , দুর্ভাগ্যক্রমে আউটপুটটি খুব অশোধিত।

উত্তর:


34

আপনি জেএসলিন্ট ওয়েব-পরিষেবা + ভিআইএম ইন্টিগ্রেশন থেকে অনুবর্তনগুলি অনুসরণ করতে পারেন বা আমি যা করেছি তা করতে পারেন:

Http://jslint.webvm.net/mylintrun.js এবং http://www.jslint.com/fulljslint.js ডাউনলোড করুন এবং এগুলি আপনার পছন্দের ডিরেক্টরিতে রেখে দিন।

তারপরে mylintrun.js এর শুরুতে নিম্নলিখিত লাইনটি যুক্ত করুন:

var filename= arguments[0];

এবং mylintrun.js ("মুদ্রণ (...)") এ কোডের শেষ লাইনটি এতে পরিবর্তন করুন:

 print ( filename + ":" + (obj["line"] + 1) + ":" + (obj["character"] + 1) + ":" + obj["reason"] );

এটি mylintrun.js আউটপুটে একটি ত্রুটি তালিকা তৈরি করে যা ভিআইএম কুইকফিক্স উইন্ডো (: কপেন) এর সাথে ব্যবহার করা যেতে পারে।

এখন ভিআইএম-এ নিম্নলিখিতটি সেট করুন:

set makeprg=cat\ %\ \\\|\ /my/path/to/js\ /my/path/to/mylintrun.js\ %
set errorformat=%f:%l:%c:%m

যেখানে আপনি জেএস ফাইল রেখেছেন সেখানে স্পাইডারমনকি এবং /my/path/to/mylintrun.js এর পথে / আমার / পথ / to / js পরিবর্তন করতে হবে ।

এখন, আপনি ব্যবহার করতে পারেন : ভিআইএম তৈরি করুন এবং ত্রুটি থেকে ত্রুটি থেকে লাফিয়ে উঠতে কুইকফিক্স উইন্ডো (: তিনি কুইকফিক্স-উইন্ডো) ব্যবহার করুন ।


আপনি বাফারকে ক্যাটিং করছেন এবং মাইলিন্ট্রুনের পক্ষে যুক্তি হিসাবে এটি কেন দিচ্ছেন?
জামেসান

@ জামেসান: mylintrun.js স্ক্রিপ্ট স্টিডিন থেকে ফাইলটি পড়ে। সুতরাং ক্যাটিং এর জন্য এটি। ত্রুটি আউটপুট জন্য mylintrun.js ফাইল ফাইলও প্রয়োজন, তাই এটি একটি আর্গুমেন্ট হিসাবে দেওয়া হয়। আপনি স্টিডিন থেকে পড়ার পরিবর্তে ফাইলটি খোলার জন্য স্ক্রিপ্টটি পরিবর্তন করতে পারেন (বিড়ালটিকে অপ্রয়োজনীয় করে তোলেন)। তবে আমি এটি নিয়ে মাথা ঘামাতে চাই না ... এবং আমি বিশ্বাস করি যে আপনি যদি জাভাস্ক্রিপ্ট ইঞ্জিন ফাইল / ই ফাইল ফাইলটি সংকলন করেন তবে ফাইল পড়তে সমস্যা আছে
f3lix

আপনার মেশিনে 'স্পাইডারমনকি'র পথটি কী - আমি আমার কিছুটা পেয়েছি
ড। ফ্রাঙ্কেনস্টাইন

আমি mylintrun.js এ পেতে পারি না, সেখানে কোনও বিকল্প অবস্থান আছে। এটি মৃত বলে মনে হচ্ছে
নীলকিস

1
Mylintrun.js এবং fulljslint.js এর লিঙ্কগুলি নষ্ট হয়ে গেছে যা এই উত্তরটি কার্যকারিতার চেয়ে কম উপস্থাপন করছে কারণ এটি তাদের উপর প্রচুর পরিমাণে নির্ভর করে। কাজের ইউআরএল দিয়ে আপডেট করতে পারেন দয়া করে? অন্যথায় আমার এই উত্তরটি মুছে ফেলতে হবে যা একটি গুঁড়ো কারণ এটি দেখতে বেশ ভাল দেখাচ্ছে এবং অনেক লোককে সাহায্য করেছেন। ধন্যবাদ।
কেভ

187

আইএমও সেরা-অনুশীলন উপায়:

  1. সিনটাস্টিক ভিম প্লাগইন ইনস্টল করুন - প্রচুর ভাষার জন্য সর্বোত্তম সিনট্যাক্স-পরীক্ষক এবং এটি ভিমের অবস্থান-তালিকা (== কুইকফিক্স ) উইন্ডোর সাথে সংহত করে ।
  2. নীচের দুটি বিকল্পের মধ্যে একটি চয়ন করুন:

JSLint

  1. jslআপনার প্রিয় প্যাকেজ ম্যানেজার (উবুন্টু apt-get, ম্যাকের বাড়িbrew ইত্যাদি) ব্যবহার করে ইনস্টল করুন (জেএসলিন্ট এক্সিকিউটেবল )।

সম্প্রদায় চালিত jshint.com ( জেএসলিন্টের চেয়ে ভাল)

  1. আপনার প্রিয় প্যাকেজ পরিচালক ব্যবহার করে নোড.জেগুলি ইনস্টল করুন ।
  2. নোড প্যাকেজ ম্যানেজার ইনস্টল করুন : 'কার্ল https://npmjs.org/install.sh | শ ' সম্পাদনা: এনপিএম এখন নোড.জেসের অংশ
    • আরও তথ্যের জন্য http://npmjs.org দেখুন ।
  3. বিশ্বব্যাপী jshint ইনস্টল করুন : 'এনপিএম jshint -g ইনস্টল করুন
  4. আপনার jshint রাখুন কনফিগ আপনার ফাইল $ হোম Dir: '~ / .jshintrc'
  5. ওভাররাইট Syntastic এর syntax_checkers/javascript.vimসাহায্যে ফাইল এই এক - সম্পাদনা করুন: আর কোনো প্রয়োজন নবীনতম সঙ্গে SYNTASTIC সংস্করণ।

উপভোগ করুন! :)


1
আমি এই মুহূর্তে একটি চেষ্টা করছি। সিনটাস্টিকে ক্লোনিং করার চেষ্টা করে এবং "রেক ইনস্টল" কমান্ডটি ব্যবহার করে তারপরে আপনার সাথে জাভাস্ক্রিপ্ট.ভিম ফাইলটি প্রতিস্থাপন করে। এটি কীভাবে ব্যবহার করবেন তা এখনও বুঝতে পারছেন না: সিন্টাস্টিকএনবল যতদূর আমি দেখতে পাচ্ছি কিছুই করে না। আমি যদিও চেষ্টা চালিয়ে যাব ..
ক্লেস মোগরেন

2
ঠিক আছে, লক্ষ্য করেছেন যে সিন্টাস্টিকের জন্য ব্যালন_ভাল প্রয়োজন, যা ম্যাকভিমে সমর্থিত নয়। খুব খারাপ ..
ক্লেস মোগরেন

1
এটি যুক্ত করার চেষ্টা করুন, আশা করুন (এটির একটি প্রাকৃতিক সংস্করণ) github.com/scrooloose/syntastic/pull/47
ক্লেস

9
কেন কিছুই হচ্ছে না বলে মনে হচ্ছে তা বোঝার চেষ্টা করার জন্য আমি দীর্ঘ সময় অতিবাহিত করেছি ... যদি আপনি ওরির .jshintrc টানেন তবে সচেতন থাকুন যে "পূর্বনির্ধারিত" অবজেক্টে "গুগল" এর পরে একটি পেছনের কমা রয়েছে যার কারণে জিনশিট লোড হতে ব্যর্থ হয় এবং চুপচাপ ব্যর্থ সিন্টাস্টিক।
দ্য প্যান্টস

1
উইন্ডোজের জন্য jsl : javascriptlint.com/download.htm এছাড়াও, এই ইস্যুটির জন্য jsl.vim ফাইলে দেখুন: vim.1045645.n5.nabble.com/…
অ্যান্ড্রু

17

আর একটি বিকল্প জেসি হ্যালেট থেকে jslint.vim । এটি গিটহাবটিতে উপলভ্য এবং ভিমের কুইকফিক্স উইন্ডোটির সাথে বা ছাড়াই কাজ করে। এটি একটি দুর্দান্ত প্লাগইন!


1
এই জন্য +1। দুর্দান্ত কাজ করে। সুবিধাজনকভাবে vim.org/scriptts/script.php?script_id=2729 থেকে ডাউনলোডযোগ্য । দ্রষ্টব্য, উইন্ডোজে আপনাকে রুবি ইনস্টল করতে হবে।
mm2001

3
এছাড়াও নীচে উল্লিখিত জেএসহিন্টটি পরীক্ষা করে দেখুন।
অ্যালেক্স কাহন

প্রকল্পটি এখন আর উন্নয়নের অধীনে নেই।
অরেঞ্জটাক্স

6

নোড-লিন্ট ব্যবহার করে আমি খুব খুশি হয়েছি

sudo npm -g install jslint

তারপরে আপনার কোথাও এটিকে ধাক্কা .vim

set makeprg=jslint\ %
set errorformat=%-P%f,
        \%E%>\ #%n\ %m,%Z%.%#Line\ %l\\,\ Pos\ %c,
        \%-G%f\ is\ OK.,%-Q

এখন একটি :makejslint চালানো হবে। কুইকফিক্স উইন্ডোতে ত্রুটিগুলি উপস্থিত হয়।


3

এখানে ম্যাক ওএসের নির্দেশিকাটি নভেম্বর ২০১২-র জন্য আপডেট হয়েছে Ass ধারণা করুন নোড.জেএস পাওয়ার জন্য আপনার হোমব্রু ইনস্টল করা আছে এবং আপনি ইতিমধ্যে ভিমের জন্য সিনটাস্টিক ইনস্টল করেছেন (আমি https://github.com/carlhuda/janus ব্যবহার করি যা এটি স্বয়ংক্রিয়ভাবে সরবরাহ করে):

$ brew install node.js
$ npm install -g jshint

তারপরে আপনার পাথে '/ usr / স্থানীয় / ভাগ / এনএমপি / বিন' যুক্ত করুন (সম্ভবত ~ / .bashrc এ)) উদাহরণস্বরূপ, লাইনটি যুক্ত করুন: export PATH="$PATH:/usr/local/share/npm/bin"

আপনার টার্মিনালটি পুনরায় চালু করুন এবং এটি পরীক্ষা করুন

$ jshint

কমান্ড লাইন থেকে কার্যকর। সিনটাস্টিক স্বয়ংক্রিয়ভাবে jsHint আবিষ্কার করবে। ম্যাকভিম পুনরায় আরম্ভ করুন এবং উপভোগ করুন!


2

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

http://www.fleegix.org/articles/2008-09-06-jslint-in-vim-through-lynx

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.