इंटेलीज में, मैं ऊंट मामले और अंडरस्कोर के बीच कैसे टॉगल करता हूं?


109

मेरी कंपनी में हमारे पास जावा बनाम एसक्यूएल के लिए दो अलग-अलग स्टाइल गाइड हैं। जावा में मेरा नाम फील्ड है historyOfPresentIllnessऔर जब मैं sql लिखता हूं, तो मैं इसे नाम देना चाहता हूं history_of_present_illness। क्या मेरे पास वाक्यांश हाइलाइट होने पर एक से दूसरे में स्विच करने के लिए एक कीबोर्ड शॉर्टकट है? या शायद एक प्लगइन जो ऐसा कर सकता है?

जब मैं पूछ रहा हूं, तो मैं यह भी पूछ सकता हूं कि क्या कोई रास्ता historyOfPresentIllnessहै history-of-present-illness। यह जावा से क्लोजर शैली तक है।

जवाबों:


186

मैं स्ट्रिंग मेनिपुलेशन नामक एक प्लगइन का उपयोग करता हूं जिसमें आपके द्वारा (और अधिक) की योग्यता है।

का चयन करें historyOfPresentIllnessऔर प्रेस Alt+ M, तो प्रेस प्लगइन मेनू लाने के लिए:

  • 5- to snake_case (या camelCase) जो धर्मान्तरित करता हैhistory_of_present_illness
  • 6 - हाइफ़न-केस में (या स्नेक_केस में) जो परिवर्तित हो जाता हैhistory-of-present-illness

इसे आसान बनाने के लिए, आप एक शॉर्टकट सेट कर सकते हैं File | Settings | Keymap


"ऊंट" के लिए प्लगइन भंडार का एक त्वरित खोज से पता चला है एक प्लगइन बुलाया केमलकेस है जो वास्तव में क्या आप के साथ देख रहे हैं SHIFT+ ALT+ Uविभिन्न स्वरूपों के बीच टॉगल करके:

historyOfPresentIllness-> history_of_present_illness-> HISTORY_OF_PRESENT_ILLNESS-> HistoryOfPresentIllness->historyOfPresentIllness

हालाँकि, इसे आज़माने के बाद, इस प्लगइन के साथ एक बग प्रतीत होता है जो आपको किसी भी परिवर्तन को पूर्ववत करने से रोकता है। अद्यतन: ऐसा प्रतीत होता है कि यह बग अब थोड़ी देर के लिए तय किया गया है, इसलिए शायद CamelCase प्लगइन जाने का रास्ता है।


1
@tieTYT हाँ, यह बहुत कष्टप्रद है क्योंकि आपको एक पॉप-अप संदेश मिलता है जो आपको बताता है कि फ़ाइल में परिवर्तन हैं जो पूर्ववत नहीं किए जा सकते ... यदि इसके लिए नहीं, तो यह अधिक सुविधाजनक विकल्प होता।
DannyMo

2
@tieTYT मेरे पास बस इतना हुआ कि पहले दृष्टिकोण को सरल बनाने के लिए, आप एक मैक्रो रिकॉर्ड कर सकते हैं Edit > Macros > Start recording macroऔर फिर अपने मैक्रो के लिए एक साधारण की-मैपिंग जोड़ सकते हैंSettings > Keymap > Macros > YourMacro (right-click > Add Keyboard Shortcut)
DannyMo

स्ट्रिंग मैनिपुलेशन में अब सभी प्रकार के मामलों के बीच टॉगल करने के लिए कार्य शामिल हैं ... आप किसी भी कार्रवाई के लिए एक शॉर्टकट सेट कर सकते हैं (कुछ डिफ़ॉल्ट होने के लिए उनमें से बहुत सारे हैं)।
मेओ

@ डैनीमो - मेरे लिए, यह 5है SCREAMING_SNAKE_CASEऔर Jइसके लिए है Trim all spaces। Mac OS X 10.10.5, PhpStorm 10.0.1, स्ट्रिंग मैनिप्युलेशन 4.1.135.445.1 का उपयोग करना।
पैंग

मैं पुष्टि कर सकता हूं कि CamelCase प्लगइन IntelliJ 2016.2.3 के साथ ठीक काम करता है
Wim Deblauwe

45

ढूँढें / बदलें पैनल Clr + Fखोलने और [ge] Regex पिछले regex की प्रतिलिपि बनाने के लिए बहुत ही सरल प्रेस

खोजें: [_]{1,1}([a-z])

बदलने के: \U$1

[सभी बदलें] बटन दबाएं, आनंद लें


धन्यवाद के लिए @piotrek _some_awe_varको_someAweVar

उपयोग खोजें: (\w)[_]{1,1}([a-z])
बदलें:$1\U$2


2
बस पूर्णता के लिए, CamelCase से snake_case रहे हैं: लगता है ([A-Z]{1,1})और द्वारा की जगह _\l$1दोनों के साथ, Regex और मैच केस optiones टॉगल।
dic19

यह बहुत अच्छा है, लेकिन टाइपस्क्रिप्ट में, अक्सर निजी सदस्य एक के साथ शुरू होते हैं _और यह उन्हें पूंजीकृत करना शुरू कर देगा।
स्टैक अंडरफ्लो

1
@StackUnderflow उपयोग खोजें: (\w)[_]{1,1}([a-z]) प्रतिस्थापित करें: $1\U$2
Qamar

7

Snake_case से CamelCase तक

  • खोजें: (\w)[_]{1,1}([a-z])
  • बदलने के: $1\U$2
  • समायोजन:
    • माचिस की डिबिया
    • regex

CamelCase से snake_case तक:

  • खोजें: ([A-Z])
  • बदलने के: \_\L$1
  • समायोजन:
    • माचिस की डिबिया
    • regex

3

ऊपर उत्तर लगभग पूर्ण है, लेकिन ध्यान दें कि यह की तरह चर बदल जाएगा _somethingया this._somethingमें Somethingऔर this.Something। मैं नहीं चाहता था कि मेरे मामले में, अग्रणी _ का उपयोग "निजी" चर (पुराने JS प्रोजेक्ट) को निरूपित करने के लिए किया गया था। मैंने इस दृष्टिकोण को थोड़ा संशोधित किया:

खोजें: (\ w) [_] {११} ([az])

बदलें: $ 1 \ U $ 2

यह सुनिश्चित करेगा कि _बीच में केवल चर ही प्रभावित होंगे।


1
, अपने "ऊपर" हर किसी की "ऊपर" नहीं है तो बचने का उपयोग कर "ऊपर" कृपया या "नीचे" इस साइट पर सामग्री का वर्णन करने के लिए, लेखक का नाम देना धन्यवाद - "ऊपर" व्यर्थ है क्योंकि उत्तर छाँटा जा सकता है
एरिक अया

"उपर्युक्त" उत्तर संदर्भित है @Qamar
स्टैक

0

यदि आप PyCharm के साथ भी ठीक कर रहे हैं, तो हमें "Rename" टूल (Refactor> Rename) लॉन्च करें। विंडो ड्रॉप डाउन सूची के साथ पॉप अप होती है और आपको सूची में पाठ का स्नेक_केस संस्करण देखना चाहिए (आप विंडो खोल सकते हैं और की-स्ट्रोक के साथ स्नेककेस पर स्विच कर सकते हैं ताकि यह बहुत तेज़ हो सके)।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.