跳到主要内容

Intellij IDEA

IDEfor
Intellij IDEAJVM, Java, Kotlin
WebStormWeb, NodeJS, JS, TS
PyCharmPython
GoLandGo
CLionC/C++
Rider.NET
DataGripDatabase
RubyMineRuby
AppCodeiOS, macOS
PHPStormPHP
Android StudioAndroid
信息
WebStorm
插件

特殊正则替换语法

syntaxfor
\l小写下一个字符
\u大写下一个字符
\L小写直到 \E 或 替换结束
\U大写直到 \E 或 替换结束
\E\U, \L 结束标志

实现自定义语言插件

  • Custom Language Support Tutorial
  • Language and File Type
  • Syntax Highlighter and Color Settings Page
  • Annotator
  • Line Marker Provider
  • Completion Contributor
  • Reference Contributor
  • Find Usages Provider
  • Folding Builder
  • Go To Symbol Contributor
  • Structure View Factory
  • Formatter
  • Code Style Settings
  • Commenter
  • Quick Fix

Grammar-Kit

Diff

idea diff path1 path2 path3

Index

DIR=$PWD/data
mkdir -p $DIR/{ide-system,ide-config,ide-log}

cp /Applications/apps/WebStorm/ch-0/231.9011.35/WebStorm.app/Contents/bin/idea.properties $DIR/ide.properties
cat << EOF >> $DIR/ide.properties
idea.system.path=$DIR/ide-system
idea.config.path=$DIR/ide-config
idea.log.path=$DIR/ide-log
EOF

export WEBSTORM_PROPERTIES=$DIR/ide.properties

# --compression=xz, gzip, plain
webstorm dump-shared-index project --output=$DIR/generate-output --tmp=$DIR/temp --project-dir=$HOME/gits/wenerme/wode --project-id=wode --commit=$(git -C ~/gits/wenerme/wode rev-parse HEAD)

ls $DIR/generate-output
# shared-index-project-<name>-<hash>.ijx.xz
# shared-index-project-<name>-<hash>.metadata.json
# shared-index-project-<name>-<hash>.sha256

# e.g. ~/indexes/project/<project name>/<VCS hash>/share
SHR=$HOME/temp/jb/indexes/project/wode/$(git -C ~/gits/wenerme/wode rev-parse HEAD)/share
mkdir -p $SHR/indexes
cp $DIR/generate-output/*{.ijx.xz,.metadata.json,.sha256} $SHR/indexes

./bin/cdn-layout-tool --indexes-dir=$SHR/indexes --url=http://127.0.0.1:8000/indexes
ls $SHR/indexes/project
cd $SHR

server
$PROJECT_DIR/intellij.yaml
sharedIndex:
project:
- url: http://127.0.0.1:8000/indexes/

Perfoamce